ScummVM API documentation
hpl::cPhysicsJointScrewNewton Class Reference
Inheritance diagram for hpl::cPhysicsJointScrewNewton:
hpl::iPhysicsJointNewton< iPhysicsJointScrew > hpl::iPhysicsJointScrew hpl::iPhysicsJoint hpl::iSaveObject

Public Member Functions

 cPhysicsJointScrewNewton (const tString &asName, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody, iPhysicsWorld *apWorld, const cVector3f &avPivotPoint, const cVector3f avPinDir)
 
void SetMaxDistance (float afX)
 
void SetMinDistance (float afX)
 
float GetMaxDistance ()
 
float GetMinDistance ()
 
cVector3f GetVelocity ()
 
cVector3f GetAngularVelocity ()
 
cVector3f GetForce ()
 
float GetDistance ()
 
float GetAngle ()
 
- Public Member Functions inherited from hpl::iPhysicsJointNewton< iPhysicsJointScrew >
 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::iPhysicsJointScrew
 iPhysicsJointScrew (const tString &asName, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody, iPhysicsWorld *apWorld, const cVector3f &avPivotPoint)
 
ePhysicsJointType GetType ()
 
virtual iSaveDataCreateSaveData ()
 
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 tStringGetName ()
 
iPhysicsBodyGetParentBody ()
 
iPhysicsBodyGetChildBody ()
 
void RemoveBody (iPhysicsBody *apBody)
 
cVector3f GetPivotPoint ()
 
cVector3f GetPinDir ()
 
cJointLimitEffectGetMaxLimit ()
 
cJointLimitEffectGetMinLimit ()
 
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)
 
iPhysicsJointCallbackGetCallback ()
 
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)
 
iPhysicsControllerGetController (const tString &asName)
 
bool ChangeController (const tString &asName)
 
cPhysicsControllerIterator GetControllerIterator ()
 
void SetAllControllersPaused (bool abX)
 
void OnPhysicsUpdate ()
 
void SetSound (cSoundEntity *apSound)
 
cSoundEntityGetSound ()
 
- Public Member Functions inherited from hpl::iSaveObject
int GetSaveObjectId ()
 
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< iPhysicsJointScrew >
NewtonJoint * mpNewtonJoint
 
NewtonWorld * mpNewtonWorld
 
NewtonBody * mpNewtonParentBody
 
NewtonBody * mpNewtonChildBody
 
- Protected Attributes inherited from hpl::iPhysicsJointScrew
float mfMaxDistance
 
float mfMinDistance
 
cVector3f mvPin
 
- Protected Attributes inherited from hpl::iPhysicsJoint
tString msName
 
iPhysicsBodympParentBody
 
iPhysicsBodympChildBody
 
iPhysicsWorldmpWorld
 
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
 
cSoundEntitympSound
 
bool mbHasCollided
 
iPhysicsJointCallbackmpCallback
 
bool mbAutoDeleteCallback
 
int mlLimitStepCount
 
void * mpUserData
 
- Protected Attributes inherited from hpl::iSaveObject
iSaveDatampSaveData
 

Member Function Documentation

◆ SetMaxDistance()

void hpl::cPhysicsJointScrewNewton::SetMaxDistance ( float  afX)
virtual

Set the maximum distance the bodies can be from each other, relative to the start dist between them This is true if pin points towards the child. In other words, distance increases as the distance between start pivot and current pivot increases in the opposite direction of the pin.

Implements hpl::iPhysicsJointScrew.


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