Public Member Functions | |
General | |
void | Update (float afTimeStep) |
virtual void | Simulate (float afTimeStep)=0 |
virtual void | SetMaxTimeStep (float afTimeStep)=0 |
virtual float | GetMaxTimeStep ()=0 |
virtual void | SetWorldSize (const cVector3f &avMin, const cVector3f &avMax)=0 |
virtual cVector3f | GetWorldSizeMin ()=0 |
virtual cVector3f | GetWorldSizeMax ()=0 |
virtual void | SetGravity (const cVector3f &avGravity)=0 |
virtual cVector3f | GetGravity ()=0 |
virtual void | SetAccuracyLevel (ePhysicsAccuracy aAccuracy)=0 |
virtual ePhysicsAccuracy | GetAccuracyLevel ()=0 |
Shapes | |
virtual iCollideShape * | CreateNullShape ()=0 |
virtual iCollideShape * | CreateBoxShape (const cVector3f &avSize, cMatrixf *apOffsetMtx)=0 |
virtual iCollideShape * | CreateSphereShape (const cVector3f &avRadii, cMatrixf *apOffsetMtx)=0 |
virtual iCollideShape * | CreateCylinderShape (float afRadius, float afHeight, cMatrixf *apOffsetMtx)=0 |
virtual iCollideShape * | CreateCapsuleShape (float afRadius, float afHeight, cMatrixf *apOffsetMtx)=0 |
virtual iCollideShape * | CreateMeshShape (iVertexBuffer *apVtxBuffer)=0 |
virtual iCollideShape * | CreateCompundShape (tCollideShapeVec &avShapes)=0 |
void | DestroyShape (iCollideShape *apShape) |
Joints | |
virtual iPhysicsJointBall * | CreateJointBall (const tString &asName, const cVector3f &avPivotPoint, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)=0 |
virtual iPhysicsJointHinge * | CreateJointHinge (const tString &asName, const cVector3f &avPivotPoint, const cVector3f &avPinDir, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)=0 |
virtual iPhysicsJointSlider * | CreateJointSlider (const tString &asName, const cVector3f &avPivotPoint, const cVector3f &avPinDir, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)=0 |
virtual iPhysicsJointScrew * | CreateJointScrew (const tString &asName, const cVector3f &avPivotPoint, const cVector3f &avPinDir, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)=0 |
void | DestroyJoint (iPhysicsJoint *apJoint) |
iPhysicsJoint * | GetJoint (const tString &asName) |
cPhysicsJointIterator | GetJointIterator () |
Materials | |
virtual iPhysicsMaterial * | CreateMaterial (const tString &asName)=0 |
iPhysicsMaterial * | GetMaterialFromName (const tString &asName) |
cPhysicsMaterialIterator | GetMaterialIterator () |
Bodies | |
virtual iPhysicsBody * | CreateBody (const tString &asName, iCollideShape *apShape)=0 |
void | DestroyBody (iPhysicsBody *apBody) |
iPhysicsBody * | GetBody (const tString &asName) |
cPhysicsBodyIterator | GetBodyIterator () |
virtual iCharacterBody * | CreateCharacterBody (const tString &asName, const cVector3f &avSize)=0 |
void | DestroyCharacterBody (iCharacterBody *apBody) |
iPhysicsBody * | GetCharacterBody (const tString &asName) |
void | GetBodiesInBV (cBoundingVolume *apBV, tPhysicsBodyList *apBodyList) |
void | EnableBodiesInBV (cBoundingVolume *apBV, bool abEnabled) |
Tools | |
void | SetLogDebug (bool abX) |
bool | GetLogDebug () |
void | AddSaveData (cSaveDataHandler *apHandler) |
virtual iPhysicsController * | CreateController (const tString &asName)=0 |
void | DestroyController (iPhysicsController *apController) |
tCollidePointVec * | GetContactPoints () |
void | SetSaveContactPoints (bool abX) |
bool | GetSaveContactPoints () |
void | RenderContactPoints (iLowLevelGraphics *apLowLevel, const cColor &aPointColor, const cColor &aLineColor) |
virtual void | CastRay (iPhysicsRayCallback *apCallback, const cVector3f &avOrigin, const cVector3f &avEnd, bool abCalcDist, bool abCalcNormal, bool abCalcPoint, bool abUsePrefilter=false)=0 |
virtual void | RenderDebugGeometry (iLowLevelGraphics *apLowLevel, const cColor &aColor)=0 |
virtual bool | CheckShapeCollision (iCollideShape *apShapeA, const cMatrixf &a_mtxA, iCollideShape *apShapeB, const cMatrixf &a_mtxB, cCollideData &aCollideData, int alMaxPoints, bool correctNormalDirection=false)=0 |
bool | CheckShapeWorldCollision (cVector3f *apNewPos, iCollideShape *apShape, const cMatrixf &a_mtxTransform, iPhysicsBody *apSkipBody=NULL, bool abSkipStatic=false, bool abIsCharacter=false, iPhysicsWorldCollisionCallback *apCallback=NULL, bool abCollideCharacter=true, bool abDebug=false) |
void | DestroyAll () |
cWorld3D * | GetWorld3D () |
void | SetWorld3D (cWorld3D *apWorld3D) |
Protected Attributes | |
tCollideShapeList | mlstShapes |
tPhysicsBodyList | mlstBodies |
tCharacterBodyList | mlstCharBodies |
tPhysicsMaterialMap | m_mapMaterials |
tPhysicsJointList | mlstJoints |
tPhysicsControllerList | mlstControllers |
cWorld3D * | mpWorld3D |
bool | mbLogDebug |
tCollidePointVec | mvContactPoints |
bool | mbSaveContactPoints |