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

Public Member Functions

 D_CLASS_REFLECTION (ndShapeCone)
 
D_COLLISION_API ndShapeCone (ndFloat32 radio, ndFloat32 height)
 
D_COLLISION_API ndShapeCone (const ndLoadSaveBase::ndLoadDescriptor &desc)
 
virtual ndShapeConeGetAsShapeCone ()
 
- 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 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

D_COLLISION_API void Init (ndFloat32 radio, ndFloat32 height)
 
virtual D_COLLISION_API ndShapeInfo GetShapeInfo () const
 
virtual D_COLLISION_API void CalculateAabb (const ndMatrix &matrix, ndVector &p0, ndVector &p1) const
 
virtual D_COLLISION_API void DebugShape (const ndMatrix &matrix, ndShapeDebugNotify &debugCallback) const
 
virtual D_COLLISION_API ndVector SupportVertexSpecialProjectPoint (const ndVector &point, const ndVector &dir) const
 
virtual D_COLLISION_API ndVector SupportVertex (const ndVector &dir, ndInt32 *const vertexIndex) const
 
virtual D_COLLISION_API ndVector SupportVertexSpecial (const ndVector &dir, ndFloat32 skinMargin, ndInt32 *const vertexIndex) const
 
virtual D_COLLISION_API ndFloat32 RayCast (ndRayCastNotify &callback, const ndVector &localP0, const ndVector &localP1, ndFloat32 maxT, const ndBody *const body, ndContactPoint &contactOut) const
 
virtual D_COLLISION_API void Save (const ndLoadSaveBase::ndSaveDescriptor &desc) const
 
virtual ndInt32 CalculatePlaneIntersection (const ndVector &normal, const ndVector &point, ndVector *const contactsOut) 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 ndVector CalculateVolumeIntegral (const ndMatrix &globalMatrix, const ndVector &globalPlane, const ndShapeInstance &parentScale) 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 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)
 

Protected Attributes

ndVector m_profile [3]
 
ndFloat32 m_height
 
ndFloat32 m_radius
 
ndVector m_vertex [D_CONE_SEGMENTS+1]
 
- 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

static ndInt32 m_shapeRefCount = 0
 
static ndConvexSimplexEdge m_edgeArray []
 
- Static Protected Attributes inherited from ndShape
static ndVector m_flushZero
 

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)