## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

# Mesh plugins
[Mesh support]

## Classes

struct | csParticlesData
| Representational information of a particle. More...
struct | csPolygonRange
| A range structure for specifing polygon ranges. More...
struct | csSprite2DVertex
| A single 2D Sprite vertex. More...
struct | csSpriteCal3DActiveAnim
struct | iAnimTimeUpdateHandler
| By default, csSpriteCal3DMeshObject::Advance() updates the model's via CalModel::update() with the elapsed time since the last advancement. More...
struct | iBezierFactoryState
| This is the state interface to access the internals of a bezier mesh factory. More...
struct | iBezierFactoryState
| This is the state interface to access the internals of a bezier mesh factory. More...
struct | iBezierState
| This is the state interface to access the internals of a bezier mesh object. More...
struct | iBezierState
| This is the state interface to access the internals of a bezier mesh object. More...
struct | iCurve
| This is the interface for a curve. More...
struct | iExplosionState
| This interface describes the API for the explosion mesh object. More...
struct | iExplosionState
| This interface describes the API for the explosion mesh object. More...
struct | iFireState
| This interface describes the API for the fire mesh object. More...
struct | iFireState
| This interface describes the API for the fire mesh object. More...
struct | iFountainState
| This interface describes the API for the fountain mesh object. More...
struct | iFountainState
| This interface describes the API for the fountain mesh object. More...
struct | iGeneralFactoryState
| This interface describes the API for the general mesh factory. More...
struct | iGeneralFactoryState
| This interface describes the API for the general mesh factory. More...
struct | iGeneralMeshCommonState
| The common interface between genmesh meshes and factories. More...
struct | iGeneralMeshCommonState
| The common interface between genmesh meshes and factories. More...
struct | iGeneralMeshState
| This interface describes the API for the general mesh object. More...
struct | iGeneralMeshState
| This interface describes the API for the general mesh object. More...
struct | iGenMeshAnimationControl
| Implementing this class allows the creation of classes that control animation of vertex, texel, normal, and color data right before it is being used. More...
struct | iGenMeshAnimationControl
| Implementing this class allows the creation of classes that control animation of vertex, texel, normal, and color data right before it is being used. More...
struct | iGenMeshAnimationControlFactory
| This class is a factory for creating animation controls. More...
struct | iGenMeshAnimationControlState
| This interface describes the API for setting up the animation control as implemented by the 'gmeshanim' plugin. More...
struct | iGenMeshAnimationControlState
| This interface describes the API for setting up the animation control as implemented by the 'gmeshanim' plugin. More...
struct | iGenMeshAnimationControlType
| This class is the animation control type. More...
struct | iGenMeshAnimationControlType
| This class is the animation control type. More...
struct | iGenMeshSkeletonBone
struct | iGenMeshSkeletonBone
struct | iGenMeshSkeletonBoneUpdateCallback
| @@ Document me More...
struct | iGenMeshSkeletonBoneUpdateCallback
| @@ Document me More...
struct | iGenMeshSkeletonControlFactory
| @@ Document me More...
struct | iGenMeshSkeletonControlFactory
| @@ Document me More...
struct | iGenMeshSkeletonControlState
| This interface describes the API for setting up the skeleton animation control as implemented by the 'gmeshskelanim' plugin. More...
struct | iGenMeshSkeletonControlState
| This interface describes the API for setting up the skeleton animation control as implemented by the 'gmeshskelanim' plugin. More...
struct | iGenMeshSkeletonScript
| @@ Document me More...
struct | iGenMeshSkeletonScript
| @@ Document me More...
struct | iHazeFactoryState
| This interface describes the API for the sprite factory mesh object. More...
struct | iHazeFactoryState
| This interface describes the API for the sprite factory mesh object. More...
struct | iHazeHull
| A mesh specially meant for use by the haze. More...
struct | iHazeHull
| A mesh specially meant for use by the haze. More...
struct | iHazeHullBox
| A predefined hull. More...
struct | iHazeHullBox
| A predefined hull. More...
struct | iHazeHullCone
| A predefined hull. More...
struct | iHazeHullCone
| A predefined hull. More...
struct | iHazeHullCreation
| This interface is implemented by the haze factory in order to be able to create the predefined haze hulls. More...
struct | iHazeHullCreation
| This interface is implemented by the haze factory in order to be able to create the predefined haze hulls. More...
struct | iHazeState
| This interface describes the API for the sprite factory mesh object. More...
struct | iHazeState
| This interface describes the API for the sprite factory mesh object. More...
struct | iInstancingFactoryState
| This interface describes the API for the instancing mesh factory. More...
struct | iInstancingMeshCommonState
| The common interface between instancing meshes and factories. More...
struct | iInstancingMeshCommonState
| The common interface between instancing meshes and factories. More...
struct | iInstancingMeshState
| This interface describes the API for the instancing mesh object. More...
struct | iInstancingMeshState
| This interface describes the API for the instancing mesh object. More...
struct | iLightingInfo
| This interface is implemented by mesh objects that have some kind of lighting system. More...
struct | iLightningFactoryState
| Document me! @@. More...
struct | iLightningFactoryState
| Document me! @@. More...
struct | iLightningState
struct | iLightningState
struct | iMeshObject
| This is a general mesh object that the engine can interact with. More...
struct | iMeshObjectDrawCallback
| Set a callback which is called just before the object is drawn. More...
struct | iMeshObjectDrawCallback
| Set a callback which is called just before the object is drawn. More...
struct | iMeshObjectFactory
| This object is a factory which can generate mesh objects of a certain type. More...
struct | iMeshObjectType
| This plugin describes a specific type of mesh objects. More...
struct | iNullFactoryState
| This interface describes the API for the null mesh object factory. More...
struct | iNullFactoryState
| This interface describes the API for the null mesh object factory. More...
struct | iNullMeshState
| This interface describes the API for the null mesh object. More...
struct | iNullMeshState
| This interface describes the API for the null mesh object. More...
struct | iParticle
| A iParticle can be used in particle Systems. More...
struct | iParticle
| A iParticle can be used in particle Systems. More...
struct | iParticlesColorCallback
| Particles state can be set up to retrieve color via a callback. More...
struct | iParticlesColorCallback
| Particles state can be set up to retrieve color via a callback. More...
struct | iParticlesFactoryState
| Particles factory state. More...
struct | iParticlesFactoryState
| Particles factory state. More...
struct | iParticlesObjectState
| Particles state object. More...
struct | iParticlesObjectState
| Particles state object. More...
struct | iParticlesPhysics
| Particles physics interface. More...
struct | iParticlesPhysics
| Particles physics interface. More...
struct | iParticlesStateBase
| Particles shared state interface. More...
struct | iParticlesStateBase
| Particles shared state interface. More...
struct | iParticleState
| This interface describes the API for the particle mesh object. More...
struct | iPolygonHandle
| This is an interface that can be used to represent a polygon in situations where a SCF object is required. More...
struct | iProtoFactoryState
| The proto mesh is a demonstration or tutorial mesh. More...
struct | iProtoFactoryState
| The proto mesh is a demonstration or tutorial mesh. More...
struct | iProtoMeshState
| This interface describes the API for the proto mesh object. More...
struct | iProtoMeshState
| This interface describes the API for the proto mesh object. More...
struct | iRainState
| This interface describes the API for the rain mesh object. More...
struct | iRainState
| This interface describes the API for the rain mesh object. More...
struct | iSnowState
| This interface describes the API for the snow mesh object. More...
struct | iSnowState
| This interface describes the API for the snow mesh object. More...
struct | iSpiralState
| This interface describes the API for the spiral mesh object. More...
struct | iSpiralState
| This interface describes the API for the spiral mesh object. More...
struct | iSprite2DFactoryState
| This interface describes the API for the sprite factory mesh object. More...
struct | iSprite2DFactoryState
| This interface describes the API for the sprite factory mesh object. More...
struct | iSprite2DState
| This interface describes the API for the sprite factory mesh object. More...
struct | iSprite2DState
| This interface describes the API for the sprite factory mesh object. More...
struct | iSprite2DUVAnimation
| The animation works by having all frames of an animation sequence in a texture at different (u,v) locations, hence the name. More...
struct | iSprite2DUVAnimation
| The animation works by having all frames of an animation sequence in a texture at different (u,v) locations, hence the name. More...
struct | iSprite2DUVAnimationFrame
| This is a single frame in a UV animation. More...
struct | iSprite2DUVAnimationFrame
| This is a single frame in a UV animation. More...
struct | iSprite3DFactoryState
| This interface describes the API for the 3D sprite factory mesh object. More...
struct | iSprite3DState
| This interface describes the API for the 3D sprite mesh object. More...
struct | iSpriteAction
| An action frameset for 3D sprite animation. More...
struct | iSpriteCal3DFactoryState
| This interface describes the API for the 3D sprite factory mesh object. More...
struct | iSpriteCal3DSocket
| A socket for specifying where sprites can plug into other sprites. More...
struct | iSpriteCal3DState
| This interface describes the API for changing the Cal3D sprite mesh object's animations playing and other current traits. More...
struct | iSpriteFrame
| A frame for 3D sprite animation. More...
struct | iSpriteSocket
| A socket for specifying where sprites can plug into other sprites. More...
struct | iStarsState
| This interface describes the API for the stars mesh object. More...
struct | iStarsState
| This interface describes the API for the stars mesh object. More...
struct | iTerrainFactoryState
| Allows the setting of a set of generic terrain parameters outside any specific algorithm. More...
struct | iTerrainFactoryState
| Allows the setting of a set of generic terrain parameters outside any specific algorithm. More...
struct | iTerrainObjectState
| This will override the settings for material in the parent. More...
struct | iTerrainObjectState
| This will override the settings for material in the parent. More...
struct | iThingEnvironment
| This interface is implemented by the iObjectType for things. More...
struct | iThingFactoryState
| This is the state interface to access the internals of a thing mesh factory. More...
struct | iThingState
| This is the state interface to access the internals of a thing mesh object. More...

## Mesh factory flags

#define | CS_FACTORY_STATICSHAPE 2
| If CS_FACTORY_STATICSHAPE is set then this factory will never animate.

## Mesh object flags

#define | CS_MESH_STATICPOS 1
| If CS_MESH_STATICPOS is set then this mesh will never move.
#define | CS_MESH_STATICSHAPE 2
| If CS_MESH_STATICSHAPE is set then this mesh will never animate.

## Polygon flags

#define | CS_POLY_COLLDET 0x00000002
| If this flag is set then this polygon is used for collision detection.
#define | CS_POLY_LIGHTING 0x00000001
| If CS_POLY_LIGHTING is set for a polygon then the polygon will be lit.
#define | CS_POLY_VISCULL 0x00000004
| If this flag is set then this polygon is used for visibility culling.

## Polygon ranges

#define | CS_POLYRANGE(s1, s2) csPolygonRange (s1, s2)
| A general range of polygons (inclusive).
#define | CS_POLYRANGE_ALL csPolygonRange (0, 2000000000)
| All polygons.
#define | CS_POLYRANGE_LAST csPolygonRange (-1, -1)
| The last created polygon or series of polygons (in case it was a box).
#define | CS_POLYRANGE_SINGLE(idx) csPolygonRange (idx, idx)
| A single polygon.

## Move option flags

#define | CS_THING_MOVE_NEVER 0
| The following flags affect movement options for a thing.
#define | CS_THING_MOVE_OCCASIONAL 2
| The following flags affect movement options for a thing.

## Thing flags

#define | CS_THING_NOCOMPRESS 0x00010000
| If CS_THING_NOCOMPRESS is set then vertices of this thing factory will not be compressed.

## Defines

#define | CS_POLYINDEX_LAST -1
| Last created polygon index (used where a single polygon index is required).
#define | CS_SPR_LIGHT_GLOBAL 0
| Use the global value for determining which lighting level is used by the sprite.
#define | CS_SPR_LIGHT_LOCAL 2
| Use the lighting quality value local to the sprite for determining which lighting level is used by the sprite.
#define | CS_SPR_LIGHT_TEMPLATE 1
| Use the sprites template lighting quality value for determining which lighting level is used by the sprite.
#define | CS_SPR_LOD_GLOBAL 0
| Use the global value for determining if LOD is used by the sprite, and what level it should be used at.
#define | CS_SPR_LOD_LOCAL 2
| Use the LOD value local to the sprite.
#define | CS_SPR_LOD_TEMPLATE 1
| Use the sprites template lod value.

## Typedefs

typedef csDirtyAccessArray< csSprite2DVertex > | csColoredVertices

## Enumerations

enum |
| Macros for the csSprite3D lighting levels. More...
enum | csAULevel
enum | csBoneTransformMode
enum | csParticleColorMethod
| Particle heat function. More...
enum | csParticleEmitType
| Particle emit type. More...
enum | csParticleFalloffType
| Particle force falloff type. More...
enum | csParticleForceType
| Particle force type. More...

## Define Documentation

#define CS_FACTORY_STATICSHAPE 2

| If CS_FACTORY_STATICSHAPE is set then this factory will never animate. This is a hint for the engine. The mesh factory itself can also use this flag to optimize internal data structures. Definition at line 75 of file object.h.

#define CS_MESH_STATICPOS 1

| If CS_MESH_STATICPOS is set then this mesh will never move. This is a hint for the engine. The mesh object itself can also use this flag to optimize internal data structures. Definition at line 58 of file object.h.

#define CS_MESH_STATICSHAPE 2

| If CS_MESH_STATICSHAPE is set then this mesh will never animate. This is a hint for the engine. The mesh object itself can also use this flag to optimize internal data structures. Definition at line 65 of file object.h.

#define CS_POLY_COLLDET 0x00000002

| If this flag is set then this polygon is used for collision detection. Definition at line 79 of file thing.h.

#define CS_POLY_LIGHTING 0x00000001

| If CS_POLY_LIGHTING is set for a polygon then the polygon will be lit. It is set by default. Definition at line 74 of file thing.h.

#define CS_POLY_VISCULL 0x00000004

| If this flag is set then this polygon is used for visibility culling. Definition at line 84 of file thing.h.

#define CS_POLYINDEX_LAST -1

| Last created polygon index (used where a single polygon index is required). Definition at line 111 of file thing.h.

#define CS_POLYRANGE | ( | s1,
|  | s2 |  | ) | csPolygonRange (s1, s2)

| A general range of polygons (inclusive). Definition at line 93 of file thing.h.

#define CS_POLYRANGE_ALL csPolygonRange (0, 2000000000)

| All polygons. Definition at line 105 of file thing.h.

#define CS_POLYRANGE_LAST csPolygonRange (-1, -1)

| The last created polygon or series of polygons (in case it was a box). Definition at line 101 of file thing.h.

#define CS_POLYRANGE_SINGLE | ( | idx |  | ) | csPolygonRange (idx, idx)

| A single polygon. Definition at line 97 of file thing.h.

#define CS_SPR_LIGHT_GLOBAL 0

| Use the global value for determining which lighting level is used by the sprite. Definition at line 57 of file sprite3d.h.

#define CS_SPR_LIGHT_LOCAL 2

| Use the lighting quality value local to the sprite for determining which lighting level is used by the sprite. Definition at line 69 of file sprite3d.h.

#define CS_SPR_LIGHT_TEMPLATE 1

| Use the sprites template lighting quality value for determining which lighting level is used by the sprite. Definition at line 63 of file sprite3d.h.

#define CS_SPR_LOD_GLOBAL 0

| Use the global value for determining if LOD is used by the sprite, and what level it should be used at. Definition at line 75 of file sprite3d.h.

#define CS_SPR_LOD_LOCAL 2

| Use the LOD value local to the sprite. Definition at line 85 of file sprite3d.h.

#define CS_SPR_LOD_TEMPLATE 1

| Use the sprites template lod value. Definition at line 80 of file sprite3d.h.

#define CS_THING_MOVE_NEVER 0

| The following flags affect movement options for a thing. See SetMovingOption() for more info. Definition at line 130 of file thing.h.

#define CS_THING_MOVE_OCCASIONAL 2

| The following flags affect movement options for a thing. See SetMovingOption() for more info. Definition at line 131 of file thing.h.

#define CS_THING_NOCOMPRESS 0x00010000

| If CS_THING_NOCOMPRESS is set then vertices of this thing factory will not be compressed. By default the vertex table is compressed before the thing is used for the first time (this means that duplicate vertices are removed). This is a flag for iMeshObjectFactory. Definition at line 121 of file thing.h.

## Enumeration Type Documentation

anonymous enum

| Macros for the csSprite3D lighting levels. Definition at line 45 of file sprite3d.h.

enum csParticleColorMethod

| Particle heat function. Definition at line 51 of file particles.h.

enum csParticleEmitType

| Particle emit type. Definition at line 61 of file particles.h.

enum csParticleFalloffType

| Particle force falloff type. Definition at line 43 of file particles.h.

enum csParticleForceType

| Particle force type. Definition at line 70 of file particles.h.