diff options
Diffstat (limited to '')
-rw-r--r-- | src/collision/ColModel.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/collision/ColModel.h b/src/collision/ColModel.h new file mode 100644 index 00000000..cd5ae651 --- /dev/null +++ b/src/collision/ColModel.h @@ -0,0 +1,39 @@ +#pragma once + +#include "templates.h" +#include "ColBox.h" +#include "ColSphere.h" +#include "ColLine.h" +#include "ColPoint.h" +#include "ColTriangle.h" + +struct CColModel +{ + CSphere boundingSphere; + CBox boundingBox; + int16 numSpheres; + int16 numBoxes; + int16 numTriangles; + int8 numLines; + uint8 level; // colstore slot but probably still named level + bool ownsCollisionVolumes; + CColSphere *spheres; + CColLine *lines; + CColBox *boxes; + CompressedVector *vertices; + CColTriangle *triangles; + CColTrianglePlane *trianglePlanes; + + CColModel(void); + ~CColModel(void); + void RemoveCollisionVolumes(void); + void CalculateTrianglePlanes(void); + void RemoveTrianglePlanes(void); + CLink<CColModel*> *GetLinkPtr(void); + void SetLinkPtr(CLink<CColModel*>*); + void GetTrianglePoint(CVector &v, int i) const; + + void *operator new(size_t); + void operator delete(void *p, size_t); + CColModel& operator=(const CColModel& other); +};
\ No newline at end of file |