7 #ifndef CAFU_CLIPSYS_TRACESOLID_HPP_INCLUDED
8 #define CAFU_CLIPSYS_TRACESOLID_HPP_INCLUDED
10 #include "Math3D/BoundingBox.hpp"
11 #include "Math3D/Matrix3x3.hpp"
12 #include "Math3D/Plane3.hpp"
75 virtual const EdgeT*
GetEdges()
const = 0;
118 const EdgeT*
GetEdges()
const override {
return s_Edges; }
126 const static EdgeT s_Edges[12];
149 const EdgeT*
GetEdges()
const override {
return &m_Edges[0]; }
unsigned int GetNumVertices() const override
Returns the number of vertices of this solid.
Definition: TraceSolid.hpp:113
TraceGenericT()
Creates an empty (invalid) trace model.
Definition: TraceSolid.cpp:47
const Vector3dT * GetVertices() const override
Returns the vertices of this solid.
Definition: TraceSolid.hpp:145
const EdgeT * GetEdges() const override
Returns the edges of this solid.
Definition: TraceSolid.hpp:149
virtual unsigned int GetNumVertices() const =0
Returns the number of vertices of this solid.
unsigned int B
Index of the second vertex of this edge.
Definition: TraceSolid.hpp:38
void AssignInvTransformed(const TraceSolidT &Other, const math::Matrix3x3dT &Mat)
Assigns the given solid to this one, transformed by the transpose of the given matrix.
Definition: TraceSolid.cpp:52
TracePointT()
Creates a convex solid in the shape of a point.
Definition: TraceSolid.hpp:87
This struct describes an edge of a TraceSolidT.
Definition: TraceSolid.hpp:35
This class represents a solid object that can be traced through collision worlds, models and shapes...
Definition: TraceSolid.hpp:30
virtual const Plane3dT * GetPlanes() const =0
Returns the planes of this solid.
unsigned long Size() const
Get size of array.
Definition: Array.hpp:138
virtual const Vector3dT * GetVertices() const =0
Returns the vertices of this solid.
const Vector3dT * GetVertices() const override
Returns the vertices of this solid.
Definition: TraceSolid.hpp:114
const Plane3dT * GetPlanes() const override
Returns the planes of this solid.
Definition: TraceSolid.hpp:116
const Plane3dT * GetPlanes() const override
Returns the planes of this solid.
Definition: TraceSolid.hpp:147
This class represents a generic convex solid of arbitrary shape.
Definition: TraceSolid.hpp:131
unsigned int GetNumPlanes() const override
Returns the number of planes of this solid.
Definition: TraceSolid.hpp:92
const EdgeT * GetEdges() const override
Returns the edges of this solid.
Definition: TraceSolid.hpp:118
virtual unsigned int GetNumPlanes() const =0
Returns the number of planes of this solid.
TraceSolidT()
The constructor.
Definition: TraceSolid.hpp:43
unsigned int A
Index of the first vertex of this edge.
Definition: TraceSolid.hpp:37
TraceBoxT(const BoundingBox3dT &BB)
Creates a trace solid from (in the shape of) the given axis-aligned bounding-box. ...
Definition: TraceSolid.cpp:16
This class represents a convex solid in the shape of a (bounding-)box.
Definition: TraceSolid.hpp:105
const Plane3dT * GetPlanes() const override
Returns the planes of this solid.
Definition: TraceSolid.hpp:93
virtual unsigned int GetNumEdges() const =0
Returns the number of edges of this solid.
unsigned int GetNumVertices() const override
Returns the number of vertices of this solid.
Definition: TraceSolid.hpp:90
unsigned int GetNumPlanes() const override
Returns the number of planes of this solid.
Definition: TraceSolid.hpp:146
unsigned int GetNumEdges() const override
Returns the number of edges of this solid.
Definition: TraceSolid.hpp:148
const EdgeT * GetEdges() const override
Returns the edges of this solid.
Definition: TraceSolid.hpp:95
virtual const EdgeT * GetEdges() const =0
Returns the edges of this solid.
This class represents a convex solid in the shape of a point.
Definition: TraceSolid.hpp:82
virtual ~TraceSolidT()
The virtual destructor.
Definition: TraceSolid.hpp:46
unsigned int GetNumPlanes() const override
Returns the number of planes of this solid.
Definition: TraceSolid.hpp:115
unsigned int GetNumEdges() const override
Returns the number of edges of this solid.
Definition: TraceSolid.hpp:94
const Vector3dT * GetVertices() const override
Returns the vertices of this solid.
Definition: TraceSolid.hpp:91
Definition: Renderer.hpp:16
BoundingBox3dT GetBB() const
Returns the bounding-box of (the vertices of) this solid.
Definition: TraceSolid.hpp:49
unsigned int GetNumVertices() const override
Returns the number of vertices of this solid.
Definition: TraceSolid.hpp:144
unsigned int GetNumEdges() const override
Returns the number of edges of this solid.
Definition: TraceSolid.hpp:117