CrystalSpace

Public API Reference

Mesh plugins
[Mesh support]


Classes

struct  csParticle
 Data representation of a single particle. More...
struct  csParticleAux
 Auxiliary data per particle, not used as often. More...
struct  csParticleBuffer
 Buffer holder for particle buffers. More...
struct  csParticleParameterSet
 Parameters that can be modified based on age for the linear effector (iParticleBuiltinEffectorLinear). More...
class  csSkeletalState2
 Holds the state of an animesh skeleton for a frame, ie the position and rotation of each bone of the skeleton. More...
struct  csSprite2DVertex
 A single 2D Sprite vertex. More...
struct  iAnimatedMesh
 State and setting for an instance of an animated mesh. More...
struct  iAnimatedMeshFactory
 State of an animated mesh object factory. More...
struct  iAnimatedMeshFactorySubMesh
 Sub mesh (part) of an animated mesh factory. More...
struct  iAnimatedMeshMorphTarget
 A morph target. More...
struct  iAnimatedMeshSubMesh
 Sub mesh (part) of an animated mesh. More...
struct  iAnimTimeUpdateHandler
 By default, csSpriteCal3DMeshObject::Advance() updates the model's via CalModel::update() with the elapsed time since the last advancement. More...
struct  iBodyBone
 A body bone holds the physical description of the bone of an animated mesh. More...
struct  iBodyBoneCollider
 These are the properties of the collider associated to a bone. More...
struct  iBodyBoneJoint
 These are the properties of the joint associated to a bone. More...
struct  iBodyBoneProperties
 These are the main properties of a bone's rigid body. More...
struct  iBodyChain
 A body chain is a subtree of the skeleton of an animated mesh. More...
struct  iBodyChainNode
 A node in a body chain tree. More...
struct  iBodyManager
 A class to manage the creation and deletion of bodies' skeletons. More...
struct  iBodySkeleton
 This class holds the physical description of the skeleton of an animated mesh. 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  iGeneralMeshState
 This interface describes the API for the general mesh object. More...
struct  iGeneralMeshSubMesh
 A submesh of a genmesh. 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  iGenMeshAnimationControlType
 This class is the animation control type. More...
struct  iGenMeshSkeletonControlState
 This interface describes the API for setting up the skeleton animation control as implemented by the 'gmeshskelanim' plugin. 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  iHazeHullBox
 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  iHazeState
 This interface describes the API for the sprite factory mesh object. More...
struct  iLightningFactoryState
struct  iMaterialArray
 An array of materials. More...
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  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  iNullMeshState
 This interface describes the API for the null mesh object. More...
struct  iParticle
 A iParticle can be used in particle Systems. More...
struct  iParticleBuiltinEffectorFactory
 Factory for builtin effectors. More...
struct  iParticleBuiltinEffectorForce
 Simple force/acceleration applied to particles. More...
struct  iParticleBuiltinEffectorLinColor
 Simple linear interpolation of particle color based on particle lifetime. More...
struct  iParticleBuiltinEffectorLinear
 Linear interpolation of various parameters based on particle lifetime. More...
struct  iParticleBuiltinEffectorVelocityField
 Velocity field effector. More...
struct  iParticleBuiltinEmitterFactory
 Factory for builtin emitter-types. More...
struct  iParticleEffector
 Base interface for particle effector. More...
struct  iParticleEmitter
 A particle emitter. More...
struct  iParticleState
 This interface describes the API for the particle mesh object. More...
struct  iParticleSystem
 Properties for particle system object. More...
struct  iParticleSystemBase
 Base properties for particle system. More...
struct  iParticleSystemFactory
 Properties for particle system factory. 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  iSkeleton2
 A skeleton instance is a specific copy of a skeleton with base pose and topology defined by the factory but current state internally defined. More...
struct  iSkeletonAnimation2
 Data structure for raw skeletal animations. More...
struct  iSkeletonAnimationNode2
 Raw animation node. More...
struct  iSkeletonAnimationNodeFactory2
 Factory for raw animation nodes. More...
struct  iSkeletonAnimCallback2
 A callback to be implemented if you want to be notified when the state of an animation or animation tree is changed. More...
struct  iSkeletonAnimNode2
 Base type for nodes in the hierarchical blending tree of the skeletal animation system. More...
struct  iSkeletonAnimNodeFactory2
 Base type for nodes in the hierarchical blending tree factory of the skeletal animation system. More...
struct  iSkeletonAnimPacket2
 A animation packet instance. More...
struct  iSkeletonAnimPacketFactory2
 Defines a factory for a skeletal animation packet (iSkeletonAnimPacket2). More...
struct  iSkeletonBasicNodesManager2
 A class to manage the creation and deletion of basic animation node factories. More...
struct  iSkeletonBlendNode2
 An animation node that blends together the sub-nodes based on their weights. More...
struct  iSkeletonBlendNodeFactory2
 Factory for blend nodes, ie nodes which blend together any number of sub-nodes. More...
struct  iSkeletonFactory2
 A skeleton factory is an object defining the base pose and topology from which skeleton instances can be created. More...
struct  iSkeletonFSMNode2
 An animation node that uses a Finite State Machine (FSM) to determine the animation to be played. More...
struct  iSkeletonFSMNodeFactory2
 Factory for Finite State Machine (FSM) animation nodes. More...
struct  iSkeletonLookAtListener2
 A listener to be implemented if you want to be notified when the target has been reached or lost. More...
struct  iSkeletonLookAtManager2
 A class to manage the creation and deletion of 'LookAt' animation node factories. More...
struct  iSkeletonLookAtNode2
 An animation node that controls a bone of an animesh in order to make it look at a target. More...
struct  iSkeletonLookAtNodeFactory2
 Factory for the 'LookAt' animation node. More...
struct  iSkeletonManager2
 Skeletal system base object, representing the entire skeletal and skeletal animation system. More...
struct  iSkeletonPriorityNode2
 An animation node that blends together the sub-nodes based on their priority. More...
struct  iSkeletonPriorityNodeFactory2
 Factory for priority blend nodes, ie nodes blending sub-nodes on the base of their current priority. More...
struct  iSkeletonRagdollManager2
 A class to manage the creation and deletion of ragdoll animation node factories. More...
struct  iSkeletonRagdollNode2
 An animation node that interacts with the dynamic simulation in order to control the animation of the animated mesh, and/or in order to make the mesh collide with the rigid bodies of the simulation. More...
struct  iSkeletonRagdollNodeFactory2
 Factory for the ragdoll animation node. More...
struct  iSkeletonRandomNode2
 An animation node that selects randomly the sub-nodes to be played. More...
struct  iSkeletonRandomNodeFactory2
 Factory for blending nodes playing randomly their sub-nodes. More...
struct  iSkeletonSpeedNode2
 An animation node that takes some animations of an Animated Mesh moving at different speed (eg idle, walking, running) and blend them to achieve any custom speed. More...
struct  iSkeletonSpeedNodeFactory2
 Factory for the 'speed' animation node. 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  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  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  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  iWaterFactoryState
 The water mesh is a simple mesh representation for a horizontal square. More...
struct  iWaterMeshState
 This interface describes the API for the water mesh object. More...

Namespaces

namespace  CS
 Main namespace for CrystalSpace.

Defines

#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.

Enumerations

enum  
 Macros for the csSprite3D lighting levels. More...

Default particle system effectors

enum  csParticleBuiltinEffectorVFType { CS_PARTICLE_BUILTIN_SPIRAL, CS_PARTICLE_BUILTIN_RADIALPOINT }
 Velocity field effector types Determine the ODE the velocity field effector will solve to get new particle positions from current ones. More...
enum  csParticleParameterMask {
  CS_PARTICLE_MASK_MASS = 1, CS_PARTICLE_MASK_LINEARVELOCITY = 2, CS_PARTICLE_MASK_ANGULARVELOCITY = 4, CS_PARTICLE_MASK_COLOR = 8,
  CS_PARTICLE_MASK_PARTICLESIZE = 16, CS_PARTICLE_MASK_ALL
}
 Mask to influence which parameters we will interpolate in the linear effector (iParticleBuiltinEffectorLinear). More...

Default particle system emitters

enum  csParticleBuiltinEmitterPlacement { CS_PARTICLE_BUILTIN_CENTER, CS_PARTICLE_BUILTIN_VOLUME, CS_PARTICLE_BUILTIN_SURFACE }
 Set where in the emitter the builtin emitters should spawn their particles. More...

Particle systems

enum  csParticleIntegrationMode { CS_PARTICLE_INTEGRATE_NONE, CS_PARTICLE_INTEGRATE_LINEAR, CS_PARTICLE_INTEGRATE_BOTH }
 Particle integration mode. More...
enum  csParticleRenderOrientation {
  CS_PARTICLE_CAMERAFACE, CS_PARTICLE_CAMERAFACE_APPROX, CS_PARTICLE_ORIENT_COMMON, CS_PARTICLE_ORIENT_COMMON_APPROX,
  CS_PARTICLE_ORIENT_VELOCITY, CS_PARTICLE_ORIENT_SELF, CS_PARTICLE_ORIENT_SELF_FORWARD
}
 Particle orientation. More...
enum  csParticleRotationMode { CS_PARTICLE_ROTATE_NONE, CS_PARTICLE_ROTATE_TEXCOORD, CS_PARTICLE_ROTATE_VERTICES }
 Rotation mode. More...
enum  csParticleSortMode { CS_PARTICLE_SORT_NONE, CS_PARTICLE_SORT_DISTANCE, CS_PARTICLE_SORT_DOT }
 Sorting modes for particle renderer. More...
enum  csParticleTransformMode { CS_PARTICLE_LOCAL_MODE, CS_PARTICLE_LOCAL_EMITTER, CS_PARTICLE_WORLD_MODE }
 Particle transformation mode. More...

Skeleton

typedef unsigned int BoneID
 Identifier for single bone data.
static const BoneID InvalidBoneID = (BoneID)~0
 ID for an invalid bone.

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.

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 83 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 66 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 73 of file object.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.


Typedef Documentation

typedef unsigned int BoneID

Identifier for single bone data.

Definition at line 53 of file skeleton2.h.


Enumeration Type Documentation

anonymous enum

Macros for the csSprite3D lighting levels.

Definition at line 45 of file sprite3d.h.

Velocity field effector types Determine the ODE the velocity field effector will solve to get new particle positions from current ones.

Enumerator:
CS_PARTICLE_BUILTIN_SPIRAL  Spiral around a given line.

ODE: pl = closest point on line defined by vparam[0] + t*vparam[1] p' = vparam[2] * p-pl x vparam[1] + (p-pl) * fparam[0] + vparam[3]

CS_PARTICLE_BUILTIN_RADIALPOINT  Exhort a radial movement relative to a given point.

ODE: p' = p-vparam[0] / |p-vparam[0]| * (fparam[0] + fparam[1] * sin(t))

Definition at line 751 of file particles.h.

Set where in the emitter the builtin emitters should spawn their particles.

Enumerator:
CS_PARTICLE_BUILTIN_CENTER  In the center.
CS_PARTICLE_BUILTIN_VOLUME  Anywhere in the volume.
CS_PARTICLE_BUILTIN_SURFACE  On the surface of the volume.

Definition at line 519 of file particles.h.

Particle integration mode.

Specifies how the velocity-to-position integration is done. Default is CS_PARTICLE_INTEGRATE_LINEAR

Enumerator:
CS_PARTICLE_INTEGRATE_NONE  Perform no integration.
CS_PARTICLE_INTEGRATE_LINEAR  Integrate linear velocity into linear position.
CS_PARTICLE_INTEGRATE_BOTH  Integrate both linear and angular velocity into pose.

Notice that the angular integration is rather performance heavy so use only when needed.

Definition at line 129 of file particles.h.

Mask to influence which parameters we will interpolate in the linear effector (iParticleBuiltinEffectorLinear).

Enumerator:
CS_PARTICLE_MASK_MASS  Mass.
CS_PARTICLE_MASK_LINEARVELOCITY  Linear velocity.
CS_PARTICLE_MASK_ANGULARVELOCITY  Angular velocity.
CS_PARTICLE_MASK_COLOR  Color.
CS_PARTICLE_MASK_PARTICLESIZE  Particle size.
CS_PARTICLE_MASK_ALL  All parameters.

Definition at line 852 of file particles.h.

Particle orientation.

The particle type defines how the billboard is setup in relation to the particle position, direction and the camera.

Enumerator:
CS_PARTICLE_CAMERAFACE  Billboard always facing the camera, with exact computation per particle.

This is what you usually expect from a billboard.

CS_PARTICLE_CAMERAFACE_APPROX  Billboard always facing the camera direction.

This is approximately the same as CS_PARTICLE_CAMERAFACE, but is a bit optimized by utilizing the camera direction instead of the exact direction from particle to the camera,

CS_PARTICLE_ORIENT_COMMON  Orient billboard around a common direction (y/up direction), facing the camera.

All particles will use the same common direction.

CS_PARTICLE_ORIENT_COMMON_APPROX  Orient billboard around a common direction (y/up direction), facing the camera.

This is approximately the same as CS_PARTICLE_ORIENT_SAME_APPROX, but is a bit optimized by utilizing the camera direction instead of the exact direction from particle to the camera,

CS_PARTICLE_ORIENT_VELOCITY  Orient billboard around a common direction (y/up direction), facing the camera.

The particles will use their direction (velocity) vector as common direction.

CS_PARTICLE_ORIENT_SELF  Orient the particles according to their internal rotation.

The billboard will be aligned so that the normal is along the z axis and the particle in the xy plane of the base specified.

CS_PARTICLE_ORIENT_SELF_FORWARD  Orient the particles according to their internal rotation.

The billboard will be aligned so that the normal is along the z axis and the particle in the xy plane of the base specified. This differs from CS_PARTICLE_ORIENT_SELF in the sense that the particles will always have their "forward" side towards the camera

Definition at line 62 of file particles.h.

Rotation mode.

Specifies how particle rotation is handled.

Enumerator:
CS_PARTICLE_ROTATE_NONE  Do not take rotation into account at all.
CS_PARTICLE_ROTATE_TEXCOORD  Rotate texture coordinates.
CS_PARTICLE_ROTATE_VERTICES  Rotate particle vertices in the billboard plane.

Definition at line 114 of file particles.h.

Sorting modes for particle renderer.

Enumerator:
CS_PARTICLE_SORT_NONE  No sorting at all.
CS_PARTICLE_SORT_DISTANCE  Sort by distance to camera.
CS_PARTICLE_SORT_DOT  Sort by dot product of normalized camera vector and particle direction.

Definition at line 47 of file particles.h.

Particle transformation mode.

Controls how and when particles are transformed, and thereby also controls the coordinate system for particles, emitters and effectors.

Enumerator:
CS_PARTICLE_LOCAL_MODE  Fully local mode.

All positions and coordinates are relative to particle system.

CS_PARTICLE_LOCAL_EMITTER  Mixed coordinate mode.

Particle position and effectors are specified in world space, while emitters operate in local mode.

Warning:
Do note that this mode will introduce extra overhead compared to the other two modes and use only when neccesary.
CS_PARTICLE_WORLD_MODE  Fully global mode.

All coordinates are in world space (absolute space).

Definition at line 147 of file particles.h.


Variable Documentation

const BoneID InvalidBoneID = (BoneID)~0 [static]

ID for an invalid bone.

Definition at line 56 of file skeleton2.h.


Generated for Crystal Space 1.9 by doxygen 1.5.8