Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
PxBounds3 Class Reference

Class representing 3D range or axis aligned bounding box. More...

#include <PxBounds3.h>

Collaboration diagram for PxBounds3:
Collaboration graph
[legend]

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 &center, const PxVec3 &extent)
 returns the AABB from center and extents vectors. More...
 
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 
basisExtent (const PxVec3 &center, 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
 

Detailed Description

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.

Constructor & Destructor Documentation

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3::PxBounds3 ( )
inline

Default constructor, not performing any initialization for performance reason.

Remarks
Use empty() function below to construct empty bounds.

Referenced by basisExtent(), boundsOfPoints(), centerExtents(), and empty().

Member Data Documentation

PxVec3 PxBounds3::maximum
PxVec3 PxBounds3::minimum

The documentation for this class was generated from the following file:


Copyright © 2008-2015 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com