Classes | |
| class | ndNodeBase |
| class | ndSpliteInfo |
| class | ndTreeArray |
Public Types | |
| enum | ndNodeType { m_leaf, m_node } |
Public Member Functions | |
| D_CLASS_REFLECTION (ndShapeCompound) | |
| D_COLLISION_API | ndShapeCompound (const ndLoadSaveBase::ndLoadDescriptor &desc) |
| void | SetOwner (const ndShapeInstance *const myInstance) |
| D_COLLISION_API const ndTreeArray & | GetTree () const |
| virtual D_COLLISION_API void | BeginAddRemove () |
| virtual D_COLLISION_API ndTreeArray::ndNode * | AddCollision (ndShapeInstance *const part) |
| virtual D_COLLISION_API void | EndAddRemove () |
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 ndShape * | AddRef () const |
| virtual ndShapeBox * | GetAsShapeBox () |
| virtual ndShapeNull * | GetAsShapeNull () |
| virtual ndShapeCone * | GetAsShapeCone () |
| virtual ndShapePoint * | GetAsShapePoint () |
| virtual ndShapeConvex * | GetAsShapeConvex () |
| virtual ndShapeSphere * | GetAsShapeSphere () |
| virtual ndShapeCapsule * | GetAsShapeCapsule () |
| virtual ndShapeCylinder * | GetAsShapeCylinder () |
| virtual ndShapeStatic_bvh * | GetAsShapeStaticBVH () |
| virtual ndShapeStaticMesh * | GetAsShapeStaticMesh () |
| virtual ndShapeHeightfield * | GetAsShapeHeightfield () |
| virtual ndShapeConvexPolygon * | GetAsShapeAsConvexPolygon () |
| virtual ndShapeChamferCylinder * | GetAsShapeChamferCylinder () |
| virtual ndShapeStaticProceduralMesh * | GetAsShapeStaticProceduralMesh () |
| virtual ndInt32 | GetConvexVertexCount () const |
| 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 | |
| ndShapeCompound (const ndShapeCompound &source, const ndShapeInstance *const myInstance) | |
| virtual ndShapeInfo | GetShapeInfo () const |
| 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 | Save (const ndLoadSaveBase::ndSaveDescriptor &desc) const |
| virtual ndFloat32 | GetVolume () const |
| virtual ndFloat32 | GetBoxMinRadius () const |
| virtual ndFloat32 | GetBoxMaxRadius () const |
| virtual ndShapeCompound * | GetAsShapeCompound () |
| 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 |
| virtual void | MassProperties () |
| void | ApplyScale (const ndVector &scale) |
| void | SetSubShapeOwner (ndBodyKinematic *const body) |
| void | ImproveNodeFitness (ndNodeBase *const node) const |
| ndFloat64 | CalculateEntropy (ndInt32 count, ndNodeBase **array) |
| ndNodeBase * | BuildTopDown (ndNodeBase **const leafArray, ndInt32 firstBox, ndInt32 lastBox, ndNodeBase **rootNodesMemory, ndInt32 &rootIndex) |
| ndNodeBase * | BuildTopDownBig (ndNodeBase **const leafArray, ndInt32 firstBox, ndInt32 lastBox, ndNodeBase **rootNodesMemory, ndInt32 &rootIndex) |
| ndFloat32 | CalculateSurfaceArea (ndNodeBase *const node0, ndNodeBase *const node1, ndVector &minBox, ndVector &maxBox) const |
| ndMatrix | CalculateInertiaAndCenterOfMass (const ndMatrix &alignMatrix, const ndVector &localScale, const ndMatrix &matrix) const |
| ndFloat32 | CalculateMassProperties (const ndMatrix &offset, ndVector &inertia, ndVector &crossInertia, ndVector ¢erOfMass) const |
Protected Member Functions inherited from ndShape | |
| D_COLLISION_API | ndShape (ndShapeID id) |
| D_COLLISION_API | ndShape (const ndShape &source) |
Protected Attributes | |
| ndTreeArray | m_array |
| ndFloat64 | m_treeEntropy |
| ndFloat32 | m_boxMinRadius |
| ndFloat32 | m_boxMaxRadius |
| ndNodeBase * | m_root |
| const ndShapeInstance * | m_myInstance |
| ndInt32 | m_idIndex |
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 |
Friends | |
| class | ndBodyKinematic |
| class | ndShapeInstance |
| 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 Protected Attributes inherited from ndShape | |
| static ndVector | m_flushZero |