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 |