Newton Dynamics  4.00
ndMultiBodyVehicle Class Reference
Inheritance diagram for ndMultiBodyVehicle:
ndModel ndContainersFreeListAlloc< ndModel > ndFreeListAlloc

Classes

class  ndDownForce
 
class  ndTireContactPair
 

Public Member Functions

 D_CLASS_REFLECTION (ndMultiBodyVehicle)
 
D_NEWTON_API ndMultiBodyVehicle (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
D_NEWTON_API ndMultiBodyVehicle (const ndVector &frontDir, const ndVector &upDir)
 
D_NEWTON_API ndFloat32 GetSpeed () const
 
D_NEWTON_API ndShapeInstance CreateTireShape (ndFloat32 radius, ndFloat32 width) const
 
D_NEWTON_API void AddChassis (ndBodyKinematic *const chassis)
 
D_NEWTON_API ndMultiBodyVehicleMotorAddMotor (ndFloat32 mass, ndFloat32 radius)
 
D_NEWTON_API ndMultiBodyVehicleGearBoxAddGearBox (ndMultiBodyVehicleDifferential *const differential)
 
D_NEWTON_API ndMultiBodyVehicleTireJointAddTire (const ndMultiBodyVehicleTireJointInfo &desc, ndBodyKinematic *const tire)
 
D_NEWTON_API ndMultiBodyVehicleTireJointAddAxleTire (const ndMultiBodyVehicleTireJointInfo &desc, ndBodyKinematic *const tire, ndBodyKinematic *const axleBody)
 
D_NEWTON_API ndMultiBodyVehicleDifferentialAddDifferential (ndFloat32 mass, ndFloat32 radius, ndMultiBodyVehicleTireJoint *const leftTire, ndMultiBodyVehicleTireJoint *const rightTire, ndFloat32 slipOmegaLock)
 
D_NEWTON_API ndMultiBodyVehicleDifferentialAddDifferential (ndFloat32 mass, ndFloat32 radius, ndMultiBodyVehicleDifferential *const leftDifferential, ndMultiBodyVehicleDifferential *const rightDifferential, ndFloat32 slipOmegaLock)
 
D_NEWTON_API ndMultiBodyVehicleTorsionBarAddTorsionBar (ndBodyKinematic *const sentinel)
 
D_NEWTON_API void SetVehicleSolverModel (bool hardJoint)
 
D_NEWTON_API ndMultiBodyVehicleGetAsMultiBodyVehicle ()
 
- Public Member Functions inherited from ndModel
 D_CLASS_REFLECTION (ndModel)
 
D_NEWTON_API ndModel (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
virtual ndModelGetAsModel ()
 
- Public Member Functions inherited from ndFreeListAlloc
D_CORE_API void * operator new (size_t size)
 
D_CORE_API void operator delete (void *ptr)
 

Protected Member Functions

bool isActive () const
 
virtual void ApplyInputs (ndWorld *const world, ndFloat32 timestep)
 
virtual D_NEWTON_API void RemoveFromToWorld ()
 
virtual D_NEWTON_API void AddToWorld (ndWorld *const world)
 
virtual D_NEWTON_API void Debug (ndConstraintDebugCallback &context) const
 
virtual D_NEWTON_API void Update (ndWorld *const world, ndFloat32 timestep)
 
virtual D_NEWTON_API void PostUpdate (ndWorld *const world, ndFloat32 timestep)
 
virtual D_NEWTON_API void Save (const ndLoadSaveBase::ndSaveDescriptor &desc) const
 
- Protected Member Functions inherited from ndModel
virtual void PostTransformUpdate (ndWorld *const world, ndFloat32 timestep)
 

Protected Attributes

ndMatrix m_localFrame
 
ndBodyKinematicm_chassis
 
ndIkSolver m_invDynamicsSolver
 
ndShapeChamferCylinderm_tireShape
 
ndReferencedObjects< ndBodym_internalBodies
 
ndSharedPtr< ndMultiBodyVehicleMotorm_motor
 
ndSharedPtr< ndMultiBodyVehicleGearBoxm_gearBox
 
ndSharedPtr< ndMultiBodyVehicleTorsionBarm_torsionBar
 
ndReferencedObjects< ndMultiBodyVehicleTireJointm_tireList
 
ndReferencedObjects< ndMultiBodyVehicleDifferentialAxlem_axleList
 
ndReferencedObjects< ndMultiBodyVehicleDifferentialm_differentialList
 
ndDownForce m_downForce
 
- Protected Attributes inherited from ndModel
ndWorldm_world
 

Friends

class ndMultiBodyVehicleMotor
 
class ndMultiBodyVehicleGearBox
 
class ndMultiBodyVehicleTireJoint
 
class ndMultiBodyVehicleTorsionBar
 

Additional Inherited Members

- Static Public Member Functions inherited from ndContainersFreeListAlloc< ndModel >
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)