Neo
0.5.0
Developer Documentation
|
Classes | |
class | AnimRange |
Describes a Range in an animation starting at a certain frame and ending at another certain frame. More... | |
class | Armature |
class | ArmatureAnim |
class | ArmatureAnimRef |
class | Behavior |
The Behavior class is an abstraction for creating behaviors. More... | |
class | BehaviorCreator |
This class is used to instanciate new behavior objects. More... | |
class | BehaviorManager |
This class manages all registered behaviors. More... | |
class | Box3d |
class | Character |
class | Color |
class | DataLoader |
class | DataManager |
class | DataRef |
class | File |
class | FileOpenHook |
class | Font |
class | FontRef |
class | Frustum |
class | FXManager |
class | FXRef |
class | Image |
class | InputContext |
class | Key |
class | Level |
The Level class contains all scenes and assets that are loaded. More... | |
class | Log |
class | Material |
The Material class contains the implementation of a material used by 3D meshes for rendering different looking surfaces. More... | |
class | MaterialAnim |
class | MaterialDisplay |
class | MaterialsAnim |
class | MaterialsAnimRef |
class | Matrix4x4 |
class | Mesh |
The Mesh class contains the implementation of a generic (i.e. file format agnostic) 3D mesh with support for armature animation, material animation and multitexturing. More... | |
class | MeshRef |
struct | Message |
The Message struct contains methods and data necessary to transmit an useful message. More... | |
class | Messenger |
The Messenger class is the host of all inboxes for all threads. More... | |
class | MorphingData |
class | MorphingPoint |
class | MorphingPose |
class | NeoEngine |
class | NeoGame |
class | NeoVariable |
The NeoVariable class defines a variable that can be of any type available in M_VARIABLE_TYPE. More... | |
class | Object3d |
The Object3d class represents a general object in a 3D scene. More... | |
class | Object3dAnim |
class | OBone |
class | OCamera |
class | OEntity |
Represents a 3D mesh in the scene. More... | |
class | OLight |
Represents a 3D light in the scene. More... | |
class | OSound |
class | OText |
class | PackageManager |
struct | PhysicsConstraint |
class | PhysicsContext |
The PhysicsContext class contains abstraction to 3D physics functionality. More... | |
class | PhysicsProperties |
The PhysicsProperties class contains all physical properties an object can possibly possess. More... | |
class | PostProcessor |
The MPostProcessor class contains functionality used to render the current scene to a texture to allow applying GLSL post effects when rendering the final image to the screen. More... | |
class | Quaternion |
struct | Range |
Implements a range data structure. More... | |
class | Renderer |
class | RendererCreator |
class | RendererManager |
class | RenderingContext |
The RenderingContext class defines an abstraction for the 3D rendering API like OpenGL. More... | |
class | Scene |
The Scene class represents a scene in a Maratis level. More... | |
class | ScriptContext |
Class used to manage script functions virtually. More... | |
class | Semaphore |
The MSemaphore class implements a semaphore mechanism based on SDL for use with MThread. More... | |
class | ShaderRef |
class | SkinData |
class | SkinPoint |
class | Skybox |
class | Sound |
class | SoundContext |
class | SoundRef |
class | StdFile |
class | String |
Implements a framework for string manipulation that operates directly on C strings. More... | |
class | SubGame |
class | SubMesh |
class | SystemContext |
This class implements a basic interface to the underlying operating system. More... | |
class | Texture |
class | TextureAnim |
class | TexturePass |
The texture pass class implements some basic primitives to manage and use multi-texture materials. More... | |
class | TextureRef |
class | TexturesAnim |
class | TexturesAnimRef |
class | Thread |
The MThread class implements a multithreading mechanism. More... | |
class | ThreadFactory |
The ThreadFactory class allows you to register any subclass of Thread and Semaphore to provide the implementation of all newly created thread objects. More... | |
class | Variable |
This templacte class is used to provide access to custom data without messing with void*'s. More... | |
class | Vector2 |
class | Vector3 |
class | Vector4 |
Typedefs | |
typedef void * | PackageEnt |
typedef void * | Package |
Functions | |
NEO_CORE_EXPORT void | M_registerFileOpenHook (FileOpenHook *hook) |
NEO_CORE_EXPORT FileOpenHook * | M_getFileOpenHook () |
NEO_CORE_EXPORT File * | M_fopen (const char *path, const char *mode) |
NEO_CORE_EXPORT int | M_fclose (File *stream) |
NEO_CORE_EXPORT size_t | M_fread (void *dest, size_t size, size_t count, File *stream) |
NEO_CORE_EXPORT size_t | M_fwrite (const void *str, size_t size, size_t count, File *stream) |
NEO_CORE_EXPORT int | M_fprintf (File *stream, const char *format,...) |
NEO_CORE_EXPORT int | M_fseek (File *stream, long offset, int whence) |
NEO_CORE_EXPORT long | M_ftell (File *stream) |
NEO_CORE_EXPORT void | M_rewind (File *stream) |
NEO_CORE_EXPORT unsigned int | getNextPowerOfTwo (unsigned int x) |
NEO_CORE_EXPORT float | loopFloat (float val, float min, float max) |
NEO_CORE_EXPORT void | sortFloatList (int indexList[], float floatList[], int start, int end) |
NEO_CORE_EXPORT void | sortFloatList (float floatList[], int start, int end) |
NEO_CORE_EXPORT bool | isBoxToBoxCollision (const Vector3 &minA, const Vector3 &maxA, const Vector3 &minB, const Vector3 &maxB) |
NEO_CORE_EXPORT bool | isBoxToBox2dCollision (const Vector2 &minA, const Vector2 &maxA, const Vector2 &minB, const Vector2 &maxB) |
NEO_CORE_EXPORT bool | isPointInBox (const Vector3 &point, const Vector3 &min, const Vector3 &max) |
NEO_CORE_EXPORT bool | isPointInBox2d (const Vector2 &point, const Vector2 &min, const Vector2 &max) |
NEO_CORE_EXPORT bool | isEdgeToBoxCollision (const Vector3 &origin, const Vector3 &dest, const Vector3 &min, const Vector3 &max) |
NEO_CORE_EXPORT bool | isEdgeToEdge2dIntersection (const Vector2 &A, const Vector2 &B, const Vector2 &C, const Vector2 &D, Vector2 *I) |
NEO_CORE_EXPORT bool | isPointInTriangle (const Vector3 &point, const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &normal) |
NEO_CORE_EXPORT bool | isLineCircleIntersection (const Vector2 &origin, const Vector2 &dest, const Vector2 &circleCenter, float circleRadius) |
NEO_CORE_EXPORT bool | isRaySphereIntersection (const Vector3 &origin, const Vector3 &direction, const Vector3 &sphereCenter, float sphereRadius, Vector3 *point) |
NEO_CORE_EXPORT bool | isRayPlaneIntersection (const Vector3 &origin, const Vector3 &direction, const Vector3 &planePoint, const Vector3 &planeNormal, Vector3 *point) |
NEO_CORE_EXPORT bool | isEdgePlaneIntersection (const Vector3 &origin, const Vector3 &dest, const Vector3 &planePoint, const Vector3 &normal, Vector3 *point) |
NEO_CORE_EXPORT bool | isEdgeTriangleIntersection (const Vector3 &origin, const Vector3 &dest, const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &normal, Vector3 *point) |
NEO_CORE_EXPORT Vector3 | getTriangleNormal (const Vector3 &a, const Vector3 &b, const Vector3 &c) |
NEO_CORE_EXPORT void | simplifyDP (float tol, Vector3 *v, int j, int k, int *mk) |
NEO_CORE_EXPORT float | linearInterpolation (float y1, float y2, float mu) |
NEO_CORE_EXPORT float | cubicInterpolation (float y0, float y1, float y2, float y3, float mu) |
NEO_CORE_EXPORT float | CatmullRomInterpolation (float y0, float y1, float y2, float y3, float mu) |
NEO_CORE_EXPORT float | HermiteInterpolation (float y0, float y1, float y2, float y3, float mu, float tension, float bias, bool begin=false, bool end=false) |
NEO_CORE_EXPORT float | HueToRGB (float v1, float v2, float vH) |
NEO_CORE_EXPORT Vector3 | RGBToHSV (Vector3 rgbColor) |
NEO_CORE_EXPORT Vector3 | HSVToRGB (Vector3 HSVColor) |
NEO_CORE_EXPORT Vector3 | RGBToHSL (Vector3 rgbColor) |
NEO_CORE_EXPORT Vector3 | HSLToRGB (Vector3 hslColor) |
void NEO_ENGINE_EXPORT | infoLog (const char *s, const char *function, const char *filename, int line) |
NEO_ENGINE_EXPORT bool | animateFloat (Key *keys, unsigned int keysNumber, float t, float *value) |
NEO_ENGINE_EXPORT bool | animateVector2 (Key *keys, unsigned int keysNumber, float t, Vector2 *vector2) |
NEO_ENGINE_EXPORT bool | animateVector3 (Key *keys, unsigned int keysNumber, float t, Vector3 *vector3) |
NEO_ENGINE_EXPORT bool | animateQuaternion (Key *keys, unsigned int keysNumber, float t, Quaternion *quaternion) |
NEO_ENGINE_EXPORT void | animateArmature (Armature *armature, ArmatureAnim *armatureAnim, float t) |
NEO_ENGINE_EXPORT void | animateTextures (Mesh *mesh, TexturesAnim *texturesAnim, float t) |
NEO_ENGINE_EXPORT void | animateMaterials (Mesh *mesh, MaterialsAnim *materialsAnim, float t) |
NEO_ENGINE_EXPORT void | computeSkinning (Armature *armature, SkinData *skinData, const Vector3 *baseVertices, const Vector3 *baseNormals, const Vector3 *baseTangents, Vector3 *vertices, Vector3 *normals, Vector3 *tangents) |
NEO_ENGINE_EXPORT bool | isRaytraced (const Vector3 &origin, const Vector3 &dest, const void *indices, VAR_TYPES indicesType, const Vector3 *vertices, unsigned int size) |
NEO_ENGINE_EXPORT bool | getNearestRaytracedPosition (const Vector3 &origin, const Vector3 &dest, const void *indices, VAR_TYPES indicesType, const Vector3 *vertices, unsigned int size, Vector3 *intersection, bool invertNormal=false) |
typedef void* Neo::Package |
typedef void* Neo::PackageEnt |
enum Neo::BLENDING_MODES |
enum Neo::BUFFER_TYPES |
Defines various types of collision shapes used for collision detection.
enum Neo::CULL_MODES |
enum Neo::DEPTH_MODES |
enum Neo::LIGHT_TYPES |
enum Neo::M_DATA_MODES |
enum Neo::M_SHADER_TYPES |
enum Neo::M_VARIABLE_TYPE |
enum Neo::MATRIX_MODES |
enum Neo::PRIMITIVE_TYPES |
enum Neo::SOUND_FORMAT |
enum Neo::STENCIL_FUNCS |
enum Neo::STENCIL_OPS |
enum Neo::TEX_GEN_MODES |
enum Neo::TEX_MODES |
enum Neo::TOUCH_PHASE |
enum Neo::VAR_TYPES |
enum Neo::VARIABLE_TYPE |
Describes which type of data is stored in an Variable object.
Enumerator | |
---|---|
VARIABLE_NULL |
A pointer to 0x0. |
VARIABLE_BOOL |
A boolean variable. |
VARIABLE_INT |
An integer variable. |
VARIABLE_UINT |
An unsigned integer variable. |
VARIABLE_FLOAT |
A float variable. |
VARIABLE_STRING |
A string variable (either const char* or Neo::String) |
VARIABLE_VEC2 |
A Vector2 variable. |
VARIABLE_VEC3 |
A Vector3 variable. |
VARIABLE_VEC4 |
A Vector4 variable. |
VARIABLE_QUAT |
A Neo::Quaternion object. |
VARIABLE_TEXTURE_REF |
A TextureRef object. |
VARIABLE_OTHER |
Some other data. |
enum Neo::VBO_MODES |
enum Neo::VBO_TYPES |
enum Neo::WRAP_MODES |
NEO_ENGINE_EXPORT void Neo::animateArmature | ( | Armature * | armature, |
ArmatureAnim * | armatureAnim, | ||
float | t | ||
) |
NEO_ENGINE_EXPORT bool Neo::animateFloat | ( | Key * | keys, |
unsigned int | keysNumber, | ||
float | t, | ||
float * | value | ||
) |
NEO_ENGINE_EXPORT void Neo::animateMaterials | ( | Mesh * | mesh, |
MaterialsAnim * | materialsAnim, | ||
float | t | ||
) |
NEO_ENGINE_EXPORT bool Neo::animateQuaternion | ( | Key * | keys, |
unsigned int | keysNumber, | ||
float | t, | ||
Quaternion * | quaternion | ||
) |
NEO_ENGINE_EXPORT void Neo::animateTextures | ( | Mesh * | mesh, |
TexturesAnim * | texturesAnim, | ||
float | t | ||
) |
NEO_ENGINE_EXPORT bool Neo::animateVector2 | ( | Key * | keys, |
unsigned int | keysNumber, | ||
float | t, | ||
Vector2 * | vector2 | ||
) |
NEO_ENGINE_EXPORT bool Neo::animateVector3 | ( | Key * | keys, |
unsigned int | keysNumber, | ||
float | t, | ||
Vector3 * | vector3 | ||
) |
NEO_CORE_EXPORT float Neo::CatmullRomInterpolation | ( | float | y0, |
float | y1, | ||
float | y2, | ||
float | y3, | ||
float | mu | ||
) |
NEO_ENGINE_EXPORT void Neo::computeSkinning | ( | Armature * | armature, |
SkinData * | skinData, | ||
const Vector3 * | baseVertices, | ||
const Vector3 * | baseNormals, | ||
const Vector3 * | baseTangents, | ||
Vector3 * | vertices, | ||
Vector3 * | normals, | ||
Vector3 * | tangents | ||
) |
NEO_CORE_EXPORT float Neo::cubicInterpolation | ( | float | y0, |
float | y1, | ||
float | y2, | ||
float | y3, | ||
float | mu | ||
) |
NEO_ENGINE_EXPORT bool Neo::getNearestRaytracedPosition | ( | const Vector3 & | origin, |
const Vector3 & | dest, | ||
const void * | indices, | ||
VAR_TYPES | indicesType, | ||
const Vector3 * | vertices, | ||
unsigned int | size, | ||
Vector3 * | intersection, | ||
bool | invertNormal = false |
||
) |
NEO_CORE_EXPORT unsigned int Neo::getNextPowerOfTwo | ( | unsigned int | x | ) |
NEO_CORE_EXPORT Vector3 Neo::getTriangleNormal | ( | const Vector3 & | a, |
const Vector3 & | b, | ||
const Vector3 & | c | ||
) |
NEO_CORE_EXPORT float Neo::HermiteInterpolation | ( | float | y0, |
float | y1, | ||
float | y2, | ||
float | y3, | ||
float | mu, | ||
float | tension, | ||
float | bias, | ||
bool | begin = false , |
||
bool | end = false |
||
) |
NEO_CORE_EXPORT float Neo::HueToRGB | ( | float | v1, |
float | v2, | ||
float | vH | ||
) |
void NEO_ENGINE_EXPORT Neo::infoLog | ( | const char * | s, |
const char * | function, | ||
const char * | filename, | ||
int | line | ||
) |
NEO_CORE_EXPORT bool Neo::isBoxToBox2dCollision | ( | const Vector2 & | minA, |
const Vector2 & | maxA, | ||
const Vector2 & | minB, | ||
const Vector2 & | maxB | ||
) |
NEO_CORE_EXPORT bool Neo::isBoxToBoxCollision | ( | const Vector3 & | minA, |
const Vector3 & | maxA, | ||
const Vector3 & | minB, | ||
const Vector3 & | maxB | ||
) |
NEO_CORE_EXPORT bool Neo::isEdgePlaneIntersection | ( | const Vector3 & | origin, |
const Vector3 & | dest, | ||
const Vector3 & | planePoint, | ||
const Vector3 & | normal, | ||
Vector3 * | point | ||
) |
NEO_CORE_EXPORT bool Neo::isEdgeToBoxCollision | ( | const Vector3 & | origin, |
const Vector3 & | dest, | ||
const Vector3 & | min, | ||
const Vector3 & | max | ||
) |
NEO_CORE_EXPORT bool Neo::isEdgeToEdge2dIntersection | ( | const Vector2 & | A, |
const Vector2 & | B, | ||
const Vector2 & | C, | ||
const Vector2 & | D, | ||
Vector2 * | I | ||
) |
NEO_CORE_EXPORT bool Neo::isEdgeTriangleIntersection | ( | const Vector3 & | origin, |
const Vector3 & | dest, | ||
const Vector3 & | a, | ||
const Vector3 & | b, | ||
const Vector3 & | c, | ||
const Vector3 & | normal, | ||
Vector3 * | point | ||
) |
NEO_CORE_EXPORT bool Neo::isLineCircleIntersection | ( | const Vector2 & | origin, |
const Vector2 & | dest, | ||
const Vector2 & | circleCenter, | ||
float | circleRadius | ||
) |
NEO_CORE_EXPORT bool Neo::isPointInBox | ( | const Vector3 & | point, |
const Vector3 & | min, | ||
const Vector3 & | max | ||
) |
NEO_CORE_EXPORT bool Neo::isPointInBox2d | ( | const Vector2 & | point, |
const Vector2 & | min, | ||
const Vector2 & | max | ||
) |
NEO_CORE_EXPORT bool Neo::isPointInTriangle | ( | const Vector3 & | point, |
const Vector3 & | a, | ||
const Vector3 & | b, | ||
const Vector3 & | c, | ||
const Vector3 & | normal | ||
) |
NEO_CORE_EXPORT bool Neo::isRayPlaneIntersection | ( | const Vector3 & | origin, |
const Vector3 & | direction, | ||
const Vector3 & | planePoint, | ||
const Vector3 & | planeNormal, | ||
Vector3 * | point | ||
) |
NEO_CORE_EXPORT bool Neo::isRaySphereIntersection | ( | const Vector3 & | origin, |
const Vector3 & | direction, | ||
const Vector3 & | sphereCenter, | ||
float | sphereRadius, | ||
Vector3 * | point | ||
) |
NEO_ENGINE_EXPORT bool Neo::isRaytraced | ( | const Vector3 & | origin, |
const Vector3 & | dest, | ||
const void * | indices, | ||
VAR_TYPES | indicesType, | ||
const Vector3 * | vertices, | ||
unsigned int | size | ||
) |
NEO_CORE_EXPORT float Neo::linearInterpolation | ( | float | y1, |
float | y2, | ||
float | mu | ||
) |
NEO_CORE_EXPORT float Neo::loopFloat | ( | float | val, |
float | min, | ||
float | max | ||
) |
NEO_CORE_EXPORT int Neo::M_fclose | ( | File * | stream | ) |
Close a file stream, if open.
stream | File stream |
NEO_CORE_EXPORT File* Neo::M_fopen | ( | const char * | path, |
const char * | mode | ||
) |
Opens a file stream with the name specified by path.
path | Path to file |
mode | Read or write mode ('r' or 'w') |
NEO_CORE_EXPORT int Neo::M_fprintf | ( | File * | stream, |
const char * | format, | ||
... | |||
) |
Produces output according to the standard printf() style format and writes to the file. Returns the number of characters written to the file (excluding the null byte used to end output strings).
stream | File stream |
format | Format string |
NEO_CORE_EXPORT size_t Neo::M_fread | ( | void * | dest, |
size_t | size, | ||
size_t | count, | ||
File * | stream | ||
) |
Reads count amount of elements of data, each size bytes long, from the file, storing them at the location given by dest. Returns the number of items successfully read. If an error occurs, or the end-of-file is reached, the return value is a short item count (or zero).
dest | Data |
size | Data element size in bytes |
count | Number of elements to read |
stream | File stream |
NEO_CORE_EXPORT int Neo::M_fseek | ( | File * | stream, |
long | offset, | ||
int | whence | ||
) |
Sets the file position indicator. The new position, measured in bytes, is obtained by adding offset bytes to the position specified by whence. If whence is set to SEEK_SET, SEEK_CUR, or SEEK_END, the offset is relative to the start of the file, the current position indicator, or end-of-file respectively.
stream | File stream |
offset | Offset position in bytes |
whence | SEEK_SET, SEEK_CUR, or SEEK_END |
NEO_CORE_EXPORT long Neo::M_ftell | ( | File * | stream | ) |
Obtains the current value of the file position indicator for the file.
stream | File stream |
NEO_CORE_EXPORT size_t Neo::M_fwrite | ( | const void * | str, |
size_t | size, | ||
size_t | count, | ||
File * | stream | ||
) |
Writes count amount of elements of data, each size bytes long, to the file, obtaining them from the location given by str. Returns the number of items successfully written.
str | Data |
size | Data element size in bytes |
count | Number of elements to write |
stream | File stream |
NEO_CORE_EXPORT FileOpenHook* Neo::M_getFileOpenHook | ( | ) |
NEO_CORE_EXPORT void Neo::M_registerFileOpenHook | ( | FileOpenHook * | hook | ) |
NEO_CORE_EXPORT void Neo::M_rewind | ( | File * | stream | ) |
Sets the file position indicator to the beginning of the file.
stream | File stream |
NEO_CORE_EXPORT void Neo::simplifyDP | ( | float | tol, |
Vector3 * | v, | ||
int | j, | ||
int | k, | ||
int * | mk | ||
) |
NEO_CORE_EXPORT void Neo::sortFloatList | ( | int | indexList[], |
float | floatList[], | ||
int | start, | ||
int | end | ||
) |
NEO_CORE_EXPORT void Neo::sortFloatList | ( | float | floatList[], |
int | start, | ||
int | end | ||
) |