Public Member Functions | |
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 () |
void | SetIsSaved (bool abX) |
bool | IsSaved () |
Protected Member Functions | |
void | OnMaxLimit () |
void | OnMinLimit () |
void | OnNoLimit () |
void | CalcSoundFreq (float afSpeed, float *apFreq, float *apVol) |
void | LimitEffect (cJointLimitEffect *pEffect) |
Static Protected Member Functions | |
static void | CheckLimitAutoSleep (iPhysicsJoint *apJoint, const float afMin, const float afMax, const float afDist) |
Protected Attributes | |
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 |
|
virtual |
Creates the SaveData that this class uses.
Implements hpl::iSaveObject.
Reimplemented in hpl::iPhysicsJointSlider, hpl::iPhysicsJointScrew, hpl::iPhysicsJointBall, and hpl::iPhysicsJointHinge.
|
virtual |
Save it's data to a SaveData
Reimplemented from hpl::iSaveObject.
Reimplemented in hpl::iPhysicsJointSlider, hpl::iPhysicsJointScrew, hpl::iPhysicsJointBall, and hpl::iPhysicsJointHinge.
|
virtual |
Load it's data from a SaveData
Reimplemented from hpl::iSaveObject.
Reimplemented in hpl::iPhysicsJointSlider, hpl::iPhysicsJointScrew, hpl::iPhysicsJointBall, and hpl::iPhysicsJointHinge.
|
virtual |
After all objects have been created, this function is called to enable setup.
Reimplemented from hpl::iSaveObject.
Reimplemented in hpl::iPhysicsJointSlider, hpl::iPhysicsJointScrew, hpl::iPhysicsJointBall, and hpl::iPhysicsJointHinge.