106 void GetFaces(std::vector<std::vector<size_t> >&
out)
const;
127 #endif // maths_brush_h CBrush()
Definition: Brush.h:42
void GetFaces(std::vector< std::vector< size_t > > &out) const
Writes a vector of the faces in this brush to out.
Definition: Brush.cpp:388
void Intersect(const CFrustum &frustum, CBrush &result) const
Intersect: Intersect the brush with the given frustum.
Definition: Brush.cpp:349
static void out(const wchar_t *fmt,...)
Definition: wdbg_sym.cpp:419
std::vector< CVector3D > GetVertices() const
Returns a copy of the vertices in this brush.
Definition: Brush.cpp:383
void RenderOutline(CShaderProgramPtr &shader) const
Render the outline of the brush as lines.
Definition: Brush.cpp:457
std::vector< CVector3D > Vertices
Definition: Brush.h:111
friend class TestBrush
Definition: Brush.h:39
bool IsEmpty() const
IsEmpty: Returns whether the brush is empty.
Definition: Brush.h:56
static const size_t NO_VERTEX
Definition: Brush.h:109
Definition: Brush.cpp:122
Class CBrush: Represents a convex object, supports some CSG operations.
Definition: Brush.h:37
void Slice(const CPlane &plane, CBrush &result) const
Slice: Cut the object along the given plane, resulting in a smaller (or even empty) brush representin...
Definition: Brush.cpp:193
Vertices m_Vertices
Collection of unique vertices that make up this shape.
Definition: Brush.h:115
FaceIndices m_Faces
Holds the face definitions of this brush.
Definition: Brush.h:122
void Bounds(CBoundingBoxAligned &result) const
Bounds: Calculate the axis-aligned bounding box for this brush.
Definition: Brush.cpp:64
Definition: BoundingBoxAligned.h:35
void Render(CShaderProgramPtr &shader) const
Render the surfaces of the brush as triangles.
Definition: Brush.cpp:419
std::vector< size_t > FaceIndices
Definition: Brush.h:112
std::shared_ptr< CShaderProgram > CShaderProgramPtr
Definition: ShaderProgramPtr.h:25