Newton Dynamics  4.00
ndBodyKinematicBase Class Reference
Inheritance diagram for ndBodyKinematicBase:
ndBodyKinematic ndBody ndContainersFreeListAlloc< ndBody > ndFreeListAlloc ndBodyPlayerCapsule ndBodyTriggerVolume

Public Member Functions

 D_CLASS_REFLECTION (ndBodyKinematicBase)
 
D_COLLISION_API ndBodyKinematicBase (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
void SpecialUpdate (ndFloat32 timestep)
 
ndBodyKinematicBaseGetAsBodyKinematicSpecial ()
 
virtual D_COLLISION_API void Save (const ndLoadSaveBase::ndSaveDescriptor &desc) const
 
- Public Member Functions inherited from ndBodyKinematic
 D_CLASS_REFLECTION (ndBodyKinematic)
 
D_COLLISION_API ndBodyKinematic (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
ndSceneGetScene () const
 
ndUnsigned32 GetIndex () const
 
ndFloat32 GetInvMass () const
 
const ndVector GetInvInertia () const
 
const ndVectorGetMassMatrix () const
 
const ndMatrixGetInvInertiaMatrix () const
 
ndVector GetGyroAlpha () const
 
ndVector GetGyroTorque () const
 
bool GetSleepState () const
 
void RestoreSleepState (bool state)
 
D_COLLISION_API void SetSleepState (bool state)
 
bool GetAutoSleep () const
 
void SetAutoSleep (bool state)
 
ndFloat32 GetMaxLinearStep () const
 
ndFloat32 GetMaxAngularStep () const
 
void SetDebugMaxLinearAndAngularIntegrationStep (ndFloat32 angleInRadian, ndFloat32 stepInUnitPerSeconds)
 
virtual ndFloat32 GetLinearDamping () const
 
virtual void SetLinearDamping (ndFloat32 linearDamp)
 
virtual ndVector GetCachedDamping () const
 
virtual ndVector GetAngularDamping () const
 
virtual void SetAngularDamping (const ndVector &angularDamp)
 
D_COLLISION_API ndShapeInstanceGetCollisionShape ()
 
D_COLLISION_API const ndShapeInstanceGetCollisionShape () const
 
virtual D_COLLISION_API void SetCollisionShape (const ndShapeInstance &shapeInstance)
 
virtual D_COLLISION_API bool RayCast (ndRayCastNotify &callback, const ndFastRay &ray, const ndFloat32 maxT) const
 
D_COLLISION_API ndVector CalculateLinearMomentum () const
 
virtual D_COLLISION_API ndVector CalculateAngularMomentum () const
 
D_COLLISION_API ndFloat32 TotalEnergy () const
 
D_COLLISION_API ndMatrix CalculateInertiaMatrix () const
 
virtual D_COLLISION_API ndMatrix CalculateInvInertiaMatrix () const
 
virtual D_COLLISION_API void IntegrateVelocity (ndFloat32 timestep)
 
void UpdateInvInertiaMatrix ()
 
void SetMassMatrix (const ndVector &massMatrix)
 
void SetMassMatrix (ndFloat32 mass, const ndShapeInstance &shapeInstance)
 
void SetMassMatrix (ndFloat32 Ixx, ndFloat32 Iyy, ndFloat32 Izz, ndFloat32 mass)
 
virtual D_COLLISION_API void SetMassMatrix (ndFloat32 mass, const ndMatrix &inertia)
 
void GetMassMatrix (ndFloat32 &Ixx, ndFloat32 &Iyy, ndFloat32 &Izz, ndFloat32 &mass)
 
D_COLLISION_API void SetMatrixUpdateScene (const ndMatrix &matrix)
 
virtual D_COLLISION_API ndContactFindContact (const ndBody *const otherBody) const
 
virtual ndBodyKinematicGetAsBodyKinematic ()
 
ndSkeletonContainerGetSkeleton () const
 
void SetSkeleton (ndSkeletonContainer *const skeleton)
 
virtual ndVector GetForce () const
 
virtual ndVector GetTorque () const
 
virtual void SetForce (const ndVector &force)
 
virtual void SetTorque (const ndVector &torque)
 
virtual void AddImpulse (const ndVector &pointVeloc, const ndVector &pointPosit, ndFloat32 timestep)
 
virtual void ApplyImpulsePair (const ndVector &linearImpulse, const ndVector &angularImpulse, ndFloat32 timestep)
 
virtual void ApplyImpulsesAtPoint (ndInt32 count, const ndVector *const impulseArray, const ndVector *const pointArray, ndFloat32 timestep)
 
ndVector GetAccel () const
 
ndVector GetAlpha () const
 
void SetAccel (const ndVector &accel)
 
void SetAlpha (const ndVector &alpha)
 
ndContactMapGetContactMap ()
 
const ndContactMapGetContactMap () const
 
const ndJointListGetJointList () const
 
- Public Member Functions inherited from ndBody
 D_CLASS_REFLECTION (ndBody)
 
D_COLLISION_API ndBody (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
virtual ndBodyGetAsBody ()
 
virtual ndBodyDynamicGetAsBodyDynamic ()
 
virtual ndBodySentinelGetAsBodySentinel ()
 
virtual ndBodySphFluidGetAsBodySphFluid ()
 
virtual ndBodyParticleSetGetAsBodyParticleSet ()
 
virtual ndBodyPlayerCapsuleGetAsBodyPlayerCapsule ()
 
virtual ndBodyTriggerVolumeGetAsBodyTriggerVolume ()
 
ndUnsigned32 GetId () const
 
void GetAABB (ndVector &p0, ndVector &p1) const
 
const ndVectorGetCentreOfMass () const
 
virtual D_COLLISION_API void SetCentreOfMass (const ndVector &com)
 
ndBodyNotifyGetNotifyCallback () const
 
ndVector GetOmega () const
 
ndMatrix GetMatrix () const
 
ndVector GetVelocity () const
 
ndVector GetPosition () const
 
ndQuaternion GetRotation () const
 
ndVector GetGlobalGetCentreOfMass () const
 
virtual D_COLLISION_API void SetNotifyCallback (ndBodyNotify *const notify)
 
virtual D_COLLISION_API void SetOmega (const ndVector &veloc)
 
virtual D_COLLISION_API void SetVelocity (const ndVector &veloc)
 
virtual D_COLLISION_API void SetMatrix (const ndMatrix &matrix)
 
D_COLLISION_API ndVector GetVelocityAtPoint (const ndVector &point) const
 
D_COLLISION_API void SetOmegaNoSleep (const ndVector &veloc)
 
D_COLLISION_API void SetVelocityNoSleep (const ndVector &veloc)
 
D_COLLISION_API void SetMatrixNoSleep (const ndMatrix &matrix)
 
D_COLLISION_API void SetMatrixAndCentreOfMass (const ndQuaternion &rotation, const ndVector &globalcom)
 
- Public Member Functions inherited from ndFreeListAlloc
D_CORE_API void * operator new (size_t size)
 
D_CORE_API void operator delete (void *ptr)
 

Additional Inherited Members

- Static Public Member Functions inherited from ndContainersFreeListAlloc< ndBody >
static void FlushFreeList (ndInt32 size)
 
- Static Public Member Functions inherited from ndFreeListAlloc
static D_CORE_API void Flush ()
 
static D_CORE_API void Flush (ndInt32 size)
 
- Protected Member Functions inherited from ndBodyKinematic
virtual D_COLLISION_API void AttachContact (ndContact *const contact)
 
virtual D_COLLISION_API void DetachContact (ndContact *const contact)
 
virtual D_COLLISION_API void DetachJoint (ndJointList::ndNode *const node)
 
virtual D_COLLISION_API ndJointList::ndNode * AttachJoint (ndJointBilateralConstraint *const joint)
 
virtual D_COLLISION_API void IntegrateExternalForce (ndFloat32 timestep)
 
void SetAccel (const ndJacobian &accel)
 
virtual void IntegrateGyroSubstep (const ndVector &timestep)
 
virtual void ApplyExternalForces (ndInt32 threadIndex, ndFloat32 timestep)
 
virtual ndJacobian IntegrateForceAndToque (const ndVector &force, const ndVector &torque, const ndVector &timestep) const
 
void UpdateCollisionMatrix ()
 
void PrepareStep (ndInt32 index)
 
void SetSceneNodes (ndScene *const scene, ndBodyListView::ndNode *const node)
 
virtual void AddDampingAcceleration (ndFloat32 timestep)
 
virtual D_COLLISION_API void EvaluateSleepState (ndFloat32 freezeSpeed2, ndFloat32 freezeAccel2)
 
- Static Protected Member Functions inherited from ndBody
static D_COLLISION_API const nd::TiXmlNodeFindNode (const nd::TiXmlNode *const rootNode, const char *const name)
 
- Protected Attributes inherited from ndBodyKinematic
ndMatrix m_invWorldInertiaMatrix
 
ndShapeInstance m_shapeInstance
 
ndVector m_mass
 
ndVector m_invMass
 
ndVector m_accel
 
ndVector m_alpha
 
ndVector m_gyroAlpha
 
ndVector m_gyroTorque
 
ndQuaternion m_gyroRotation
 
ndJointList m_jointList
 
ndContactMap m_contactList
 
ndSpinLock m_lock
 
ndScenem_scene
 
ndBodyKinematicm_islandParent
 
ndBodyListView::ndNode * m_sceneNode
 
ndSkeletonContainerm_skeletonContainer
 
ndSpecialList< ndBodyKinematic >::ndNode * m_spetialUpdateNode
 
ndFloat32 m_maxAngleStep
 
ndFloat32 m_maxLinearStep
 
ndFloat32 m_weigh
 
ndInt32 m_index
 
ndInt32 m_bodyNodeIndex
 
ndInt32 m_buildSkelIndex
 
ndInt32 m_sceneNodeIndex
 
ndInt32 m_buildBodyNodeIndex
 
ndInt32 m_buildSceneNodeIndex
 
- Protected Attributes inherited from ndBody
ndMatrix m_matrix
 
ndVector m_veloc
 
ndVector m_omega
 
ndVector m_localCentreOfMass
 
ndVector m_globalCentreOfMass
 
ndVector m_minAabb
 
ndVector m_maxAabb
 
ndQuaternion m_rotation
 
ndBodyNotifym_notifyCallback
 
ndUnsigned32 m_uniqueId
 
union {
   ndUnsigned32   m_flags
 
   struct {
      ndUnsigned32   m_isDynamics: 1
 
      ndUnsigned32   m_skeletonMark: 1
 
      ndUnsigned32   m_skeletonMark0: 1
 
      ndUnsigned32   m_skeletonMark1: 1
 
      ndUnsigned32   m_contactTestOnly: 1
 
      ndUnsigned32   m_transformIsDirty: 1
 
      ndUnsigned32   m_equilibriumOverride: 1
 
   } 
 
}; 
 
ndUnsigned8 m_isStatic
 
ndUnsigned8 m_autoSleep
 
ndUnsigned8 m_equilibrium
 
ndUnsigned8 m_equilibrium0
 
ndUnsigned8 m_isJointFence0
 
ndUnsigned8 m_isJointFence1
 
ndUnsigned8 m_isConstrained
 
ndUnsigned8 m_sceneForceUpdate
 
ndUnsigned8 m_sceneEquilibrium
 
ndUnsigned8 m_markedForRemoved
 
- Static Protected Attributes inherited from ndBodyKinematic
static D_COLLISION_API ndVector m_velocTol
 
- Static Protected Attributes inherited from ndBody
static D_COLLISION_API ndUnsigned32 m_uniqueIdCount = 0