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

Classes

class  ndDistanceCalculator
 

Public Types

enum  ndScaleType { m_unit, m_uniform, m_nonUniform, m_global }
 

Public Member Functions

D_COLLISION_API ndShapeInstance (ndShape *const shape)
 
D_COLLISION_API ndShapeInstance (const ndShapeInstance &instance)
 
D_COLLISION_API ndShapeInstance (const ndShapeInstance &instance, ndShape *const shape)
 
D_COLLISION_API ndShapeInstance (const nd::TiXmlNode *const xmlNode, const ndShapeLoaderCache &shapesMap)
 
D_COLLISION_API ndShapeInstanceoperator= (const ndShapeInstance &src)
 
D_COLLISION_API ndMatrix CalculateInertia () const
 
D_COLLISION_API void CalculateObb (ndVector &origin, ndVector &size) const
 
D_COLLISION_API void CalculateAabb (const ndMatrix &matrix, ndVector &minP, ndVector &maxP) const
 
D_COLLISION_API void DebugShape (const ndMatrix &matrix, ndShapeDebugNotify &debugCallback) const
 
D_COLLISION_API ndFloat32 RayCast (ndRayCastNotify &callback, const ndVector &localP0, const ndVector &localP1, const ndBody *const body, ndContactPoint &contactOut) const
 
D_COLLISION_API ndShapeInfo GetShapeInfo () const
 
D_COLLISION_API void Save (const ndLoadSaveBase::ndSaveDescriptor &desc) const
 
D_COLLISION_API ndFloat32 CalculateBuoyancyCenterOfPresure (ndVector &com, const ndMatrix &matrix, const ndVector &fluidPlane) const
 
D_COLLISION_API void SavePLY (const char *const fileName) const
 
ndShapeGetShape ()
 
const ndShapeGetShape () const
 
void SetShape (ndShape *const shape)
 
ndVector SupportVertex (const ndVector &dir) const
 
ndMatrix GetScaledTransform (const ndMatrix &matrix) const
 
ndVector SupportVertexSpecial (const ndVector &dir, ndInt32 *const vertexIndex) const
 
ndVector SupportVertexSpecialProjectPoint (const ndVector &point, const ndVector &dir) const
 
const ndMatrixGetLocalMatrix () const
 
void SetLocalMatrix (const ndMatrix &matrix)
 
const ndMatrixGetGlobalMatrix () const
 
void SetGlobalMatrix (const ndMatrix &scale)
 
bool GetCollisionMode () const
 
void SetCollisionMode (bool mode)
 
ndInt32 GetConvexVertexCount () const
 
ndShapeMaterial GetMaterial () const
 
void SetMaterial (const ndShapeMaterial &material)
 
const ndVectorGetScale () const
 
const ndVectorGetInvScale () const
 
const ndMatrixGetAlignmentMatrix () const
 
D_COLLISION_API void SetScale (const ndVector &scale)
 
D_COLLISION_API void SetGlobalScale (const ndVector &scale)
 
D_COLLISION_API void SetGlobalScale (const ndMatrix &scaleMatrix)
 
D_COLLISION_API ndInt32 CalculatePlaneIntersection (const ndVector &normal, const ndVector &point, ndVector *const contactsOut) const
 
ndFloat32 GetVolume () const
 
ndFloat32 GetBoxMinRadius () const
 
ndFloat32 GetBoxMaxRadius () const
 
ndScaleType GetScaleType () const
 
ndFloat32 GetUmbraClipSize () const
 
ndUnsigned64 GetUserDataID () const
 
- Public Member Functions inherited from ndFreeListAlloc
D_CORE_API void * operator new (size_t size)
 
D_CORE_API void operator delete (void *ptr)
 

Static Public Member Functions

static D_COLLISION_API ndVector GetBoxPadding ()
 
- Static Public Member Functions inherited from ndContainersFreeListAlloc< ndShapeInstance >
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)
 

Public Attributes

ndMatrix m_globalMatrix
 
ndMatrix m_localMatrix
 
ndMatrix m_alignmentMatrix
 
ndVector m_scale
 
ndVector m_invScale
 
ndVector m_maxScale
 
ndShapeMaterial m_shapeMaterial
 
const ndShapem_shape
 
const ndBodym_ownerBody
 
const void * m_subCollisionHandle
 
const ndShapeInstancem_parent
 
ndFloat32 m_skinMargin
 
ndScaleType m_scaleType
 
bool m_collisionMode