diff options
author | Sergeanur <s.anureev@yandex.ua> | 2020-11-14 22:13:32 +0200 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2020-11-16 00:36:54 +0200 |
commit | 9bb8ebaa1011dc1dc70e3d5bf70c9a55c44b976c (patch) | |
tree | 3dcbab653ba34fa1fdc273887bd377603c4ff4f2 /src/collision/ColModel.h | |
parent | 26c6908d2552f6032c7440f25e1ad608959ebf0b (diff) |
Make collision code placement more like original (+ small fixes)
# Conflicts:
# premake5.lua
# src/CMakeLists.txt
# src/collision/Collision.cpp
# src/core/Collision.h
Diffstat (limited to 'src/collision/ColModel.h')
-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 |