Class representing 3D range or axis aligned bounding box. More...
#include <PxBounds3.h>
Public Member Functions | |
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxBounds3 () |
Default constructor, not performing any initialization for performance reason. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxBounds3 (const PxVec3 &minimum, const PxVec3 &maximum) |
Construct from two bounding points. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE void | setEmpty () |
Sets empty to true. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE void | setMaximal () |
Sets the bounds to maximum size [-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS]. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE void | include (const PxVec3 &v) |
expands the volume to include v More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE void | include (const PxBounds3 &b) |
expands the volume to include b. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE bool | isEmpty () const |
PX_CUDA_CALLABLE PX_FORCE_INLINE bool | intersects (const PxBounds3 &b) const |
indicates whether the intersection of this and b is empty or not. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE bool | intersects1D (const PxBounds3 &a, PxU32 axis) const |
computes the 1D-intersection between two AABBs, on a given axis. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE bool | contains (const PxVec3 &v) const |
indicates if these bounds contain v. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE bool | isInside (const PxBounds3 &box) const |
checks a box is inside another box. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 | getCenter () const |
returns the center of this axis aligned box. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getCenter (PxU32 axis) const |
get component of the box's center along a given axis More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal | getExtents (PxU32 axis) const |
get component of the box's extents along a given axis More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 | getDimensions () const |
returns the dimensions (width/height/depth) of this axis aligned box. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 | getExtents () const |
returns the extents, which are half of the width/height/depth. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE void | scaleSafe (PxF32 scale) |
scales the AABB. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE void | scaleFast (PxF32 scale) |
scales the AABB. More... | |
PX_CUDA_CALLABLE PX_FORCE_INLINE void | fattenSafe (PxReal distance) |
PX_CUDA_CALLABLE PX_FORCE_INLINE void | fattenFast (PxReal distance) |
PX_CUDA_CALLABLE PX_FORCE_INLINE bool | isFinite () const |
PX_CUDA_CALLABLE PX_FORCE_INLINE bool | isValid () const |
Static Public Member Functions | |
static PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 | empty () |
Return empty bounds. More... | |
static PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 | boundsOfPoints (const PxVec3 &v0, const PxVec3 &v1) |
returns the AABB containing v0 and v1. More... | |
static PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 | centerExtents (const PxVec3 ¢er, const PxVec3 &extent) |
returns the AABB from center and extents vectors. More... | |
static PX_CUDA_CALLABLE PX_INLINE PxBounds3 | basisExtent (const PxVec3 ¢er, const PxMat33 &basis, const PxVec3 &extent) |
Construct from center, extent, and (not necessarily orthogonal) basis. More... | |
static PX_CUDA_CALLABLE PX_INLINE PxBounds3 | poseExtent (const PxTransform &pose, const PxVec3 &extent) |
Construct from pose and extent. More... | |
static PX_CUDA_CALLABLE PX_INLINE PxBounds3 | transformSafe (const PxMat33 &matrix, const PxBounds3 &bounds) |
gets the transformed bounds of the passed AABB (resulting in a bigger AABB). More... | |
static PX_CUDA_CALLABLE PX_INLINE PxBounds3 | transformFast (const PxMat33 &matrix, const PxBounds3 &bounds) |
gets the transformed bounds of the passed AABB (resulting in a bigger AABB). More... | |
static PX_CUDA_CALLABLE PX_INLINE PxBounds3 | transformSafe (const PxTransform &transform, const PxBounds3 &bounds) |
gets the transformed bounds of the passed AABB (resulting in a bigger AABB). More... | |
static PX_CUDA_CALLABLE PX_INLINE PxBounds3 | transformFast (const PxTransform &transform, const PxBounds3 &bounds) |
gets the transformed bounds of the passed AABB (resulting in a bigger AABB). More... | |
Public Attributes | |
PxVec3 | minimum |
PxVec3 | maximum |
Class representing 3D range or axis aligned bounding box.
Stored as minimum and maximum extent corners. Alternate representation would be center and dimensions. May be empty or nonempty. For nonempty bounds, minimum <= maximum has to hold for all axes. Empty bounds have to be represented as minimum = PX_MAX_BOUNDS_EXTENTS and maximum = -PX_MAX_BOUNDS_EXTENTS for all axes. All other representations are invalid and the behavior is undefined.
|
inline |
Default constructor, not performing any initialization for performance reason.
Referenced by basisExtent(), boundsOfPoints(), centerExtents(), and empty().
PxVec3 PxBounds3::maximum |
Referenced by contains(), fattenFast(), getCenter(), getDimensions(), getExtents(), include(), intersects(), intersects1D(), isEmpty(), isFinite(), isInside(), isValid(), setEmpty(), and setMaximal().
PxVec3 PxBounds3::minimum |
Referenced by contains(), fattenFast(), getCenter(), getDimensions(), getExtents(), include(), intersects(), intersects1D(), isEmpty(), isFinite(), isInside(), isValid(), setEmpty(), and setMaximal().