ScummVM API documentation
dgCollisionCompound Class Reference
Inheritance diagram for dgCollisionCompound:
dgCollision dgCollisionCompoundBreakable

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 dgMatrixGetOffsetMatrix () 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
 
dgCollisionAddRef ()
 
virtual dgInt32 Release ()
 
dgInt32 GetRefCount () const
 
dgMemoryAllocatorGetAllocator () 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
 
dgNodeBaseBuildTree (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
 
dgNodeBaseBuildTopDownTree (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
 
dgWorldm_world
 
dgNodeBasem_root
 
dgCollisionConvex ** m_array
 
OnCompoundCollisionPrefilter * m_preCollisionFilter
 
- Protected Attributes inherited from dgCollision
dgMatrix m_offset
 
dgMemoryAllocatorm_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)
 

The documentation for this class was generated from the following file: