ScummVM API documentation
dgCollision Class Referenceabstract
Inheritance diagram for dgCollision:
dgCollisionCompound dgCollisionConvex dgCollisionMesh dgCollisionScene dgCollisionCompoundBreakable dgCollisionBox dgCollisionCapsule dgCollisionChamferCylinder dgCollisionCompoundBreakable::dgCollisionConvexIntance dgCollisionCone dgCollisionConvexHull dgCollisionConvexModifier dgCollisionCylinder dgCollisionMesh::dgCollisionConvexPolygon dgCollisionNull dgCollisionSphere dgCollisionBVH dgCollisionHeightField dgCollisionUserMesh

Public Types

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
}
 

Public Member Functions

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 dgVector SupportVertex (const dgVector &dir) const =0
 
virtual void SetCollisionBBox (const dgVector &p0, const dgVector &p1)=0
 
virtual void CalcAABB (const dgMatrix &matrix, dgVector &p0, dgVector &p1) const =0
 
virtual void CalcAABBSimd (const dgMatrix &matrix, dgVector &p0, dgVector &p1) const =0
 
virtual bool OOBBTest (const dgMatrix &matrix, const dgCollisionConvex *const shape, void *const cacheOrder) const =0
 
virtual bool IsEdgeIntersection () const
 
virtual void DebugCollision (const dgMatrix &matrix, OnDebugCollisionMeshCallback callback, void *const userData) const =0
 
virtual dgFloat32 RayCast (const dgVector &localP0, const dgVector &localP1, dgContactPoint &contactOut, OnRayPrecastAction preFilter, const dgBody *const body, void *const userData) const =0
 
virtual dgFloat32 RayCastSimd (const dgVector &localP0, const dgVector &localP1, dgContactPoint &contactOut, OnRayPrecastAction preFilter, const dgBody *const body, void *const userData) const
 
virtual dgFloat32 GetVolume () const =0
 
virtual dgFloat32 GetBoxMinRadius () const =0
 
virtual dgFloat32 GetBoxMaxRadius () const =0
 
virtual void CalculateInertia (dgVector &inertia, dgVector &origin) const =0
 
virtual dgVector CalculateVolumeIntegral (const dgMatrix &globalMatrix, GetBuoyancyPlane bouyancyPlane, void *const context) const =0
 
virtual void Serialize (dgSerialize callback, void *const userData) const =0
 
virtual void GetCollisionInfo (dgCollisionInfo *info) 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
 

Static Public Member Functions

static dgUnsigned32 Quantize (dgFloat32 value)
 
static dgUnsigned32 MakeCRC (void *buffer, int size)
 

Protected Member Functions

 dgCollision (dgMemoryAllocator *const allocator, dgUnsigned32 signature, const dgMatrix &matrix, dgCollisionID id)
 
 dgCollision (dgWorld *const world, dgDeserialize deserialization, void *const userData)
 
void SetSignature (dgInt32 signature)
 
virtual dgInt32 CalculateSignature () const =0
 

Protected Attributes

dgMatrix m_offset
 
dgMemoryAllocatorm_allocator
 
dgInt32 m_rtti
 
dgInt32 m_refCount
 
dgUnsigned32 m_userDataID
 
dgUnsigned32 m_signature
 
dgCollisionID m_collsionId
 

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