This class describes a brush (convex polyhedron) within a CollisionModelStaticT collision shape. More...
#include "CollisionModel_static.hpp"
Classes  
struct  EdgeT 
struct  SideT 
Public Member Functions  
BrushT ()  
The default constructor. More...  
void  CacheHullVerts () const 
void  CacheHullEdges () const 
void  TraceConvexSolid (const InternalTraceSolidT &TraceSolid, const Vector3dT &Start, const Vector3dT &Ray, unsigned long ClipMask, TraceResultT &Result) const 
Traces the given convex polyhedron from Start along Ray (up to the input value of Result.Fraction) through the brush, and reports the first collision, if any. More...  
void  TraceRay (const Vector3dT &Start, const Vector3dT &Ray, unsigned long ClipMask, TraceResultT &Result) const 
void  TraceBevelBB (const BoundingBox3dT &TraceBB, const Vector3dT &Start, const Vector3dT &Ray, unsigned long ClipMask, TraceResultT &Result) const 
Public Attributes  
CollisionModelStaticT *  Parent 
SideT *  Sides 
The sides of the brush (i.e. the planes whose intersection forms the brush). This points into Parent>m_BrushSides, the array of all sides of the collision shape the brush is a part of. More...  
unsigned long  NrOfSides 
How many sides the brush has. More...  
BoundingBox3dT  BB 
The bounding box (of the vertices) of this brush. More...  
unsigned long  Contents 
The contents of this brush. More...  
unsigned long  CheckCount 
Used in order to avoid processing things twice. More...  
unsigned long *  HullVerts 
The union of the vertex indices of the sides of this brush (i.e. the unique vertices whose convex hull forms the brush), referring into the m_Vertices list. More...  
unsigned long  NrOfHullVerts 
The number of unique vertices (or rather, vertex indices). More...  
EdgeT *  HullEdges 
The unique edges of this brush (e.g. edge <A, B> is not stored again as edge <B, A>). More...  
unsigned long  NrOfHullEdges 
The number of unique edges (or rather, edge indices). More...  
This class describes a brush (convex polyhedron) within a CollisionModelStaticT collision shape.
It is conceptually very similar to and has in fact been created from the Brush3T<double> class.
Brushes participate in traces (collision tests) and are exclusively used for volume contents tests.
Note that most members (all but CheckCount) could and should be declared "const"  if not for the assignment operator that is required when storing elements of this class in ArrayT<>s.
CollisionModelStaticT::BrushT::BrushT  (  ) 
The default constructor.
void CollisionModelStaticT::BrushT::TraceConvexSolid  (  const InternalTraceSolidT &  TraceSolid, 
const Vector3dT &  Start,  
const Vector3dT &  Ray,  
unsigned long  ClipMask,  
TraceResultT &  Result  
)  const 
Traces the given convex polyhedron from Start along Ray (up to the input value of Result.Fraction) through the brush, and reports the first collision, if any.
For more detailed documentation, see CollisionModelT::TraceConvexSolid(), which has the same signature.
BoundingBox3dT cf::ClipSys::CollisionModelStaticT::BrushT::BB 
The bounding box (of the vertices) of this brush.

mutable 
Used in order to avoid processing things twice.
unsigned long cf::ClipSys::CollisionModelStaticT::BrushT::Contents 
The contents of this brush.

mutable 
The unique edges of this brush (e.g. edge <A, B> is not stored again as edge <B, A>).

mutable 
The union of the vertex indices of the sides of this brush (i.e. the unique vertices whose convex hull forms the brush), referring into the m_Vertices list.

mutable 
The number of unique edges (or rather, edge indices).

mutable 
The number of unique vertices (or rather, vertex indices).
unsigned long cf::ClipSys::CollisionModelStaticT::BrushT::NrOfSides 
How many sides the brush has.
SideT* cf::ClipSys::CollisionModelStaticT::BrushT::Sides 
The sides of the brush (i.e. the planes whose intersection forms the brush). This points into Parent>m_BrushSides, the array of all sides of the collision shape the brush is a part of.