Public Member Functions | |
iPhysicsJointSlider (const tString &asName, iPhysicsBody *apParentBody, iPhysicsBody *apChildBody, iPhysicsWorld *apWorld, const cVector3f &avPivotPoint) | |
virtual void | SetMaxDistance (float afX)=0 |
virtual void | SetMinDistance (float afX)=0 |
virtual float | GetMaxDistance ()=0 |
virtual float | GetMinDistance ()=0 |
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 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 () |
Public Member Functions inherited from hpl::iSaveObject | |
int | GetSaveObjectId () |
void | SetIsSaved (bool abX) |
bool | IsSaved () |
Protected Attributes | |
float | mfMaxDistance |
float | mfMinDistance |
cVector3f | mvPin |
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 |
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) |
|
pure 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.
Implemented in hpl::cPhysicsJointSliderNewton.
|
pure virtual |
Set the minimum distance the bodies can be from each other, relative to the start dist between them This is true if pin points towards the child.
Implemented in hpl::cPhysicsJointSliderNewton.
|
virtual |
Creates the SaveData that this class uses.
Reimplemented from hpl::iPhysicsJoint.
|
virtual |
Save it's data to a SaveData
Reimplemented from hpl::iPhysicsJoint.
|
virtual |
Load it's data from a SaveData
Reimplemented from hpl::iPhysicsJoint.
|
virtual |
After all objects have been created, this function is called to enable setup.
Reimplemented from hpl::iPhysicsJoint.