ScummVM API documentation
hpl::iPhysicsWorld Class Referenceabstract
Inheritance diagram for hpl::iPhysicsWorld:
hpl::cPhysicsWorldNewton

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 iCollideShapeCreateNullShape ()=0
 
virtual iCollideShapeCreateBoxShape (const cVector3f &avSize, cMatrixf *apOffsetMtx)=0
 
virtual iCollideShapeCreateSphereShape (const cVector3f &avRadii, cMatrixf *apOffsetMtx)=0
 
virtual iCollideShapeCreateCylinderShape (float afRadius, float afHeight, cMatrixf *apOffsetMtx)=0
 
virtual iCollideShapeCreateCapsuleShape (float afRadius, float afHeight, cMatrixf *apOffsetMtx)=0
 
virtual iCollideShapeCreateMeshShape (iVertexBuffer *apVtxBuffer)=0
 
virtual iCollideShapeCreateCompundShape (tCollideShapeVec &avShapes)=0
 
void DestroyShape (iCollideShape *apShape)
 
Joints
virtual iPhysicsJointBallCreateJointBall (const tString &asName, const cVector3f &avPivotPoint, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)=0
 
virtual iPhysicsJointHingeCreateJointHinge (const tString &asName, const cVector3f &avPivotPoint, const cVector3f &avPinDir, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)=0
 
virtual iPhysicsJointSliderCreateJointSlider (const tString &asName, const cVector3f &avPivotPoint, const cVector3f &avPinDir, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)=0
 
virtual iPhysicsJointScrewCreateJointScrew (const tString &asName, const cVector3f &avPivotPoint, const cVector3f &avPinDir, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)=0
 
void DestroyJoint (iPhysicsJoint *apJoint)
 
iPhysicsJointGetJoint (const tString &asName)
 
cPhysicsJointIterator GetJointIterator ()
 
Materials
virtual iPhysicsMaterialCreateMaterial (const tString &asName)=0
 
iPhysicsMaterialGetMaterialFromName (const tString &asName)
 
cPhysicsMaterialIterator GetMaterialIterator ()
 
Bodies
virtual iPhysicsBodyCreateBody (const tString &asName, iCollideShape *apShape)=0
 
void DestroyBody (iPhysicsBody *apBody)
 
iPhysicsBodyGetBody (const tString &asName)
 
cPhysicsBodyIterator GetBodyIterator ()
 
virtual iCharacterBodyCreateCharacterBody (const tString &asName, const cVector3f &avSize)=0
 
void DestroyCharacterBody (iCharacterBody *apBody)
 
iPhysicsBodyGetCharacterBody (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 iPhysicsControllerCreateController (const tString &asName)=0
 
void DestroyController (iPhysicsController *apController)
 
tCollidePointVecGetContactPoints ()
 
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 ()
 
cWorld3DGetWorld3D ()
 
void SetWorld3D (cWorld3D *apWorld3D)
 

Protected Attributes

tCollideShapeList mlstShapes
 
tPhysicsBodyList mlstBodies
 
tCharacterBodyList mlstCharBodies
 
tPhysicsMaterialMap m_mapMaterials
 
tPhysicsJointList mlstJoints
 
tPhysicsControllerList mlstControllers
 
cWorld3DmpWorld3D
 
bool mbLogDebug
 
tCollidePointVec mvContactPoints
 
bool mbSaveContactPoints
 

The documentation for this class was generated from the following file: