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

Public Member Functions

void Simulate (float afTimeStep)
 
void SetMaxTimeStep (float afTimeStep)
 
float GetMaxTimeStep ()
 
void SetWorldSize (const cVector3f &avMin, const cVector3f &avMax)
 
cVector3f GetWorldSizeMin ()
 
cVector3f GetWorldSizeMax ()
 
void SetGravity (const cVector3f &avGravity)
 
cVector3f GetGravity ()
 
void SetAccuracyLevel (ePhysicsAccuracy aAccuracy)
 
ePhysicsAccuracy GetAccuracyLevel ()
 
iCollideShape * CreateNullShape ()
 
iCollideShape * CreateBoxShape (const cVector3f &avSize, cMatrixf *apOffsetMtx)
 
iCollideShape * CreateSphereShape (const cVector3f &avRadii, cMatrixf *apOffsetMtx)
 
iCollideShape * CreateCylinderShape (float afRadius, float afHeight, cMatrixf *apOffsetMtx)
 
iCollideShape * CreateCapsuleShape (float afRadius, float afHeight, cMatrixf *apOffsetMtx)
 
iCollideShape * CreateMeshShape (iVertexBuffer *apVtxBuffer)
 
iCollideShape * CreateCompundShape (tCollideShapeVec &avShapes)
 
iPhysicsJointBall * CreateJointBall (const tString &asName, const cVector3f &avPivotPoint, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)
 
iPhysicsJointHinge * CreateJointHinge (const tString &asName, const cVector3f &avPivotPoint, const cVector3f &avPinDir, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)
 
iPhysicsJointSlider * CreateJointSlider (const tString &asName, const cVector3f &avPivotPoint, const cVector3f &avPinDir, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)
 
iPhysicsJointScrew * CreateJointScrew (const tString &asName, const cVector3f &avPivotPoint, const cVector3f &avPinDir, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody)
 
iPhysicsBody * CreateBody (const tString &asName, iCollideShape *apShape)
 
iCharacterBody * CreateCharacterBody (const tString &asName, const cVector3f &avSize)
 
iPhysicsMaterial * CreateMaterial (const tString &asName)
 
iPhysicsController * CreateController (const tString &asName)
 
void CastRay (iPhysicsRayCallback *apCallback, const cVector3f &avOrigin, const cVector3f &avEnd, bool abCalcDist, bool abCalcNormal, bool abCalcPoint, bool abUsePrefilter=false)
 
bool CheckShapeCollision (iCollideShape *apShapeA, const cMatrixf &a_mtxA, iCollideShape *apShapeB, const cMatrixf &a_mtxB, cCollideData &aCollideData, int alMaxPoints, bool correctNormalDirection=false)
 
void RenderDebugGeometry (iLowLevelGraphics *apLowLevel, const cColor &aColor)
 
NewtonWorld * GetNewtonWorld ()
 
- Public Member Functions inherited from hpl::iPhysicsWorld
void Update (float afTimeStep)
 
void DestroyShape (iCollideShape *apShape)
 
void DestroyJoint (iPhysicsJoint *apJoint)
 
iPhysicsJoint * GetJoint (const tString &asName)
 
cPhysicsJointIterator GetJointIterator ()
 
iPhysicsMaterial * GetMaterialFromName (const tString &asName)
 
cPhysicsMaterialIterator GetMaterialIterator ()
 
void DestroyBody (iPhysicsBody *apBody)
 
iPhysicsBody * GetBody (const tString &asName)
 
cPhysicsBodyIterator GetBodyIterator ()
 
void DestroyCharacterBody (iCharacterBody *apBody)
 
iPhysicsBody * GetCharacterBody (const tString &asName)
 
void GetBodiesInBV (cBoundingVolume *apBV, tPhysicsBodyList *apBodyList)
 
void EnableBodiesInBV (cBoundingVolume *apBV, bool abEnabled)
 
void SetLogDebug (bool abX)
 
bool GetLogDebug ()
 
void AddSaveData (cSaveDataHandler *apHandler)
 
void DestroyController (iPhysicsController *apController)
 
tCollidePointVec * GetContactPoints ()
 
void SetSaveContactPoints (bool abX)
 
bool GetSaveContactPoints ()
 
void RenderContactPoints (iLowLevelGraphics *apLowLevel, const cColor &aPointColor, const cColor &aLineColor)
 
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)
 

Additional Inherited Members

- Protected Attributes inherited from hpl::iPhysicsWorld
tCollideShapeList mlstShapes
 
tPhysicsBodyList mlstBodies
 
tCharacterBodyList mlstCharBodies
 
tPhysicsMaterialMap m_mapMaterials
 
tPhysicsJointList mlstJoints
 
tPhysicsControllerList mlstControllers
 
cWorld3D * mpWorld3D
 
bool mbLogDebug
 
tCollidePointVec mvContactPoints
 
bool mbSaveContactPoints
 

Member Function Documentation

◆ Simulate()

void hpl::cPhysicsWorldNewton::Simulate ( float  afTimeStep)
virtual

Implements hpl::iPhysicsWorld.

◆ SetMaxTimeStep()

void hpl::cPhysicsWorldNewton::SetMaxTimeStep ( float  afTimeStep)
virtual

Implements hpl::iPhysicsWorld.

◆ GetMaxTimeStep()

float hpl::cPhysicsWorldNewton::GetMaxTimeStep ( )
virtual

Implements hpl::iPhysicsWorld.

◆ SetWorldSize()

void hpl::cPhysicsWorldNewton::SetWorldSize ( const cVector3f &  avMin,
const cVector3f &  avMax 
)
virtual

Implements hpl::iPhysicsWorld.

◆ GetWorldSizeMin()

cVector3f hpl::cPhysicsWorldNewton::GetWorldSizeMin ( )
virtual

Implements hpl::iPhysicsWorld.

◆ GetWorldSizeMax()

cVector3f hpl::cPhysicsWorldNewton::GetWorldSizeMax ( )
virtual

Implements hpl::iPhysicsWorld.

◆ SetGravity()

void hpl::cPhysicsWorldNewton::SetGravity ( const cVector3f &  avGravity)
virtual

Implements hpl::iPhysicsWorld.

◆ GetGravity()

cVector3f hpl::cPhysicsWorldNewton::GetGravity ( )
virtual

Implements hpl::iPhysicsWorld.

◆ SetAccuracyLevel()

void hpl::cPhysicsWorldNewton::SetAccuracyLevel ( ePhysicsAccuracy  aAccuracy)
virtual

Implements hpl::iPhysicsWorld.

◆ GetAccuracyLevel()

ePhysicsAccuracy hpl::cPhysicsWorldNewton::GetAccuracyLevel ( )
virtual

Implements hpl::iPhysicsWorld.

◆ CreateNullShape()

iCollideShape * hpl::cPhysicsWorldNewton::CreateNullShape ( )
virtual

Implements hpl::iPhysicsWorld.

◆ CreateBoxShape()

iCollideShape * hpl::cPhysicsWorldNewton::CreateBoxShape ( const cVector3f &  avSize,
cMatrixf *  apOffsetMtx 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateSphereShape()

iCollideShape * hpl::cPhysicsWorldNewton::CreateSphereShape ( const cVector3f &  avRadii,
cMatrixf *  apOffsetMtx 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateCylinderShape()

iCollideShape * hpl::cPhysicsWorldNewton::CreateCylinderShape ( float  afRadius,
float  afHeight,
cMatrixf *  apOffsetMtx 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateCapsuleShape()

iCollideShape * hpl::cPhysicsWorldNewton::CreateCapsuleShape ( float  afRadius,
float  afHeight,
cMatrixf *  apOffsetMtx 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateMeshShape()

iCollideShape * hpl::cPhysicsWorldNewton::CreateMeshShape ( iVertexBuffer *  apVtxBuffer)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateCompundShape()

iCollideShape * hpl::cPhysicsWorldNewton::CreateCompundShape ( tCollideShapeVec &  avShapes)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateJointBall()

iPhysicsJointBall * hpl::cPhysicsWorldNewton::CreateJointBall ( const tString &  asName,
const cVector3f &  avPivotPoint,
iPhysicsBody *  apParentBody,
iPhysicsBody *  apChildBody 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateJointHinge()

iPhysicsJointHinge * hpl::cPhysicsWorldNewton::CreateJointHinge ( const tString &  asName,
const cVector3f &  avPivotPoint,
const cVector3f &  avPinDir,
iPhysicsBody *  apParentBody,
iPhysicsBody *  apChildBody 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateJointSlider()

iPhysicsJointSlider * hpl::cPhysicsWorldNewton::CreateJointSlider ( const tString &  asName,
const cVector3f &  avPivotPoint,
const cVector3f &  avPinDir,
iPhysicsBody *  apParentBody,
iPhysicsBody *  apChildBody 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateJointScrew()

iPhysicsJointScrew * hpl::cPhysicsWorldNewton::CreateJointScrew ( const tString &  asName,
const cVector3f &  avPivotPoint,
const cVector3f &  avPinDir,
iPhysicsBody *  apParentBody,
iPhysicsBody *  apChildBody 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateBody()

iPhysicsBody * hpl::cPhysicsWorldNewton::CreateBody ( const tString &  asName,
iCollideShape *  apShape 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateCharacterBody()

iCharacterBody * hpl::cPhysicsWorldNewton::CreateCharacterBody ( const tString &  asName,
const cVector3f &  avSize 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateMaterial()

iPhysicsMaterial * hpl::cPhysicsWorldNewton::CreateMaterial ( const tString &  asName)
virtual

Implements hpl::iPhysicsWorld.

◆ CreateController()

iPhysicsController * hpl::cPhysicsWorldNewton::CreateController ( const tString &  asName)
virtual

Implements hpl::iPhysicsWorld.

◆ CastRay()

void hpl::cPhysicsWorldNewton::CastRay ( iPhysicsRayCallback *  apCallback,
const cVector3f &  avOrigin,
const cVector3f &  avEnd,
bool  abCalcDist,
bool  abCalcNormal,
bool  abCalcPoint,
bool  abUsePrefilter = false 
)
virtual

Implements hpl::iPhysicsWorld.

◆ CheckShapeCollision()

bool hpl::cPhysicsWorldNewton::CheckShapeCollision ( iCollideShape *  apShapeA,
const cMatrixf &  a_mtxA,
iCollideShape *  apShapeB,
const cMatrixf &  a_mtxB,
cCollideData &  aCollideData,
int  alMaxPoints,
bool  correctNormalDirection = false 
)
virtual

Implements hpl::iPhysicsWorld.

◆ RenderDebugGeometry()

void hpl::cPhysicsWorldNewton::RenderDebugGeometry ( iLowLevelGraphics *  apLowLevel,
const cColor &  aColor 
)
virtual

Implements hpl::iPhysicsWorld.


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