Neo  0.5.0
Developer Documentation
Neo Namespace Reference

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
 

Enumerations

enum  TOUCH_PHASE {
  TOUCH_BEGIN = 0, TOUCH_UPDATE, TOUCH_END, TOUCH_CANCELLED,
  TOUCH_NONE
}
 
enum  BLENDING_MODES {
  BLENDING_NONE = 0, BLENDING_ALPHA, BLENDING_ADD, BLENDING_SUB,
  BLENDING_LIGHT, BLENDING_PRODUCT
}
 
enum  DEPTH_MODES {
  DEPTH_NONE = 0, DEPTH_ALWAYS, DEPTH_LESS, DEPTH_GREATER,
  DEPTH_EQUAL, DEPTH_LEQUAL, DEPTH_GEQUAL, DEPTH_NOTEQUAL
}
 
enum  MATRIX_MODES { MATRIX_MODELVIEW = 0, MATRIX_PROJECTION, MATRIX_TEXTURE }
 
enum  PRIMITIVE_TYPES {
  PRIMITIVE_POINTS = 0, PRIMITIVE_LINES, PRIMITIVE_LINE_LOOP, PRIMITIVE_LINE_STRIP,
  PRIMITIVE_TRIANGLES, PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN
}
 
enum  BUFFER_TYPES { BUFFER_COLOR = 2, BUFFER_DEPTH = 4, BUFFER_STENCIL = 8 }
 
enum  TEX_MODES {
  TEX_DEPTH = 0, TEX_R = 1, TEX_RG = 2, TEX_RGB = 3,
  TEX_RGBA = 4
}
 
enum  TEX_GEN_MODES { TEX_GEN_NONE = 0, TEX_GEN_SPHERE_MAP, TEX_GEN_CUBE_MAP }
 
enum  TEX_COMBINE_MODES {
  TEX_COMBINE_REPLACE = 0, TEX_COMBINE_MODULATE, TEX_COMBINE_ALPHA, TEX_COMBINE_ADD,
  TEX_COMBINE_SUB, TEX_COMBINE_DOT
}
 
enum  TEX_FILTER_MODES {
  TEX_FILTER_NEAREST = 0, TEX_FILTER_NEAREST_MIPMAP_NEAREST, TEX_FILTER_NEAREST_MIPMAP_LINEAR, TEX_FILTER_LINEAR,
  TEX_FILTER_LINEAR_MIPMAP_NEAREST, TEX_FILTER_LINEAR_MIPMAP_LINEAR
}
 
enum  WRAP_MODES { WRAP_REPEAT = 0, WRAP_CLAMP }
 
enum  CULL_MODES { CULL_NONE = 0, CULL_FRONT, CULL_BACK, CULL_FRONT_BACK }
 
enum  VAR_TYPES {
  VAR_BOOL = 0, VAR_BYTE, VAR_UBYTE, VAR_SHORT,
  VAR_USHORT, VAR_INT, VAR_UINT, VAR_FLOAT,
  VAR_DOUBLE
}
 
enum  FRAME_BUFFER_ATTACHMENT {
  ATTACH_DEPTH = 0, ATTACH_STENCIL, ATTACH_COLOR0, ATTACH_COLOR1,
  ATTACH_COLOR2, ATTACH_COLOR3, ATTACH_COLOR4, ATTACH_COLOR5,
  ATTACH_COLOR6, ATTACH_COLOR7
}
 
enum  RENDER_BUFFER_MODES { RENDER_DEPTH = 0, RENDER_STENCIL, RENDER_DEPTH_STENCIL }
 
enum  STENCIL_FUNCS {
  STENCIL_ALWAYS = 0, STENCIL_NEVER, STENCIL_EQUAL, STENCIL_NOTEQUAL,
  STENCIL_LESS, STENCIL_LEQUAL, STENCIL_GREATER, STENCIL_GEQUAL
}
 
enum  STENCIL_OPS {
  STENCIL_KEEP = 0, STENCIL_INVERT, STENCIL_DECR, STENCIL_INCR,
  STENCIL_REPLACE
}
 
enum  VBO_TYPES { VBO_ARRAY = 0, VBO_ELEMENT_ARRAY }
 
enum  VBO_MODES { VBO_STATIC = 0, VBO_DYNAMIC, VBO_STREAM }
 
enum  SOUND_FORMAT { SOUND_FORMAT_MONO8 = 0, SOUND_FORMAT_MONO16, SOUND_FORMAT_STEREO8, SOUND_FORMAT_STEREO16 }
 
enum  VARIABLE_TYPE {
  VARIABLE_NULL = 0, VARIABLE_BOOL, VARIABLE_INT, VARIABLE_UINT,
  VARIABLE_FLOAT, VARIABLE_STRING, VARIABLE_VEC2, VARIABLE_VEC3,
  VARIABLE_VEC4, VARIABLE_QUAT, VARIABLE_TEXTURE_REF, VARIABLE_OTHER
}
 Describes which type of data is stored in an Variable object. More...
 
enum  COLLISION_SHAPE_TYPE {
  COLLISION_SHAPE_BOX = 0, COLLISION_SHAPE_SPHERE, COLLISION_SHAPE_CONE, COLLISION_SHAPE_CAPSULE,
  COLLISION_SHAPE_CYLINDER, COLLISION_SHAPE_CONVEX_HULL, COLLISION_SHAPE_TRIANGLE_MESH
}
 Defines various types of collision shapes used for collision detection. More...
 
enum  LIGHT_TYPES { LIGHT_POINT = 0, LIGHT_SPOT, LIGHT_DIRECTIONAL }
 
enum  TEXT_ALIGN_MODES { TEXT_ALIGN_LEFT = 0, TEXT_ALIGN_RIGHT, TEXT_ALIGN_CENTER }
 
enum  M_VARIABLE_TYPE {
  M_VARIABLE_NULL = 0, M_VARIABLE_BOOL, M_VARIABLE_INT, M_VARIABLE_UINT,
  M_VARIABLE_FLOAT, M_VARIABLE_STRING, M_VARIABLE_VEC2, M_VARIABLE_VEC3,
  M_VARIABLE_VEC4, M_VARIABLE_QUAT, M_VARIABLE_TEXTURE_REF
}
 The M_VARIABLE_TYPE enum defines all types that are storable in an MVariable object. More...
 
enum  M_DATA_MODES { M_DATA_STATIC = 0, M_DATA_DYNAMIC, M_DATA_STREAM }
 
enum  M_SHADER_TYPES { M_SHADER_VERTEX = 0, M_SHADER_PIXEL }
 

Functions

NEO_CORE_EXPORT void M_registerFileOpenHook (FileOpenHook *hook)
 
NEO_CORE_EXPORT FileOpenHookM_getFileOpenHook ()
 
NEO_CORE_EXPORT FileM_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 Documentation

typedef void* Neo::Package
typedef void* Neo::PackageEnt

Enumeration Type Documentation

Enumerator
BLENDING_NONE 
BLENDING_ALPHA 
BLENDING_ADD 
BLENDING_SUB 
BLENDING_LIGHT 
BLENDING_PRODUCT 
Enumerator
BUFFER_COLOR 
BUFFER_DEPTH 
BUFFER_STENCIL 

Defines various types of collision shapes used for collision detection.

Enumerator
COLLISION_SHAPE_BOX 

Uses the bounding box for collision detection.

COLLISION_SHAPE_SPHERE 

Uses the bounding sphere for collision detection.

COLLISION_SHAPE_CONE 

Uses a cone that completely surrounds the object for collision detection.

COLLISION_SHAPE_CAPSULE 

Generate a capsule around the object and uses that for collision detection.

COLLISION_SHAPE_CYLINDER 

Uses a cylinder that surrounds the object for collision detection.

COLLISION_SHAPE_CONVEX_HULL 

Generates a convex hull around the object for collision detection.

COLLISION_SHAPE_TRIANGLE_MESH 

Uses the triangle mesh directly for collision detection.

Enumerator
CULL_NONE 
CULL_FRONT 
CULL_BACK 
CULL_FRONT_BACK 
Enumerator
DEPTH_NONE 
DEPTH_ALWAYS 
DEPTH_LESS 
DEPTH_GREATER 
DEPTH_EQUAL 
DEPTH_LEQUAL 
DEPTH_GEQUAL 
DEPTH_NOTEQUAL 
Enumerator
ATTACH_DEPTH 
ATTACH_STENCIL 
ATTACH_COLOR0 
ATTACH_COLOR1 
ATTACH_COLOR2 
ATTACH_COLOR3 
ATTACH_COLOR4 
ATTACH_COLOR5 
ATTACH_COLOR6 
ATTACH_COLOR7 
Enumerator
LIGHT_POINT 
LIGHT_SPOT 
LIGHT_DIRECTIONAL 
Enumerator
M_DATA_STATIC 
M_DATA_DYNAMIC 
M_DATA_STREAM 
Enumerator
M_SHADER_VERTEX 
M_SHADER_PIXEL 

The M_VARIABLE_TYPE enum defines all types that are storable in an MVariable object.

Enumerator
M_VARIABLE_NULL 
M_VARIABLE_BOOL 
M_VARIABLE_INT 
M_VARIABLE_UINT 
M_VARIABLE_FLOAT 
M_VARIABLE_STRING 
M_VARIABLE_VEC2 
M_VARIABLE_VEC3 
M_VARIABLE_VEC4 
M_VARIABLE_QUAT 
M_VARIABLE_TEXTURE_REF 
Enumerator
MATRIX_MODELVIEW 
MATRIX_PROJECTION 
MATRIX_TEXTURE 
Enumerator
PRIMITIVE_POINTS 
PRIMITIVE_LINES 
PRIMITIVE_LINE_LOOP 
PRIMITIVE_LINE_STRIP 
PRIMITIVE_TRIANGLES 
PRIMITIVE_TRIANGLE_STRIP 
PRIMITIVE_TRIANGLE_FAN 
Enumerator
RENDER_DEPTH 
RENDER_STENCIL 
RENDER_DEPTH_STENCIL 
Enumerator
SOUND_FORMAT_MONO8 
SOUND_FORMAT_MONO16 
SOUND_FORMAT_STEREO8 
SOUND_FORMAT_STEREO16 
Enumerator
STENCIL_ALWAYS 
STENCIL_NEVER 
STENCIL_EQUAL 
STENCIL_NOTEQUAL 
STENCIL_LESS 
STENCIL_LEQUAL 
STENCIL_GREATER 
STENCIL_GEQUAL 
Enumerator
STENCIL_KEEP 
STENCIL_INVERT 
STENCIL_DECR 
STENCIL_INCR 
STENCIL_REPLACE 
Enumerator
TEX_COMBINE_REPLACE 
TEX_COMBINE_MODULATE 
TEX_COMBINE_ALPHA 
TEX_COMBINE_ADD 
TEX_COMBINE_SUB 
TEX_COMBINE_DOT 
Enumerator
TEX_FILTER_NEAREST 
TEX_FILTER_NEAREST_MIPMAP_NEAREST 
TEX_FILTER_NEAREST_MIPMAP_LINEAR 
TEX_FILTER_LINEAR 
TEX_FILTER_LINEAR_MIPMAP_NEAREST 
TEX_FILTER_LINEAR_MIPMAP_LINEAR 
Enumerator
TEX_GEN_NONE 
TEX_GEN_SPHERE_MAP 
TEX_GEN_CUBE_MAP 
Enumerator
TEX_DEPTH 
TEX_R 
TEX_RG 
TEX_RGB 
TEX_RGBA 
Enumerator
TEXT_ALIGN_LEFT 
TEXT_ALIGN_RIGHT 
TEXT_ALIGN_CENTER 
Enumerator
TOUCH_BEGIN 
TOUCH_UPDATE 
TOUCH_END 
TOUCH_CANCELLED 
TOUCH_NONE 
Enumerator
VAR_BOOL 
VAR_BYTE 
VAR_UBYTE 
VAR_SHORT 
VAR_USHORT 
VAR_INT 
VAR_UINT 
VAR_FLOAT 
VAR_DOUBLE 

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.

Enumerator
VBO_STATIC 
VBO_DYNAMIC 
VBO_STREAM 
Enumerator
VBO_ARRAY 
VBO_ELEMENT_ARRAY 
Enumerator
WRAP_REPEAT 
WRAP_CLAMP 

Function Documentation

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 Vector3 Neo::HSLToRGB ( Vector3  hslColor)
NEO_CORE_EXPORT Vector3 Neo::HSVToRGB ( Vector3  HSVColor)
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.

Parameters
streamFile stream
NEO_CORE_EXPORT File* Neo::M_fopen ( const char *  path,
const char *  mode 
)

Opens a file stream with the name specified by path.

Parameters
pathPath to file
modeRead 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).

Parameters
streamFile stream
formatFormat string
Returns
Number of characters written
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).

Parameters
destData
sizeData element size in bytes
countNumber of elements to read
streamFile stream
Returns
Number of elements read
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.

Parameters
streamFile stream
offsetOffset position in bytes
whenceSEEK_SET, SEEK_CUR, or SEEK_END
Returns
The resulting location
NEO_CORE_EXPORT long Neo::M_ftell ( File stream)

Obtains the current value of the file position indicator for the file.

Parameters
streamFile stream
Returns
Current file position
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.

Parameters
strData
sizeData element size in bytes
countNumber of elements to write
streamFile stream
Returns
Number of elements written
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.

Parameters
streamFile stream
NEO_CORE_EXPORT Vector3 Neo::RGBToHSL ( Vector3  rgbColor)
NEO_CORE_EXPORT Vector3 Neo::RGBToHSV ( Vector3  rgbColor)
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 
)