BoxBase
Base class for box geometries.
Public Types
Edges { NearLeftEdge NearBottomEdge NearRightEdge NearTopEdge FarLeftEdge FarTopEdge FarRightEdge FarBottomEdge LeftTopEdge LeftBottomEdge RightTopEdge RightBottomEdge NUM_EDGES InvalidEdge }
Indices for the edges of the box.
PlaneMasks { PlaneMaskLeft = ( 1 << LeftPlane ) PlaneMaskRight = ( 1 << RightPlane ) PlaneMaskTop = ( 1 << TopPlane ) PlaneMaskBottom = ( 1 << BottomPlane ) PlaneMaskNear = ( 1 << NearPlane ) PlaneMaskFar = ( 1 << FarPlane ) PlaneMaskAll = 0xFFFFFFFF }
Planes { LeftPlane RightPlane NearPlane FarPlane TopPlane BottomPlane NUM_PLANES }
Indices for the side planes of the box.
Points { NearBottomRight NearTopRight NearTopLeft NearBottomLeft FarBottomRight FarTopRight FarTopLeft FarBottomLeft NUM_POINTS InvalidPoint = NUM_POINTS }
Indices of the corner points.
Public Static Functions
getEdgePointIndices(Edges edge, Points & outP1, Points & outP2)
Get the start and end point of the given edge.
Return the point index for the opposite corner of p.
getPlanePointIndex(Planes plane, U32 i)
Return the point index for the corner point that corresponds to the octant that p points to.
Detailed Description
Base class for box geometries.
Public Types
Edges
Enumerator
- NearLeftEdge
- NearBottomEdge
- NearRightEdge
- NearTopEdge
- FarLeftEdge
- FarTopEdge
- FarRightEdge
- FarBottomEdge
- LeftTopEdge
- LeftBottomEdge
- RightTopEdge
- RightBottomEdge
- NUM_EDGES
- InvalidEdge
Indices for the edges of the box.
PlaneMasks
Enumerator
- PlaneMaskLeft = ( 1 << LeftPlane )
- PlaneMaskRight = ( 1 << RightPlane )
- PlaneMaskTop = ( 1 << TopPlane )
- PlaneMaskBottom = ( 1 << BottomPlane )
- PlaneMaskNear = ( 1 << NearPlane )
- PlaneMaskFar = ( 1 << FarPlane )
- PlaneMaskAll = 0xFFFFFFFF
Planes
Enumerator
- LeftPlane
- RightPlane
- NearPlane
- FarPlane
- TopPlane
- BottomPlane
- NUM_PLANES
Indices for the side planes of the box.
Each pair of planes has successive indices. Also, the planes are ordered by X (left&right), Y (near&far), and Z (top&bottom).
Points
Enumerator
- NearBottomRight
- NearTopRight
- NearTopLeft
- NearBottomLeft
- FarBottomRight
- FarTopRight
- FarTopLeft
- FarBottomLeft
- NUM_POINTS
- InvalidPoint = NUM_POINTS
Indices of the corner points.
note:The order defined here is expected by several places in the code!
Public Static Functions
getEdgePointIndices(Edges edge, Points & outP1, Points & outP2)
Get the start and end point of the given edge.
getOppositePoint(Points p)
Return the point index for the opposite corner of p.
getPlanePointIndex(Planes plane, U32 i)
getPointIndexFromOctant(const Point3F & p)
Return the point index for the corner point that corresponds to the octant that p points to.