Newton Dynamics  4.00
ndShapeStaticBVH Class Reference
Inheritance diagram for ndShapeStaticBVH:
ndShapeStaticMesh dAabbPolygonSoup ndShape dPolygonSoupDatabase dClassAlloc dClassAlloc

Classes

class  ndBvhRay
 

Public Member Functions

D_COLLISION_API ndShapeStaticBVH (const dPolygonSoupBuilder &builder)
 
D_COLLISION_API ndShapeStaticBVH (const nd::TiXmlNode *const xmlNode, const char *const assetPath)
 
- Public Member Functions inherited from ndShapeStaticMesh
D_COLLISION_API ndShapeStaticMesh (ndShapeID id)
 
- Public Member Functions inherited from ndShape
const ndShapeAddRef () const
 
dInt32 GetRefCount () const
 
virtual dInt32 Release () const
 
virtual ndShapeBoxGetAsShapeBox ()
 
virtual ndShapeConeGetAsShapeCone ()
 
virtual ndShapeSphereGetAsShapeSphere ()
 
virtual ndShapeCapsuleGetAsShapeCapsule ()
 
virtual ndShapeCylinderGetAsShapeCylinder ()
 
virtual ndShapeCompound * GetAsShapeCompound ()
 
virtual ndShapeNullGetAsShapeNull ()
 
virtual ndShapeConvexPolygonGetAsShapeAsConvexPolygon ()
 
virtual ndShapeConvexGetAsShapeConvex ()
 
virtual ndShapeChamferCylinderGetAsShapeChamferCylinder ()
 
virtual dInt32 GetConvexVertexCount () const
 
dVector GetObbSize () const
 
dVector GetObbOrigin () const
 
dFloat32 GetUmbraClipSize () const
 
virtual D_COLLISION_API void MassProperties ()
 
virtual dMatrix CalculateInertiaAndCenterOfMass (const dMatrix &alignMatrix, const dVector &localScale, const dMatrix &matrix) const
 
virtual dFloat32 CalculateMassProperties (const dMatrix &offset, dVector &inertia, dVector &crossInertia, dVector &centerOfMass) const
 
- Public Member Functions inherited from dClassAlloc
 dClassAlloc ()
 Empty.
 
 ~dClassAlloc ()
 Empty.
 
void * operator new (size_t size)
 Overloaded operator new for any subclass derived from dClassAlloc.
 
void operator delete (void *ptr)
 Overloaded operator delete for any subclass derived from dClassAlloc.
 
- Public Member Functions inherited from dAabbPolygonSoup
virtual D_CORE_API void GetAABB (dVector &p0, dVector &p1) const
 
virtual D_CORE_API void Serialize (const char *const path) const
 
virtual D_CORE_API void Deserialize (const char *const path)
 
- Public Member Functions inherited from dPolygonSoupDatabase
dFloat32 GetRadius () const
 
dInt32 GetVertexCount () const
 
dInt32 GetStrideInBytes () const
 
dFloat32 * GetLocalVertexPool () const
 
dUnsigned32 GetTagId (const dInt32 *const face, dInt32 indexCount) const
 
void SetTagId (const dInt32 *const face, dInt32 indexCount, dUnsigned32 newID) const
 

Public Attributes

ndShapeStaticBVH::ndBvhRay D_GCC_NEWTON_ALIGN_32
 

Protected Member Functions

virtual ndShapeInfo GetShapeInfo () const
 
virtual void DebugShape (const dMatrix &matrix, ndShapeDebugCallback &debugCallback) const
 
virtual dFloat32 RayCast (ndRayCastNotify &callback, const dVector &localP0, const dVector &localP1, const ndBody *const body, ndContactPoint &contactOut) const
 
virtual void GetCollidingFaces (ndPolygonMeshDesc *const data) const
 
- Protected Member Functions inherited from ndShapeStaticMesh
virtual dFloat32 GetVolume () const
 
virtual dFloat32 GetBoxMinRadius () const
 
virtual dFloat32 GetBoxMaxRadius () const
 
virtual ndShapeStaticMeshGetAsShapeStaticMeshShape ()
 
virtual dVector SupportVertex (const dVector &dir, dInt32 *const vertexIndex) const
 
virtual dVector SupportVertexSpecial (const dVector &dir, dFloat32 skinThickness, dInt32 *const vertexIndex) const
 
virtual dVector SupportVertexSpecialProjectPoint (const dVector &point, const dVector &dir) const
 
virtual dInt32 CalculatePlaneIntersection (const dVector &normal, const dVector &point, dVector *const contactsOut) const
 
virtual dVector CalculateVolumeIntegral (const dMatrix &globalMatrix, const dVector &plane, const ndShapeInstance &parentScale) const
 
virtual D_COLLISION_API void CalcAABB (const dMatrix &matrix, dVector &p0, dVector &p1) const
 
D_COLLISION_API dInt32 CalculatePlaneIntersection (const dFloat32 *const vertex, const dInt32 *const index, dInt32 indexCount, dInt32 strideInFloat, const dPlane &localPlane, dVector *const contactsOut) const
 
- Protected Member Functions inherited from ndShape
D_COLLISION_API ndShape (ndShapeID id)
 
D_COLLISION_API ndShape (const ndShape &source)
 
- Protected Member Functions inherited from dAabbPolygonSoup
D_CORE_API void Create (const dPolygonSoupBuilder &builder)
 
D_CORE_API void CalculateAdjacendy ()
 
virtual D_CORE_API void ForAllSectorsRayHit (const dFastRayTest &ray, dFloat32 maxT, dRayIntersectCallback callback, void *const context) const
 
virtual D_CORE_API void ForAllSectors (const dFastAabbInfo &obbAabb, const dVector &boxDistanceTravel, dFloat32 m_maxT, dAaabbIntersectCallback callback, void *const context) const
 
virtual D_CORE_API dVector ForAllSectorsSupportVectex (const dVector &dir) const
 
void * GetRootNode () const
 
void * GetBackNode (const void *const root) const
 
void * GetFrontNode (const void *const root) const
 
void GetNodeAABB (const void *const root, dVector &p0, dVector &p1) const
 
- Protected Member Functions inherited from dPolygonSoupDatabase
 dPolygonSoupDatabase (const char *const name=nullptr)
 

Static Protected Member Functions

static dFloat32 RayHit (void *const context, const dFloat32 *const polygon, dInt32 strideInBytes, const dInt32 *const indexArray, dInt32 indexCount)
 
static dIntersectStatus ShowDebugPolygon (void *const context, const dFloat32 *const polygon, dInt32 strideInBytes, const dInt32 *const indexArray, dInt32 indexCount, dFloat32 hitDistance)
 
static dIntersectStatus GetTriangleCount (void *const context, const dFloat32 *const polygon, dInt32 strideInBytes, const dInt32 *const indexArray, dInt32 indexCount, dFloat32 hitDistance)
 
static dIntersectStatus GetPolygon (void *const context, const dFloat32 *const polygon, dInt32 strideInBytes, const dInt32 *const indexArray, dInt32 indexCount, dFloat32 hitDistance)
 

Additional Inherited Members

- Static Public Member Functions inherited from dClassAlloc
static D_CORE_API void * Malloc (size_t size)
 Generic allocation for any function subclass from dClassAlloc.
 
static D_CORE_API void Free (void *const ptr)
 Generic destruction for any function subclass from dClassAlloc.
 
- Protected Attributes inherited from ndShapeStaticMesh
D_MSV_NEWTON_ALIGN_32 class ndShapeStaticMesh::ndMeshVertexListIndexList D_GCC_NEWTON_ALIGN_32
 
- Protected Attributes inherited from ndShape
dVector m_inertia
 
dVector m_crossInertia
 
dVector m_centerOfMass
 
dVector m_boxSize
 
dVector m_boxOrigin
 
dAtomic< dInt32 > m_refCount
 
ndShapeID m_collisionId
 
- Protected Attributes inherited from dPolygonSoupDatabase
dInt32 m_vertexCount
 
dInt32 m_strideInBytes
 
dFloat32 * m_localVertex
 
- Static Protected Attributes inherited from ndShape
static dVector m_flushZero