Classes | |
class | dgHeapNodePair |
class | dgNodeBase |
class | OOBBTestData |
Public Member Functions | |
dgCollisionCompound (dgWorld *world) | |
dgCollisionCompound (const dgCollisionCompound &source) | |
dgCollisionCompound (dgInt32 count, dgCollisionConvex *const shapeArray[], dgWorld *world) | |
dgCollisionCompound (dgWorld *const world, dgDeserialize deserialization, void *const userData) | |
void | AddCollision (dgCollisionConvex *part) |
void | RemoveCollision (dgNodeBase *node) |
Public Member Functions inherited from dgCollision | |
const dgMatrix & | GetOffsetMatrix () const |
void | SetOffsetMatrix (const dgMatrix &matrix) |
dgCollisionID | GetCollisionPrimityType () const |
dgUnsigned32 | SetUserDataID () const |
void | SetUserDataID (dgUnsigned32 userData) |
dgInt32 | IsType (RTTI type) const |
virtual void * | GetUserData () const |
virtual void | SetUserData (void *const userData) |
virtual bool | IsEdgeIntersection () const |
virtual void | SerializeLow (dgSerialize callback, void *const userData) const |
dgUnsigned32 | GetSignature () const |
virtual dgMatrix | ModifierGetMatrix () const |
virtual void | ModifierSetMatrix (const dgMatrix &matrix) |
virtual bool | IsTriggerVolume () const |
virtual void | SetAsTriggerVolume (bool mode) |
virtual void | SetBreakImpulse (dgFloat32 force) |
virtual dgFloat32 | GetBreakImpulse () const |
dgCollision * | AddRef () |
virtual dgInt32 | Release () |
dgInt32 | GetRefCount () const |
dgMemoryAllocator * | GetAllocator () const |
Protected Types | |
enum | dgNodeType { m_leaf, m_node } |
Protected Member Functions | |
void | Init (dgInt32 count, dgCollisionConvex *const shapeArray[]) |
virtual dgFloat32 | GetVolume () const |
virtual dgFloat32 | GetBoxMinRadius () const |
virtual dgFloat32 | GetBoxMaxRadius () const |
virtual dgVector | SupportVertex (const dgVector &dir) const |
virtual void | CalcAABB (const dgMatrix &matrix, dgVector &p0, dgVector &p1) const |
virtual void | CalcAABBSimd (const dgMatrix &matrix, dgVector &p0, dgVector &p1) const |
virtual bool | OOBBTest (const dgMatrix &matrix, const dgCollisionConvex *const shape, void *const cacheOrder) const |
virtual void | DebugCollision (const dgMatrix &matrix, OnDebugCollisionMeshCallback callback, void *const userData) const |
virtual void | CalculateInertia (dgVector &inertia, dgVector &origin) const |
virtual dgVector | CalculateVolumeIntegral (const dgMatrix &globalMatrix, GetBuoyancyPlane bouyancyPlane, void *const context) const |
virtual dgFloat32 | RayCast (const dgVector &localP0, const dgVector &localP1, dgContactPoint &contactOut, OnRayPrecastAction preFilter, const dgBody *const body, void *const userData) const |
virtual dgFloat32 | RayCastSimd (const dgVector &localP0, const dgVector &localP1, dgContactPoint &contactOut, OnRayPrecastAction preFilter, const dgBody *const body, void *const userData) const |
dgNodeBase * | BuildTree (dgInt32 count, dgCollisionConvex *const shapeArray[]) |
virtual dgInt32 | CalculateSignature () const |
virtual void | SetCollisionBBox (const dgVector &p0, const dgVector &p1) |
virtual void | GetCollisionInfo (dgCollisionInfo *info) const |
virtual void | Serialize (dgSerialize callback, void *const userData) const |
void | LinkParentNodes () |
dgInt32 | CalculateContacts (dgCollidingPairCollector::dgPair *const pair, dgCollisionParamProxy &proxy, dgInt32 useSimd) const |
dgInt32 | CalculateContactsToSingle (dgCollidingPairCollector::dgPair *const pair, dgCollisionParamProxy &proxy, dgInt32 useSimd) const |
dgInt32 | CalculateContactsToCompound (dgCollidingPairCollector::dgPair *const pair, dgCollisionParamProxy &proxy, dgInt32 useSimd) const |
dgInt32 | CalculateContactsToCollisionTree (dgCollidingPairCollector::dgPair *const pair, dgCollisionParamProxy &proxy, dgInt32 useSimd) const |
dgInt32 | CalculateContactsToHeightField (dgCollidingPairCollector::dgPair *const pair, dgCollisionParamProxy &proxy, dgInt32 useSimd) const |
dgInt32 | CalculateContactsBruteForce (dgCollidingPairCollector::dgPair *const pair, dgCollisionParamProxy &proxy, dgInt32 useSimd) const |
dgInt32 | ClosestDitance (dgBody *const bodyA, dgTriplex &contactA, dgBody *const bodyB, dgTriplex &contactB, dgTriplex &normalAB) const |
void | ImproveNodeFitness (dgNodeBase *const node) const |
dgNodeBase * | BuildTopDownTree (dgInt32 count, dgNodeBase **const proxiArray, dgInt32 &id) |
void | PushNodes (dgNodeBase *const root, dgNodeBase **const proxiArray, dgInt32 &index) const |
dgFloat32 | CalculateSurfaceArea (dgNodeBase *const node0, dgNodeBase *const node1, dgVector &minBox, dgVector &maxBox) const |
Protected Member Functions inherited from dgCollision | |
dgCollision (dgMemoryAllocator *const allocator, dgUnsigned32 signature, const dgMatrix &matrix, dgCollisionID id) | |
dgCollision (dgWorld *const world, dgDeserialize deserialization, void *const userData) | |
void | SetSignature (dgInt32 signature) |
Protected Attributes | |
DG_MSC_VECTOR_ALIGMENT class dgCollisionCompound::dgNodeBase | DG_GCC_VECTOR_ALIGMENT |
dgInt32 | m_count |
dgFloat32 | m_boxMinRadius |
dgFloat32 | m_boxMaxRadius |
dgWorld * | m_world |
dgNodeBase * | m_root |
dgCollisionConvex ** | m_array |
OnCompoundCollisionPrefilter * | m_preCollisionFilter |
Protected Attributes inherited from dgCollision | |
dgMatrix | m_offset |
dgMemoryAllocator * | m_allocator |
dgInt32 | m_rtti |
dgInt32 | m_refCount |
dgUnsigned32 | m_userDataID |
dgUnsigned32 | m_signature |
dgCollisionID | m_collsionId |
Additional Inherited Members | |
Public Types inherited from dgCollision | |
enum | RTTI { dgCollisionNull_RTTI = 1 << 0, dgCollisionBox_RTTI = 1 << 1, dgCollisionCone_RTTI = 1 << 2, dgCollisionSphere_RTTI = 1 << 3, dgCollisionEllipse_RTTI = 1 << 4, dgCollisionCapsule_RTTI = 1 << 5, dgCollisionCylinder_RTTI = 1 << 6, dgCollisionConvexHull_RTTI = 1 << 7, dgCollisionChamferCylinder_RTTI = 1 << 8, dgCollisionConvexModifier_RTTI = 1 << 9, dgCollisionConvexPolygon_RTTI = 1 << 10, dgConvexCollision_RTTI = 1 << 11, dgCollisionCompound_RTTI = 1 << 12, dgCollisionBVH_RTTI = 1 << 13, dgCollisionMesh_RTTI = 1 << 14, dgCollisionUserMesh_RTTI = 1 << 15, dgCollisionHeightField_RTTI = 1 << 16, dgCollisionScene_RTTI = 1 << 17, dgCollisionCompoundBreakable_RTTI = 1 << 18 } |
Static Public Member Functions inherited from dgCollision | |
static dgUnsigned32 | Quantize (dgFloat32 value) |
static dgUnsigned32 | MakeCRC (void *buffer, int size) |