PolyhedronData

Engine/source/math/mPolyhedron.h

Base class for helping to abstract over how a polyhedron stores and updates its data.

More...

Classes:

class

Public Types

EdgeType 
PlaneType 
PointType 

Public Static Functions

buildBoxData(Polyhedron & poly, const MatrixF & mat, const Box3F & box, bool invertNormals)

Detailed Description

Base class for helping to abstract over how a polyhedron stores and updates its data.

The PolyhedronData class hierarchy is designed to give users of PolyhedronImpl maximum freedom in modifying those behaviors. This leads to some duplicating in the various PolyhedronData classes but it ultimately provides greater control.

All accesses to the data go through accessors on the base classes. This gives the base class the freedom to implement lazy updates, for example.

A given base implementation is also free to store additional data or derive extended classes from the base classes expected for points (Point3F), edges (Edge), and planes (PlaneF). If a class does that, it loses the ability to trivially convert to AnyPolyhedron, though.

Public Types

typedef Edge EdgeType 
typedef PlaneF PlaneType 
typedef Point3F PointType 

Public Static Functions

buildBoxData(Polyhedron & poly, const MatrixF & mat, const Box3F & box, bool invertNormals)