ScummVM API documentation
hpl::cPhysicsJointBallNewton Class Reference
Inheritance diagram for hpl::cPhysicsJointBallNewton:
hpl::iPhysicsJointNewton< iPhysicsJointBall > hpl::iPhysicsJointBall hpl::iPhysicsJoint hpl::iSaveObject

Public Member Functions

 cPhysicsJointBallNewton (const tString &asName, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody, iPhysicsWorld *apWorld, const cVector3f &avPivotPoint)
 
void SetConeLimits (const cVector3f &avPin, float afMaxConeAngle, float afMaxTwistAngle)
 
cVector3f GetAngles ()
 
cVector3f GetVelocity ()
 
cVector3f GetAngularVelocity ()
 
cVector3f GetForce ()
 
float GetDistance ()
 
float GetAngle ()
 
- Public Member Functions inherited from hpl::iPhysicsJointNewton< iPhysicsJointBall >
 iPhysicsJointNewton (const tString &asName, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody, iPhysicsWorld *apWorld, const cVector3f &avPivotPoint)
 
void SetCollideBodies (bool abX)
 
bool GetCollideBodies ()
 
void SetStiffness (float afX)
 
float GetStiffness ()
 
- Public Member Functions inherited from hpl::iPhysicsJointBall
 iPhysicsJointBall (const tString &asName, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody, iPhysicsWorld *apWorld, const cVector3f &avPivotPoint)
 
virtual void SetConeLimits (const cVector3f &avPin, float afMaxConeAngle, float afMaxTwistAngle)=0
 
virtual cVector3f GetAngles ()=0
 
float GetMaxConeAngle ()
 
float GetMaxTwistAngle ()
 
cVector3f GetConePin ()
 
ePhysicsJointType GetType ()
 
virtual iSaveData * CreateSaveData ()
 
virtual void SaveToSaveData (iSaveData *apSaveData)
 
virtual void LoadFromSaveData (iSaveData *apSaveData)
 
virtual void SaveDataSetup (cSaveObjectHandler *apSaveObjectHandler, cGame *apGame)
 
- Public Member Functions inherited from hpl::iPhysicsJoint
 iPhysicsJoint (const tString &asName, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody, iPhysicsWorld *apWorld, const cVector3f &avPivotPoint)
 
const tString & GetName ()
 
iPhysicsBody * GetParentBody ()
 
iPhysicsBody * GetChildBody ()
 
void RemoveBody (iPhysicsBody *apBody)
 
cVector3f GetPivotPoint ()
 
cVector3f GetPinDir ()
 
virtual ePhysicsJointType GetType ()=0
 
virtual void SetCollideBodies (bool abX)=0
 
virtual bool GetCollideBodies ()=0
 
virtual void SetStiffness (float afX)=0
 
virtual float GetStiffness ()=0
 
virtual cVector3f GetVelocity ()=0
 
virtual cVector3f GetAngularVelocity ()=0
 
virtual cVector3f GetForce ()=0
 
virtual float GetDistance ()=0
 
virtual float GetAngle ()=0
 
cJointLimitEffect * GetMaxLimit ()
 
cJointLimitEffect * GetMinLimit ()
 
void SetMoveSound (tString &asName)
 
void SetMoveSpeedType (ePhysicsJointSpeed aType)
 
void SetMinMoveSpeed (float afX)
 
void SetMinMoveFreq (float afX)
 
void SetMinMoveFreqSpeed (float afX)
 
void SetMinMoveVolume (float afX)
 
void SetMaxMoveFreq (float afX)
 
void SetMaxMoveVolume (float afX)
 
void SetMaxMoveFreqSpeed (float afX)
 
void SetMiddleMoveSpeed (float afX)
 
void SetMiddleMoveVolume (float afX)
 
void SetCallback (iPhysicsJointCallback *apCallback, bool abAutoDelete)
 
iPhysicsJointCallback * GetCallback ()
 
bool CheckBreakage ()
 
void SetBreakable (bool abX)
 
bool IsBreakable ()
 
void SetBreakForce (float afForce)
 
float GetBreakForce ()
 
void SetBreakSound (const tString &asSound)
 
void SetLimitAutoSleep (bool abX)
 
void SetLimitAutoSleepDist (float afX)
 
void SetLimitAutoSleepNumSteps (int alX)
 
bool GetLimitAutoSleep ()
 
float GetLimitAutoSleepDist ()
 
int GetLimitAutoSleepNumSteps ()
 
void SetStickyMinDistance (float afX)
 
void SetStickyMaxDistance (float afX)
 
float GetStickyMinDistance ()
 
float GetStickyMaxDistance ()
 
void Break ()
 
bool IsBroken ()
 
void SetUserData (void *apUserData)
 
void AddController (iPhysicsController *apController)
 
iPhysicsController * GetController (const tString &asName)
 
bool ChangeController (const tString &asName)
 
cPhysicsControllerIterator GetControllerIterator ()
 
void SetAllControllersPaused (bool abX)
 
void OnPhysicsUpdate ()
 
void SetSound (cSoundEntity *apSound)
 
cSoundEntity * GetSound ()
 
virtual iSaveData * CreateSaveData ()
 
virtual void SaveToSaveData (iSaveData *apSaveData)
 
virtual void LoadFromSaveData (iSaveData *apSaveData)
 
virtual void SaveDataSetup (cSaveObjectHandler *apSaveObjectHandler, cGame *apGame)
 
- Public Member Functions inherited from hpl::iSaveObject
int GetSaveObjectId ()
 
virtual void SaveToSaveData (iSaveData *apSaveData)
 
virtual void LoadFromSaveData (iSaveData *apSaveData)
 
virtual iSaveData * CreateSaveData ()=0
 
virtual void SaveDataSetup (cSaveObjectHandler *apSaveObjectHandler, cGame *apGame)
 
void SetIsSaved (bool abX)
 
bool IsSaved ()
 

Additional Inherited Members

- Protected Member Functions inherited from hpl::iPhysicsJoint
void OnMaxLimit ()
 
void OnMinLimit ()
 
void OnNoLimit ()
 
void CalcSoundFreq (float afSpeed, float *apFreq, float *apVol)
 
void LimitEffect (cJointLimitEffect *pEffect)
 
- Static Protected Member Functions inherited from hpl::iPhysicsJoint
static void CheckLimitAutoSleep (iPhysicsJoint *apJoint, const float afMin, const float afMax, const float afDist)
 
- Protected Attributes inherited from hpl::iPhysicsJointNewton< iPhysicsJointBall >
NewtonJoint * mpNewtonJoint
 
NewtonWorld * mpNewtonWorld
 
NewtonBody * mpNewtonParentBody
 
NewtonBody * mpNewtonChildBody
 
- Protected Attributes inherited from hpl::iPhysicsJointBall
float mfMaxConeAngle
 
float mfMaxTwistAngle
 
cVector3f mvConePin
 
- Protected Attributes inherited from hpl::iPhysicsJoint
tString msName
 
iPhysicsBody * mpParentBody
 
iPhysicsBody * mpChildBody
 
iPhysicsWorld * mpWorld
 
cMatrixf m_mtxParentBodySetup
 
cMatrixf m_mtxChildBodySetup
 
cVector3f mvPinDir
 
cVector3f mvPivotPoint
 
cVector3f mvStartPivotPoint
 
cVector3f mvLocalPivot
 
float mfStickyMinDistance
 
float mfStickyMaxDistance
 
tPhysicsControllerMap m_mapControllers
 
cJointLimitEffect mMaxLimit
 
cJointLimitEffect mMinLimit
 
int mlSpeedCount
 
cMatrixf m_mtxPrevChild
 
cMatrixf m_mtxPrevParent
 
tString msMoveSound
 
float mfMinMoveSpeed
 
float mfMinMoveFreq
 
float mfMinMoveFreqSpeed
 
float mfMinMoveVolume
 
float mfMaxMoveFreq
 
float mfMaxMoveFreqSpeed
 
float mfMaxMoveVolume
 
float mfMiddleMoveSpeed
 
float mfMiddleMoveVolume
 
ePhysicsJointSpeed mMoveSpeedType
 
bool mbBreakable
 
float mfBreakForce
 
tString msBreakSound
 
bool mbBroken
 
bool mbLimitAutoSleep
 
float mfLimitAutoSleepDist
 
int mlLimitAutoSleepNumSteps
 
cSoundEntity * mpSound
 
bool mbHasCollided
 
iPhysicsJointCallback * mpCallback
 
bool mbAutoDeleteCallback
 
int mlLimitStepCount
 
void * mpUserData
 
- Protected Attributes inherited from hpl::iSaveObject
iSaveData * mpSaveData
 

Member Function Documentation

◆ SetConeLimits()

void hpl::cPhysicsJointBallNewton::SetConeLimits ( const cVector3f &  avPin,
float  afMaxConeAngle,
float  afMaxTwistAngle 
)
virtual

◆ GetAngles()

cVector3f hpl::cPhysicsJointBallNewton::GetAngles ( )
virtual

◆ GetVelocity()

cVector3f hpl::cPhysicsJointBallNewton::GetVelocity ( )
virtual

Implements hpl::iPhysicsJoint.

◆ GetAngularVelocity()

cVector3f hpl::cPhysicsJointBallNewton::GetAngularVelocity ( )
virtual

Implements hpl::iPhysicsJoint.

◆ GetForce()

cVector3f hpl::cPhysicsJointBallNewton::GetForce ( )
virtual

Implements hpl::iPhysicsJoint.

◆ GetDistance()

float hpl::cPhysicsJointBallNewton::GetDistance ( )
virtual

Implements hpl::iPhysicsJoint.

◆ GetAngle()

float hpl::cPhysicsJointBallNewton::GetAngle ( )
virtual

Implements hpl::iPhysicsJoint.


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