27 #ifndef __dgPolygonSoupDatabase0x23413452233__ 28 #define __dgPolygonSoupDatabase0x23413452233__ 34 #include "dgIntersections.h" 42 dgFloat32 GetRadius()
const;
43 dgInt32 GetVertexCount()
const;
44 dgInt32 GetStrideInBytes()
const;
45 dgFloat32 *GetLocalVertexPool()
const;
47 dgUnsigned32 GetTagId(
const dgInt32 *face)
const;
48 void SetTagId(
const dgInt32 *face, dgUnsigned32 newID)
const;
50 virtual void Serialize(dgSerialize callback,
void *
const userData)
const = 0;
51 virtual void Deserialize(dgDeserialize callback,
void *
const userData) = 0;
60 virtual void ForAllSectors(
const dgVector &min,
const dgVector &max, dgAABBIntersectCallback callback,
void *
const context)
const;
61 virtual void ForAllSectorsSimd(
const dgVector &min,
const dgVector &max, dgAABBIntersectCallback callback,
void *
const context)
const;
62 virtual void ForAllSectorsRayHit(
const dgFastRayTest &ray, dgRayIntersectCallback callback,
void *
const context)
const;
63 virtual void ForAllSectorsRayHitSimd(
const dgFastRayTest &ray, dgRayIntersectCallback callback,
void *
const context)
const;
70 dgInt32 m_vertexCount;
71 dgInt32 m_strideInBytes;
72 dgFloat32 *m_localVertex;
76 inline dgPolygonSoupDatabase::dgPolygonSoupDatabase(
const char *name)
84 inline dgPolygonSoupDatabase::~dgPolygonSoupDatabase() {
86 dgFreeStack(m_localVertex);
91 inline dgUnsigned32 dgPolygonSoupDatabase::GetTagId(
const dgInt32 *face)
const {
92 return dgUnsigned32(face[-1]);
95 inline void dgPolygonSoupDatabase::SetTagId(
const dgInt32 *facePtr, dgUnsigned32 newID)
const {
97 face =
const_cast<dgUnsigned32 *
>((
const dgUnsigned32 *)facePtr);
101 inline dgInt32 dgPolygonSoupDatabase::GetVertexCount()
const {
102 return m_vertexCount;
105 inline dgFloat32 *dgPolygonSoupDatabase::GetLocalVertexPool()
const {
106 return m_localVertex;
109 inline dgInt32 dgPolygonSoupDatabase::GetStrideInBytes()
const {
110 return m_strideInBytes;
113 inline dgFloat32 dgPolygonSoupDatabase::GetRadius()
const {
117 inline void dgPolygonSoupDatabase::ForAllSectorsSimd(
const dgVector &min,
const dgVector &max, dgAABBIntersectCallback callback,
void *
const context)
const {
123 inline void dgPolygonSoupDatabase::ForAllSectors(
const dgVector &min,
const dgVector &max, dgAABBIntersectCallback callback,
void *
const context)
const {
128 inline void dgPolygonSoupDatabase::GetAABB(
dgVector &p0,
dgVector &p1)
const {
132 inline void dgPolygonSoupDatabase::ForAllSectorsRayHit(
const dgFastRayTest &ray, dgRayIntersectCallback callback,
void *
const context)
const {
136 inline void dgPolygonSoupDatabase::ForAllSectorsRayHitSimd(
const dgFastRayTest &ray, dgRayIntersectCallback callback,
void *
const context)
const {
Definition: dgPolygonSoupDatabase.h:40
Definition: dgIntersections.h:35
Definition: dgVector.h:86
Definition: dgMatrix.h:41