My Project: dgCollisionBVH Class Reference

My Project

Classes | Public Member Functions | Public Attributes | Friends | List of all members
dgCollisionBVH Class Reference

`#include <dgCollisionBVH.h>`

Inheritance diagram for dgCollisionBVH:

## Classes

struct | dgBVHRay

## Public Member Functions

| dgCollisionBVH (dgWorld *const world)
| dgCollisionBVH (dgWorld *const world, dgDeserialize deserialization, void *const userData)
virtual | ~dgCollisionBVH (void)
void | BeginBuild ()
void | AddFace (dgInt32 vertexCount, const dgFloat32 *const vertexPtr, dgInt32 strideInBytes, dgInt32 faceAttribute)
void | EndBuild (dgInt32 optimize)
void | SetCollisionRayCastCallback (dgCollisionBVHUserRayCastCallback rayCastCallback)
dgCollisionBVHUserRayCastCallback | GetDebugRayCastCallback () const
void | GetVertexListIndexList (const dgVector &p0, const dgVector &p1, dgMeshVertexListIndexList &data) const
void | ForEachFace (dgAABBIntersectCallback callback, void *const context) const
Public Member Functions inherited from dgCollisionMesh
| dgCollisionMesh (dgWorld *const world, dgCollisionID type)
| dgCollisionMesh (dgWorld *const world, dgDeserialize deserialization, void *const userData)
virtual | ~dgCollisionMesh ()
virtual dgFloat32 | GetVolume () const
virtual dgFloat32 | GetBoxMinRadius () const
virtual dgFloat32 | GetBoxMaxRadius () const
void | SetDebugCollisionCallback (dgCollisionMeshCollisionCallback debugCallback)
dgCollisionMeshCollisionCallback | GetDebugCollisionCallback () const
Public Member Functions inherited from dgCollision
dgInt32 | IsType (dgRTTI type) const
dgUnsigned32 | GetSignature () const
dgCollisionID | GetCollisionPrimityType () const
virtual void | MassProperties ()
virtual dgFloat32 | CalculateMassProperties (const dgMatrix &offset, dgVector &inertia, dgVector &crossInertia, dgVector &centerOfMass) const
virtual dgMatrix | CalculateInertiaAndCenterOfMass (const dgMatrix &m_alignMatrix, const dgVector &localScale, const dgMatrix &matrix) const
virtual dgFloat32 | GetSkinThickness () const
virtual void | SerializeLow (dgSerialize callback, void *const userData) const
virtual dgInt32 | GetConvexVertexCount () const
const dgCollision * | AddRef () const
dgInt32 | GetRefCount () const
virtual dgInt32 | Release () const
const dgVector & | GetObbOrigin () const
virtual dgVector | GetObbSize () const
dgFloat32 | GetUmbraClipSize () const
dgMemoryAllocator * | GetAllocator () const
Public Member Functions inherited from dgAABBPolygonSoup
virtual void | GetAABB (dgVector &p0, dgVector &p1) const
virtual void | Deserialize (dgDeserialize callback, void *const userData)
Public Member Functions inherited from dgPolygonSoupDatabase
dgFloat32 | GetRadius () const
dgInt32 | GetVertexCount () const
dgInt32 | GetStrideInBytes () const
dgFloat32 * | GetLocalVertexPool () const
dgUnsigned32 | GetTagId (const dgInt32 *const face, dgInt32 indexCount) const
void | SetTagId (const dgInt32 *const face, dgInt32 indexCount, dgUnsigned32 newID) const

## Public Attributes

dgCollisionBVH::dgBVHRay | DG_GCC_VECTOR_ALIGMENT
Public Attributes inherited from dgCollisionMesh
DG_MSC_VECTOR_ALIGMENT class dgCollisionMesh::dgMeshVertexListIndexList | DG_GCC_VECTOR_ALIGMENT

## Friends

class | dgCollisionCompound
class | dgCollisionDeformableMesh

## Additional Inherited Members

Public Types inherited from dgCollision

enum

dgRTTI {
dgCollisionNull_RTTI = 1<<0, dgCollisionBox_RTTI = 1<<1, dgCollisionCone_RTTI = 1<<2, dgCollisionSphere_RTTI = 1<<3,
dgCollisionCapsule_RTTI = 1<<4, dgCollisionCylinder_RTTI = 1<<5, dgCollisionConvexHull_RTTI = 1<<6, dgCollisionTaperedCapsule_RTTI = 1<<7,
dgCollisionTaperedCylinder_RTTI = 1<<8, dgCollisionChamferCylinder_RTTI = 1<<9, dgCollisionConvexPolygon_RTTI = 1<<10, dgCollisionConvexShape_RTTI = 1<<11,
dgCollisionCompound_RTTI = 1<<12, dgCollisionBVH_RTTI = 1<<13, dgCollisionMesh_RTTI = 1<<14, dgCollisionDeformableMesh_RTTI = 1<<15,
dgCollisionDeformableSolidMesh_RTTI = 1<<16, dgCollisionDeformableClothPatch_RTTI = 1<<17, dgCollisionUserMesh_RTTI = 1<<18, dgCollisionHeightField_RTTI = 1<<19,
dgCollisionScene_RTTI = 1<<20, dgCollisionCompoundBreakable_RTTI = 1<<21
}

typedef void(dgApi * | OnDebugCollisionMeshCallback) (void *userData, int vertexCount, const dgFloat32 *FaceArray, int faceId)
Static Public Member Functions inherited from dgCollision
static dgUnsigned32 | Quantize (dgFloat32 value)
static dgUnsigned32 | Quantize (void *buffer, int size)
Protected Member Functions inherited from dgCollisionMesh
virtual void | SetCollisionBBox (const dgVector &p0, const dgVector &p1)
Protected Member Functions inherited from dgCollision
| dgCollision (const dgCollision &source)
| dgCollision (dgMemoryAllocator *const allocator, dgUnsigned32 signature, dgCollisionID id)
| dgCollision (dgWorld *const world, dgDeserialize deserialization, void *const userData)
virtual | ~dgCollision ()
void | SetSignature (dgInt32 signature)
Protected Member Functions inherited from dgAABBPolygonSoup
| dgAABBPolygonSoup ()
virtual | ~dgAABBPolygonSoup ()
void | Create (const dgPolygonSoupDatabaseBuilder &builder, bool optimizedBuild)
void | CalculateAdjacendy ()
virtual void | ForAllSectorsRayHit (const dgFastRayTest &ray, dgFloat32 maxT, dgRayIntersectCallback callback, void *const context) const
virtual void | ForAllSectors (const dgFastAABBInfo &obbAabb, const dgVector &boxDistanceTravel, dgFloat32 m_maxT, dgAABBIntersectCallback callback, void *const context) const
DG_INLINE void * | GetRootNode () const
DG_INLINE void * | GetBackNode (const void *const root) const
DG_INLINE void * | GetFrontNode (const void *const root) const
DG_INLINE void | GetNodeAABB (const void *const root, dgVector &p0, dgVector &p1) const
virtual dgVector | ForAllSectorsSupportVectex (const dgVector &dir) const
Protected Member Functions inherited from dgPolygonSoupDatabase
| dgPolygonSoupDatabase (const char *const name=NULL)
virtual | ~dgPolygonSoupDatabase ()
Protected Attributes inherited from dgCollisionMesh
dgCollisionMeshCollisionCallback | m_debugCallback
Protected Attributes inherited from dgCollision
dgVector | m_inertia
dgVector | m_crossInertia
dgVector | m_centerOfMass
dgVector | m_boxSize
dgVector | m_boxOrigin
dgInt32 | m_rtti
dgInt32 | m_refCount
dgUnsigned32 | m_signature
dgCollisionID | m_collisionId
dgMemoryAllocator * | m_allocator
Protected Attributes inherited from dgPolygonSoupDatabase
dgInt32 | m_vertexCount
dgInt32 | m_strideInBytes
dgFloat32 * | m_localVertex

## Constructor & Destructor Documentation

## § dgCollisionBVH() [1/2]

dgCollisionBVH::dgCollisionBVH | ( | dgWorld *const | world | ) |

## § dgCollisionBVH() [2/2]

dgCollisionBVH::dgCollisionBVH | ( | dgWorld *const | world,
|  | dgDeserialize | deserialization,
|  | void *const | userData
| ) |  |

## § ~dgCollisionBVH()

dgCollisionBVH::~dgCollisionBVH | ( | void |  | ) |

virtual

## Member Function Documentation

## § AddFace()

void dgCollisionBVH::AddFace | ( | dgInt32 | vertexCount,
|  | const dgFloat32 *const | vertexPtr,
|  | dgInt32 | strideInBytes,
|  | dgInt32 | faceAttribute
| ) |  |

## § BeginBuild()

void dgCollisionBVH::BeginBuild | ( |  | ) |

## § EndBuild()

void dgCollisionBVH::EndBuild | ( | dgInt32 | optimize | ) |

## § ForEachFace()

void dgCollisionBVH::ForEachFace | ( | dgAABBIntersectCallback | callback,
|  | void *const | context
| ) |  | const

## § GetDebugRayCastCallback()

dgCollisionBVHUserRayCastCallback dgCollisionBVH::GetDebugRayCastCallback | ( |  | ) | const

inline

## § GetVertexListIndexList()

void dgCollisionBVH::GetVertexListIndexList | ( | const dgVector & | p0,
|  | const dgVector & | p1,
|  | dgMeshVertexListIndexList & | data
| ) |  | const

virtual

Implements dgCollisionMesh.

## § SetCollisionRayCastCallback()

void dgCollisionBVH::SetCollisionRayCastCallback | ( | dgCollisionBVHUserRayCastCallback | rayCastCallback | ) |

## Friends And Related Function Documentation

## § dgCollisionCompound

friend class dgCollisionCompound

friend

## § dgCollisionDeformableMesh

friend class dgCollisionDeformableMesh

friend

## Member Data Documentation

## § DG_GCC_VECTOR_ALIGMENT

dgCollisionBVH::dgBVHRay dgCollisionBVH::DG_GCC_VECTOR_ALIGMENT

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

- dynamics.mod/NewtonDynamics/source/physics/dgCollisionBVH.h
- dynamics.mod/NewtonDynamics/source/physics/dgCollisionBVH.cpp