Newton Dynamics  4.00
ndShapeStatic_bvh Class Reference
Inheritance diagram for ndShapeStatic_bvh:
ndShapeStaticMesh ndAabbPolygonSoup ndShape ndPolygonSoupDatabase ndContainersFreeListAlloc< ndShape > ndClassAlloc ndFreeListAlloc

Public Member Functions

 D_CLASS_REFLECTION (ndShapeStatic_bvh)
 
D_COLLISION_API ndShapeStatic_bvh (const ndPolygonSoupBuilder &builder)
 
D_COLLISION_API ndShapeStatic_bvh (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
void * operator new (size_t size)
 
void operator delete (void *ptr)
 
- 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 ndShapeHeightfieldGetAsShapeHeightfield ()
 
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)
 
- Public Member Functions inherited from ndAabbPolygonSoup
virtual D_CORE_API void GetAABB (ndVector &p0, ndVector &p1) const
 get the root node bounding box of the mesh.
 
virtual D_CORE_API void Serialize (const char *const path) const
 writes the entire database to a binary file named path.
 
virtual D_CORE_API void Deserialize (const char *const path)
 Reads a previously saved database binary file named path.
 
ndNodeGetRootNode () const
 Get the root node of the hierarchy.
 
ndNodeGetBackNode (const ndNode *const node) const
 Returns the back child node of the hierarchy. More...
 
ndNodeGetFrontNode (const ndNode *const node) const
 Returns the front child node of the hierarchy. More...
 
void GetNodeAabb (const ndNode *const node, ndVector &p0, ndVector &p1) const
 Returns the bounding box of node in point p0 and p1.
 
- Public Member Functions inherited from ndPolygonSoupDatabase
ndFloat32 GetRadius () const
 
ndInt32 GetVertexCount () const
 
ndInt32 GetStrideInBytes () const
 
ndFloat32 * GetLocalVertexPool () const
 
ndUnsigned32 GetTagId (const ndInt32 *const face, ndInt32 indexCount) const
 
void SetTagId (const ndInt32 *const face, ndInt32 indexCount, ndUnsigned32 newID) const
 
- Public Member Functions inherited from ndClassAlloc
 ndClassAlloc ()
 Empty default constructor.
 
 ~ndClassAlloc ()
 Empty.
 

Protected Member Functions

virtual ndShapeInfo GetShapeInfo () const
 
virtual ndShapeStatic_bvhGetAsShapeStaticBVH ()
 
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)
 
- Protected Member Functions inherited from ndAabbPolygonSoup
D_CORE_API void Create (const ndPolygonSoupBuilder &builder)
 
D_CORE_API void CalculateAdjacent ()
 
virtual D_CORE_API ndVector ForAllSectorsSupportVertex (const ndVector &dir) const
 
virtual D_CORE_API void ForAllSectorsRayHit (const ndFastRay &ray, ndFloat32 maxT, ndRayIntersectCallback callback, void *const context) const
 
virtual D_CORE_API void ForAllSectors (const ndFastAabb &obbAabb, const ndVector &boxDistanceTravel, ndFloat32 maxT, ndAaabbIntersectCallback callback, void *const context) const
 
virtual D_CORE_API void ForThisSector (const ndAabbPolygonSoup::ndNode *const node, const ndFastAabb &obbAabb, const ndVector &boxDistanceTravel, ndFloat32 maxT, ndAaabbIntersectCallback callback, void *const context) const
 
- Protected Member Functions inherited from ndPolygonSoupDatabase
 ndPolygonSoupDatabase (const char *const name=nullptr)
 

Static Protected Member Functions

static ndFloat32 RayHit (void *const context, const ndFloat32 *const polygon, ndInt32 strideInBytes, const ndInt32 *const indexArray, ndInt32 indexCount)
 
static ndIntersectStatus ShowDebugPolygon (void *const context, const ndFloat32 *const polygon, ndInt32 strideInBytes, const ndInt32 *const indexArray, ndInt32 indexCount, ndFloat32 hitDistance)
 
static ndIntersectStatus GetTriangleCount (void *const context, const ndFloat32 *const polygon, ndInt32 strideInBytes, const ndInt32 *const indexArray, ndInt32 indexCount, ndFloat32 hitDistance)
 
static ndIntersectStatus GetPolygon (void *const context, const ndFloat32 *const polygon, ndInt32 strideInBytes, const ndInt32 *const indexArray, ndInt32 indexCount, ndFloat32 hitDistance)
 

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)
 
- Static Public Member Functions inherited from ndClassAlloc
D_OPERATOR_NEW_AND_DELETE static D_CORE_API void * Malloc (size_t size)
 Generic allocation for any function subclass from ndClassAlloc.
 
static D_CORE_API void Free (void *const ptr)
 Generic destruction for any function subclass from ndClassAlloc.
 
- 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
 
- Protected Attributes inherited from ndPolygonSoupDatabase
ndInt32 m_vertexCount
 
ndInt32 m_strideInBytes
 
ndFloat32 * m_localVertex
 
- Static Protected Attributes inherited from ndShape
static ndVector m_flushZero