30 #ifndef PXFOUNDATION_PXBOUNDS3_H 31 #define PXFOUNDATION_PXBOUNDS3_H 46 #define PX_MAX_BOUNDS_EXTENTS (PX_MAX_REAL * 0.25f) 264 : minimum(minimum_), maximum(maximum_)
285 return PxBounds3(center - extent, center + extent);
302 return PxBounds3(center - w, center + w);
480 #endif // #ifndef PXFOUNDATION_PXBOUNDS3_H Definition: GuContactBuffer.h:37
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isEmpty() const
Definition: PxBounds3.h:336
PX_CUDA_CALLABLE PX_INLINE bool isFinite() const
returns true if all 3 elems of the vector are finite (not NAN or INF, etc.)
Definition: PxVec3.h:156
PX_CUDA_CALLABLE PX_FORCE_INLINE void setEmpty()
Sets empty to true.
Definition: PxBounds3.h:310
static PX_CUDA_CALLABLE PX_INLINE PxBounds3 poseExtent(const PxTransform &pose, const PxVec3 &extent)
Construct from pose and extent.
Definition: PxBounds3.h:305
PxVec3 minimum
Definition: PxBounds3.h:260
#define PX_FORCE_INLINE
Definition: PxPreprocessor.h:351
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 minimum(const PxVec3 &v) const
element-wise minimum
Definition: PxVec3.h:344
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.
Definition: PxBounds3.h:289
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getCenter() const
returns the center of this axis aligned box.
Definition: PxBounds3.h:381
PX_CUDA_CALLABLE PX_FORCE_INLINE void setMaximal()
Sets the bounds to maximum size [-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS].
Definition: PxBounds3.h:316
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isInside(const PxBounds3 &box) const
checks a box is inside another box.
Definition: PxBounds3.h:363
#define PX_SHARED_ASSERT(exp)
Definition: PxSharedAssert.h:39
static PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 centerExtents(const PxVec3 ¢er, const PxVec3 &extent)
returns the AABB from center and extents vectors.
Definition: PxBounds3.h:283
static PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 empty()
Return empty bounds.
Definition: PxBounds3.h:268
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isFinite(float a)
platform-specific finiteness check (not INF or NAN)
Definition: PxUnixIntrinsics.h:127
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getExtents() const
returns the extents, which are half of the width/height/depth.
Definition: PxBounds3.h:405
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isFinite() const
Definition: PxBounds3.h:273
PX_CUDA_CALLABLE PX_FORCE_INLINE void fattenFast(float distance)
Definition: PxBounds3.h:431
PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3()
Default constructor, not performing any initialization for performance reason.
Definition: PxBounds3.h:65
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).
Definition: PxBounds3.h:449
float y
Definition: PxVec3.h:381
PX_CUDA_CALLABLE PX_FORCE_INLINE void scaleSafe(float scale)
scales the AABB.
Definition: PxBounds3.h:411
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).
Definition: PxBounds3.h:443
PX_CUDA_CALLABLE PX_FORCE_INLINE void include(const PxVec3 &v)
expands the volume to include v
Definition: PxBounds3.h:322
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAbs(float a)
abs returns the absolute value of its argument.
Definition: PxMath.h:107
#define PX_MAX_BOUNDS_EXTENTS
Definition: PxBounds3.h:46
PxVec3 column2
Definition: PxMat33.h:353
3x3 matrix class
Definition: PxMat33.h:90
Class representing 3D range or axis aligned bounding box.
Definition: PxBounds3.h:58
PxVec3 column0
Definition: PxMat33.h:353
static PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 boundsOfPoints(const PxVec3 &v0, const PxVec3 &v1)
returns the AABB containing v0 and v1.
Definition: PxBounds3.h:278
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 maximum(const PxVec3 &v) const
element-wise maximum
Definition: PxVec3.h:360
PX_CUDA_CALLABLE PX_FORCE_INLINE void scaleFast(float scale)
scales the AABB.
Definition: PxBounds3.h:418
PX_CUDA_CALLABLE PX_FORCE_INLINE bool contains(const PxVec3 &v) const
indicates if these bounds contain v.
Definition: PxBounds3.h:355
PxU8 box[sizeof(PxBoxGeometry)]
Definition: PxGeometryHelpers.h:216
PX_CUDA_CALLABLE PX_FORCE_INLINE bool isValid() const
Definition: PxBounds3.h:467
PX_CUDA_CALLABLE PX_FORCE_INLINE bool intersects(const PxBounds3 &b) const
indicates whether the intersection of this and b is empty or not.
Definition: PxBounds3.h:342
PX_CUDA_CALLABLE PX_FORCE_INLINE bool intersects1D(const PxBounds3 &a, uint32_t axis) const
computes the 1D-intersection between two AABBs, on a given axis.
Definition: PxBounds3.h:349
PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 getDimensions() const
returns the dimensions (width/height/depth) of this axis aligned box.
Definition: PxBounds3.h:399
PX_CUDA_CALLABLE PX_FORCE_INLINE void fattenSafe(float distance)
Definition: PxBounds3.h:424
PX_CUDA_CALLABLE PX_FORCE_INLINE float getExtents(uint32_t axis) const
get component of the box's extents along a given axis
Definition: PxBounds3.h:393
float z
Definition: PxVec3.h:381
PxVec3 column1
Definition: PxMat33.h:353
#define PX_INLINE
Definition: PxPreprocessor.h:336
#define PX_CUDA_CALLABLE
Definition: PxPreprocessor.h:460
PxVec3 maximum
Definition: PxBounds3.h:260
3 Element vector class.
Definition: PxVec3.h:49
float x
Definition: PxVec3.h:381