iDynamicSystem Struct Reference
This is the interface for the dynamics core. More...
#include <ivaria/dynamics.h>
Inheritance diagram for iDynamicSystem:

Public Member Functions | |
virtual void | AttachCollider (iDynamicsSystemCollider *collider)=0 |
Attach collider to dynamic system. | |
virtual bool | AttachColliderBox (const csVector3 &size, const csOrthoTransform &trans, float friction, float elasticity, float softness=0.01f)=0 |
Attaches a static collider box to world. | |
virtual bool | AttachColliderCylinder (float length, float radius, const csOrthoTransform &trans, float friction, float elasticity, float softness=0.01f)=0 |
Attaches a static collider cylinder to world (oriented along it's Z axis). | |
virtual bool | AttachColliderMesh (iMeshWrapper *mesh, const csOrthoTransform &trans, float friction, float elasticity, float softness=0.01f)=0 |
Attaches a static collider mesh to world. | |
virtual bool | AttachColliderPlane (const csPlane3 &plane, float friction, float elasticity, float softness=0.01f)=0 |
Attaches a static collider plane to world. | |
virtual bool | AttachColliderSphere (float radius, const csVector3 &offset, float friction, float elasticity, float softness=0.01f)=0 |
Attaches a static collider sphere to world. | |
virtual csPtr< iRigidBody > | CreateBody ()=0 |
Create a rigid body and add it to the simulation. | |
virtual csRef< iDynamicsSystemCollider > | CreateCollider ()=0 |
Create static collider and put it into simulation. | |
virtual csPtr< iBodyGroup > | CreateGroup ()=0 |
Create a body group. Bodies in a group don't collide with each other. | |
virtual csPtr< iJoint > | CreateJoint ()=0 |
Create a joint and add it to the simulation. | |
virtual void | DestroyCollider (iDynamicsSystemCollider *collider)=0 |
Destroy static collider. | |
virtual void | DestroyColliders ()=0 |
Destroy all static colliders. | |
virtual void | EnableAutoDisable (bool enable)=0 |
Turn on/off AutoDisable functionality. | |
virtual iRigidBody * | FindBody (const char *name)=0 |
Finds a body within a system. | |
virtual iRigidBody * | GetBody (unsigned int index)=0 |
Get Rigid Body by its index. | |
virtual int | GetBodysCount ()=0 |
Get rigid bodys count. | |
virtual csRef< iDynamicsSystemCollider > | GetCollider (unsigned int index)=0 |
Get static collider. | |
virtual int | GetColliderCount ()=0 |
Get static colliders count. | |
virtual iDynamicsMoveCallback * | GetDefaultMoveCallback ()=0 |
Get the default move callback. | |
virtual const csVector3 | GetGravity () const =0 |
Get the global gravity. | |
virtual float | GetLinearDampener () const =0 |
Get the global linear dampener setting. | |
virtual float | GetRollingDampener () const =0 |
Get the global rolling dampener setting. | |
virtual iObject * | QueryObject (void)=0 |
returns the underlying object | |
virtual void | RemoveBody (iRigidBody *body)=0 |
Create a rigid body and add it to the simulation. | |
virtual void | RemoveGroup (iBodyGroup *group)=0 |
Remove a group from a simulation. Those bodies now collide. | |
virtual void | RemoveJoint (iJoint *joint)=0 |
Remove a joint from the simulation. | |
virtual void | SetAutoDisableParams (float linear, float angular, int steps, float time)=0 |
Set the parameters for AutoDisable. | |
virtual void | SetGravity (const csVector3 &v)=0 |
Set the global gravity. | |
virtual void | SetLinearDampener (float d)=0 |
Set the global linear dampener. | |
virtual void | SetRollingDampener (float d)=0 |
Set the global rolling dampener. | |
virtual void | Step (float stepsize)=0 |
Step the simulation forward by stepsize. |
Detailed Description
This is the interface for the dynamics core.It handles all bookkeeping for rigid bodies and joints. It also handles collision response. Collision detection is done in another plugin.
Main creators of instances implementing this interface:
- iDynamicSystem::CreateSystem()
Main ways to get pointers to this interface:
- iDynamicSystem::FindSystem()
Definition at line 94 of file dynamics.h.
Member Function Documentation
|
Attach collider to dynamic system.
|
|
Attaches a static collider box to world.
|
|
Attaches a static collider cylinder to world (oriented along it's Z axis).
|
|
Attaches a static collider mesh to world.
|
|
Attaches a static collider plane to world.
|
|
Attaches a static collider sphere to world.
|
|
Create a rigid body and add it to the simulation.
|
|
Create static collider and put it into simulation. After collision it will remain in the same place, but it will affect collided dynamic colliders (to make it dynamic, just attach it to the rigid body). |
|
Create a body group. Bodies in a group don't collide with each other.
|
|
Create a joint and add it to the simulation.
|
|
Destroy static collider.
|
|
Destroy all static colliders.
|
|
Turn on/off AutoDisable functionality. AutoDisable will stop moving objects if they are stable in order to save processing time. By default this is enabled. |
|
Finds a body within a system.
|
|
Get Rigid Body by its index.
|
|
Get rigid bodys count.
|
|
Get static collider.
|
|
Get static colliders count.
|
|
Get the default move callback.
|
|
Get the global gravity.
|
|
Get the global linear dampener setting.
|
|
Get the global rolling dampener setting.
|
|
returns the underlying object
|
|
Create a rigid body and add it to the simulation.
|
|
Remove a group from a simulation. Those bodies now collide.
|
|
Remove a joint from the simulation.
|
|
Set the parameters for AutoDisable.
|
|
Set the global gravity.
|
|
Set the global linear dampener.
|
|
Set the global rolling dampener.
|
|
Step the simulation forward by stepsize.
|
The documentation for this struct was generated from the following file:
- ivaria/dynamics.h
Generated for Crystal Space by doxygen 1.4.6