Newton Dynamics  4.00
ndShapeConvexHull Class Reference
Inheritance diagram for ndShapeConvexHull:
ndShapeConvex ndShape ndContainersFreeListAlloc< ndShape > ndFreeListAlloc

Classes

class  ndConvexBox
 

Public Member Functions

 D_CLASS_REFLECTION (ndShapeConvexHull)
 
D_COLLISION_API ndShapeConvexHull (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
D_COLLISION_API ndShapeConvexHull (ndInt32 count, ndInt32 strideInBytes, ndFloat32 tolerance, const ndFloat32 *const vertexArray, ndInt32 maxPointsOut=0x7fffffff)
 
- Public Member Functions inherited from ndShapeConvex
 D_CLASS_REFLECTION (ndShapeConvex)
 
- 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 ndShapeSphereGetAsShapeSphere ()
 
virtual ndShapeCapsuleGetAsShapeCapsule ()
 
virtual ndShapeCylinderGetAsShapeCylinder ()
 
virtual ndShapeCompoundGetAsShapeCompound ()
 
virtual ndShapeStatic_bvhGetAsShapeStaticBVH ()
 
virtual ndShapeStaticMeshGetAsShapeStaticMesh ()
 
virtual ndShapeHeightfieldGetAsShapeHeightfield ()
 
virtual ndShapeConvexPolygonGetAsShapeAsConvexPolygon ()
 
virtual ndShapeChamferCylinderGetAsShapeChamferCylinder ()
 
virtual ndShapeStaticProceduralMeshGetAsShapeStaticProceduralMesh ()
 
ndVector GetObbSize () const
 
ndVector GetObbOrigin () const
 
ndFloat32 GetUmbraClipSize () 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

ndShapeInfo GetShapeInfo () const
 
ndBigVector FaceNormal (const ndEdge *face, const ndBigVector *const pool) const
 
bool RemoveCoplanarEdge (ndPolyhedra &convex, const ndBigVector *const hullVertexArray) const
 
bool Create (ndInt32 count, ndInt32 strideInBytes, const ndFloat32 *const vertexArray, ndFloat32 tolerance, ndInt32 maxPointsOut)
 
virtual ndVector SupportVertex (const ndVector &dir, ndInt32 *const vertexIndex) const
 
virtual D_COLLISION_API void Save (const ndLoadSaveBase::ndSaveDescriptor &desc) const
 
- Protected Member Functions inherited from ndShapeConvex
D_COLLISION_API ndShapeConvex (ndShapeID id)
 
virtual ndShapeConvexGetAsShapeConvex ()
 
D_COLLISION_API void SetVolumeAndCG ()
 
virtual D_COLLISION_API void MassProperties ()
 
virtual D_COLLISION_API ndFloat32 CalculateMassProperties (const ndMatrix &offset, ndVector &inertia, ndVector &crossInertia, ndVector &centerOfMass) const
 
virtual D_COLLISION_API ndMatrix CalculateInertiaAndCenterOfMass (const ndMatrix &alignMatrix, const ndVector &localScale, const ndMatrix &matrix) const
 
virtual D_COLLISION_API void CalculateAabb (const ndMatrix &matrix, ndVector &p0, ndVector &p1) const
 
virtual D_COLLISION_API ndInt32 CalculatePlaneIntersection (const ndVector &normal, const ndVector &point, ndVector *const contactsOut) const
 
virtual D_COLLISION_API ndVector CalculateVolumeIntegral (const ndMatrix &globalMatrix, const ndVector &globalPlane, const ndShapeInstance &parentScale) const
 
virtual D_COLLISION_API ndFloat32 RayCast (ndRayCastNotify &callback, const ndVector &localP0, const ndVector &localP1, ndFloat32 maxT, const ndBody *const body, ndContactPoint &contactOut) const
 
bool SanityCheck (ndPolyhedra &hull) const
 
bool SanityCheck (ndInt32 count, const ndVector &normal, ndVector *const contactsOut) const
 
ndInt32 RectifyConvexSlice (ndInt32 count, const ndVector &normal, ndVector *const contactsOut) const
 
virtual ndInt32 GetConvexVertexCount () const
 
virtual ndVector SupportVertexSpecial (const ndVector &dir, ndFloat32, ndInt32 *const vertexIndex) const
 
virtual ndVector SupportVertexSpecialProjectPoint (const ndVector &point, const ndVector &) const
 
virtual const ndConvexSimplexEdge ** GetVertexToEdgeMapping () const
 
virtual ndFloat32 GetVolume () const
 
virtual ndFloat32 GetBoxMinRadius () const
 
virtual ndFloat32 GetBoxMaxRadius () const
 
ndVector CalculateVolumeIntegral (const ndPlane &plane) const
 
ndInt32 BuildCylinderCapPoly (ndFloat32 radius, const ndMatrix &transform, ndVector *const vertexOut) const
 
- Protected Member Functions inherited from ndShape
D_COLLISION_API ndShape (ndShapeID id)
 
D_COLLISION_API ndShape (const ndShape &source)
 

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 ndShapeConvex
ndVectorm_vertex
 
ndConvexSimplexEdgem_simplex
 
ndFloat32 m_boxMinRadius
 
ndFloat32 m_boxMaxRadius
 
ndFloat32 m_simplexVolume
 
ndUnsigned16 m_edgeCount
 
ndUnsigned16 m_vertexCount
 
- 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