PolyhedronData
Engine/source/math/mPolyhedron.h
Base class for helping to abstract over how a polyhedron stores and updates its data.
Classes:
Winged edge.
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)