Newton Dynamics  4.00
ndShapeHeightfield Class Reference
Inheritance diagram for ndShapeHeightfield:
ndShapeStaticMesh ndShape ndContainersFreeListAlloc< ndShape > ndFreeListAlloc

Classes

class  ndGridQuad
 
class  ndTriangle
 

Public Types

enum  ndGridConstruction { m_normalDiagonals = 0, m_invertedDiagonals }
 

Public Member Functions

 D_CLASS_REFLECTION (ndShapeHeightfield)
 
D_COLLISION_API ndShapeHeightfield (ndInt32 width, ndInt32 height, ndGridConstruction constructionMode, ndFloat32 horizontalScale_x, ndFloat32 horizontalScale_z)
 
D_COLLISION_API ndShapeHeightfield (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
ndArray< ndReal > & GetElevationMap ()
 
const ndArray< ndReal > & GetElevationMap () const
 
D_COLLISION_API void UpdateElevationMapAabb ()
 
D_COLLISION_API void GetLocalAabb (const ndVector &p0, const ndVector &p1, ndVector &boxP0, ndVector &boxP1) const
 
- Public Member Functions inherited from ndShapeStaticMesh
 D_CLASS_REFLECTION (ndShapeStaticMesh)
 
D_COLLISION_API ndShapeStaticMesh (ndShapeID id)
 
D_COLLISION_API ndShapeStaticMesh (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
D_COLLISION_API void Save (const ndLoadSaveBase::ndSaveDescriptor &desc) const
 
- Public Member Functions inherited from ndShape
 D_CLASS_REFLECTION (ndShape)
 
D_COLLISION_API ndInt32 GetRefCount () const
 
virtual D_COLLISION_API ndInt32 Release () const
 
virtual D_COLLISION_API const ndShapeAddRef () const
 
virtual ndShapeBoxGetAsShapeBox ()
 
virtual ndShapeNullGetAsShapeNull ()
 
virtual ndShapeConeGetAsShapeCone ()
 
virtual ndShapePointGetAsShapePoint ()
 
virtual ndShapeConvexGetAsShapeConvex ()
 
virtual ndShapeSphereGetAsShapeSphere ()
 
virtual ndShapeCapsuleGetAsShapeCapsule ()
 
virtual ndShapeCylinderGetAsShapeCylinder ()
 
virtual ndShapeCompoundGetAsShapeCompound ()
 
virtual ndShapeStatic_bvhGetAsShapeStaticBVH ()
 
virtual ndShapeConvexPolygonGetAsShapeAsConvexPolygon ()
 
virtual ndShapeChamferCylinderGetAsShapeChamferCylinder ()
 
virtual ndShapeStaticProceduralMeshGetAsShapeStaticProceduralMesh ()
 
virtual ndInt32 GetConvexVertexCount () const
 
ndVector GetObbSize () const
 
ndVector GetObbOrigin () const
 
ndFloat32 GetUmbraClipSize () const
 
virtual D_COLLISION_API void MassProperties ()
 
virtual ndMatrix CalculateInertiaAndCenterOfMass (const ndMatrix &alignMatrix, const ndVector &localScale, const ndMatrix &matrix) const
 
virtual ndFloat32 CalculateMassProperties (const ndMatrix &offset, ndVector &inertia, ndVector &crossInertia, ndVector &centerOfMass) const
 
- 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

virtual ndShapeInfo GetShapeInfo () const
 
virtual ndShapeHeightfieldGetAsShapeHeightfield ()
 
virtual void DebugShape (const ndMatrix &matrix, ndShapeDebugNotify &debugCallback) const
 
virtual ndFloat32 RayCast (ndRayCastNotify &callback, const ndVector &localP0, const ndVector &localP1, ndFloat32 maxT, const ndBody *const body, ndContactPoint &contactOut) const
 
virtual void GetCollidingFaces (ndPolygonMeshDesc *const data) const
 
virtual void Save (const ndLoadSaveBase::ndSaveDescriptor &desc) const
 
- Protected Member Functions inherited from ndShapeStaticMesh
virtual ndFloat32 GetVolume () const
 
virtual ndFloat32 GetBoxMinRadius () const
 
virtual ndFloat32 GetBoxMaxRadius () const
 
virtual ndShapeStaticMeshGetAsShapeStaticMesh ()
 
virtual ndVector SupportVertex (const ndVector &dir, ndInt32 *const vertexIndex) const
 
virtual ndVector SupportVertexSpecial (const ndVector &dir, ndFloat32 skinMargin, ndInt32 *const vertexIndex) const
 
virtual ndVector SupportVertexSpecialProjectPoint (const ndVector &point, const ndVector &dir) const
 
virtual ndInt32 CalculatePlaneIntersection (const ndVector &normal, const ndVector &point, ndVector *const contactsOut) const
 
virtual ndVector CalculateVolumeIntegral (const ndMatrix &globalMatrix, const ndVector &plane, const ndShapeInstance &parentScale) const
 
virtual D_COLLISION_API void CalculateAabb (const ndMatrix &matrix, ndVector &p0, ndVector &p1) const
 
D_COLLISION_API ndInt32 CalculatePlaneIntersection (const ndFloat32 *const vertex, const ndInt32 *const index, ndInt32 indexCount, ndInt32 strideInFloat, const ndPlane &localPlane, ndVector *const contactsOut) const
 
- Protected Member Functions inherited from ndShape
D_COLLISION_API ndShape (ndShapeID id)
 
D_COLLISION_API ndShape (const ndShape &source)
 

Friends

class ndContactSolver
 

Additional Inherited Members

- Static Public Member Functions inherited from ndContainersFreeListAlloc< ndShape >
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 Attributes inherited from ndShapeStaticMesh
D_MSV_NEWTON_ALIGN_32 class ndShapeStaticMesh::ndMeshVertexListIndexList D_GCC_NEWTON_ALIGN_32
 
- Protected Attributes inherited from ndShape
ndVector m_inertia
 
ndVector m_crossInertia
 
ndVector m_centerOfMass
 
ndVector m_boxSize
 
ndVector m_boxOrigin
 
ndAtomic< ndInt32 > m_refCount
 
ndShapeID m_collisionId
 
- Static Protected Attributes inherited from ndShape
static ndVector m_flushZero