Classes | Macros | Typedefs | Enumerations | Functions | Variables
Foundation

Classes

class  PxAllocatorCallback
 Abstract base class for an application defined memory allocator that can be used by the Px library. More...
 
class  PxAssertHandler
 
class  PxBitAndDataT< storageType, bitMask >
 
class  PxBounds3
 Class representing 3D range or axis aligned bounding box. More...
 
class  PxAllocationListener
 Abstract listener class that listens to allocation and deallocation events from the foundation memory system. More...
 
class  PxBroadcastingAllocator
 Abstract base class for an application defined memory allocator that allows an external listener to audit the memory allocations. More...
 
class  PxErrorCallback
 User defined interface class. Used by the library to emit debug information. More...
 
struct  PxErrorCode
 Error codes. More...
 
class  PxFlags< enumtype, storagetype >
 Container for bitfield flag variables associated with a specific enum type. More...
 
class  PxFoundation
 Foundation SDK singleton class. More...
 
class  PxMat33
 3x3 matrix class More...
 
class  PxMat44
 4x4 matrix class More...
 
class  PxPlane
 Representation of a plane. More...
 
struct  PxPackValidation
 
class  PxQuat
 This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers. More...
 
class  PxStrideIterator< T >
 Iterator class for iterating over arrays of data that may be interleaved with other data. More...
 
class  PxTransform
 class representing a rigid euclidean transform as a quaternion and a vector More...
 
class  PxVec2
 2 Element vector class. More...
 
class  PxVec3
 3 Element vector class. More...
 
class  PxVec4
 4 Element vector class. More...
 

Macros

#define PX_ASSERT(exp)   ((void)0)
 
#define PX_ALWAYS_ASSERT_MESSAGE(exp)   ((void)0)
 
#define PX_ASSERT_WITH_MESSAGE(condition, message)   ((void)0)
 
#define PX_ALWAYS_ASSERT()   PX_ASSERT(0)
 
#define PX_MAX_BOUNDS_EXTENTS   (PX_MAX_REAL * 0.25f)
 
#define PX_FLAGS_OPERATORS(enumtype, storagetype)
 
#define PX_FLAGS_TYPEDEF(x, y)
 
#define PX_C_EXPORT
 
#define PX_UNIX_EXPORT
 
#define PX_FOUNDATION_API
 
#define PX_CALL_CONV
 
#define PX_PUSH_PACK_DEFAULT
 
#define PX_POP_PACK
 
#define PX_INLINE   inline
 
#define PX_FORCE_INLINE   inline
 
#define PX_NOINLINE
 
#define PX_RESTRICT   __restrict
 
#define PX_NOALIAS
 
#define PX_ALIGN(alignment, decl)
 
#define PX_ALIGN_PREFIX(alignment)
 
#define PX_ALIGN_SUFFIX(alignment)
 
#define PX_DEPRECATED
 
#define PX_COMPILE_TIME_ASSERT(exp)   typedef char PxCompileTimeAssert_Dummy[(exp) ? 1 : -1]
 
#define PX_OFFSET_OF(X, Y)   offsetof(X, Y)
 
#define PX_SIZE_OF(Class, Member)   sizeof(((Class*)0)->Member)
 
#define PX_CUDA_CALLABLE
 
#define PX_SUPPORT_GPU_PHYSX   0
 
#define PX_DUMMY_SYMBOL
 
#define PX_IS_SPU   0
 
#define PX_IS_X64   0
 
#define PX_IS_X64   0
 
#define PX_IS_WINDOWS   0
 
#define PX_IS_X86   0
 
#define PX_IS_INTEL   0
 
#define PX_IS_X360   0
 
#define PX_IS_PS3   0
 
#define PX_NVTX   0
 
#define PX_IS_PPU   (PX_IS_PS3 && !PX_IS_SPU)
 
#define PX_WEAK_SYMBOL
 
#define PX_MAX_I8   127
 
#define PX_MIN_I8   (-128)
 
#define PX_MAX_U8   255U
 
#define PX_MIN_U8   0
 
#define PX_MAX_I16   32767
 
#define PX_MIN_I16   (-32768)
 
#define PX_MAX_U16   65535U
 
#define PX_MIN_U16   0
 
#define PX_MAX_I32   2147483647
 
#define PX_MIN_I32   (-2147483647 - 1)
 
#define PX_MAX_U32   4294967295U
 
#define PX_MIN_U32   0
 
#define PX_MAX_F32   3.4028234663852885981170418348452e+38F
 
#define PX_MAX_F64   DBL_MAX
 
#define PX_EPS_F32   FLT_EPSILON
 
#define PX_EPS_F64   DBL_EPSILON
 
#define PX_MAX_REAL   PX_MAX_F32
 
#define PX_EPS_REAL   PX_EPS_F32
 
#define PX_NORMALIZATION_EPSILON   PxReal(1e-20f)
 
#define PX_PHYSICS_VERSION_MAJOR   3
 
#define PX_PHYSICS_VERSION_MINOR   3
 
#define PX_PHYSICS_VERSION_BUGFIX   4
 
#define PX_PHYSICS_VERSION   ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)
 

Typedefs

typedef PxBitAndDataT
< unsigned char, 0x80 > 
PxBitAndByte
 
typedef PxBitAndDataT
< unsigned short, 0x8000 > 
PxBitAndWord
 
typedef PxBitAndDataT
< unsigned int, 0x80000000 > 
PxBitAndDword
 
typedef signed __int64 PxI64
 
typedef signed int PxI32
 
typedef signed short PxI16
 
typedef signed char PxI8
 
typedef unsigned __int64 PxU64
 
typedef unsigned int PxU32
 
typedef unsigned short PxU16
 
typedef unsigned char PxU8
 
typedef float PxF32
 
typedef double PxF64
 
typedef PxF32 PxReal
 

Enumerations

enum  PxEMPTY { PxEmpty }
 
enum  PxZERO { PxZero }
 
enum  PxIDENTITY { PxIdentity }
 

Functions

PX_FOUNDATION_API PxAssertHandlerPxGetAssertHandler ()
 
PX_FOUNDATION_API void PxSetAssertHandler (PxAssertHandler &handler)
 
PX_C_EXPORT PX_FOUNDATION_API
physx::PxFoundation
*PX_CALL_CONV 
PxCreateFoundation (physx::PxU32 version, physx::PxAllocatorCallback &allocator, physx::PxErrorCallback &errorCallback)
 Creates an instance of the foundation class. More...
 
PX_C_EXPORT PX_FOUNDATION_API
physx::PxFoundation
&PX_CALL_CONV 
PxGetFoundation ()
 Retrieves the Foundation SDK after it has been created. More...
 
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINEPxMax (T a, T b)
 The return value is the greater of the two specified values. More...
 
template<>
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxMax (float a, float b)
 overload for float to use fsel on xbox More...
 
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINEPxMin (T a, T b)
 The return value is the lesser of the two specified values. More...
 
template<>
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxMin (float a, float b)
 overload for float to use fsel on xbox More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxAbs (PxF32 a)
 abs returns the absolute value of its argument. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxEquals (PxF32 a, PxF32 b, PxF32 eps)
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF64 
PxAbs (PxF64 a)
 abs returns the absolute value of its argument. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxI32 
PxAbs (PxI32 a)
 abs returns the absolute value of its argument. More...
 
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINEPxClamp (T v, T lo, T hi)
 Clamps v to the range [hi,lo]. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxSqrt (PxF32 a)
 Square root. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF64 
PxSqrt (PxF64 a)
 Square root. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxRecipSqrt (PxF32 a)
 reciprocal square root. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF64 
PxRecipSqrt (PxF64 a)
 reciprocal square root. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxSin (PxF32 a)
 trigonometry – all angles are in radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF64 
PxSin (PxF64 a)
 Sine of an angle ( Unit: Radians ) More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxCos (PxF32 a)
 Cosine of an angle (Unit: Radians) More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF64 
PxCos (PxF64 a)
 Cosine of an angle (Unit: Radians) More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxTan (PxF32 a)
 Tangent of an angle. Unit: Radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF64 
PxTan (PxF64 a)
 Tangent of an angle. Unit: Radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxAsin (PxF32 f)
 Arcsine. Returns angle between -PI/2 and PI/2 in radians Unit: Radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF64 
PxAsin (PxF64 f)
 Arcsine. Returns angle between -PI/2 and PI/2 in radians Unit: Radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxAcos (PxF32 f)
 Arccosine. Returns angle between 0 and PI in radians Unit: Radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF64 
PxAcos (PxF64 f)
 Arccosine. Returns angle between 0 and PI in radians Unit: Radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxAtan (PxF32 a)
 ArcTangent. Returns angle between -PI/2 and PI/2 in radians Unit: Radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF64 
PxAtan (PxF64 a)
 ArcTangent. Returns angle between -PI/2 and PI/2 in radians Unit: Radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxAtan2 (PxF32 x, PxF32 y)
 Arctangent of (x/y) with correct sign. Returns angle between -PI and PI in radians Unit: Radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF64 
PxAtan2 (PxF64 x, PxF64 y)
 Arctangent of (x/y) with correct sign. Returns angle between -PI and PI in radians Unit: Radians. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxIsFinite (PxF32 f)
 returns true if the passed number is a finite floating point number as opposed to INF, NAN, etc. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxIsFinite (PxF64 f)
 returns true if the passed number is a finite floating point number as opposed to INF, NAN, etc. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxFloor (PxF32 a)
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxExp (PxF32 a)
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxCeil (PxF32 a)
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxSign (PxF32 a)
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxPow (PxF32 x, PxF32 y)
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxF32 
PxLog (PxF32 x)
 
PX_FORCE_INLINE void * PxMemZero (void *PX_RESTRICT dest, PxU32 count)
 Sets the bytes of the provided buffer to zero. More...
 
PX_FORCE_INLINE void * PxMemSet (void *PX_RESTRICT dest, PxI32 c, PxU32 count)
 Sets the bytes of the provided buffer to the specified value. More...
 
PX_FORCE_INLINE void * PxMemCopy (void *PX_RESTRICT dest, const void *PX_RESTRICT src, PxU32 count)
 Copies the bytes of one memory block to another. The memory blocks must not overlap. More...
 
PX_FORCE_INLINE void * PxMemMove (void *PX_RESTRICT dest, const void *PX_RESTRICT src, PxU32 count)
 Copies the bytes of one memory block to another. The memory blocks can overlap. More...
 
template<class T >
PX_CUDA_CALLABLE PX_INLINE void PX_UNUSED (T const &)
 
 PX_COMPILE_TIME_ASSERT (PX_OFFSET_OF(PxPackValidation, a)==8)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxI8)==1)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxU8)==1)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxI16)==2)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxU16)==2)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxI32)==4)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxU32)==4)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxI64)==8)
 
 PX_COMPILE_TIME_ASSERT (sizeof(PxU64)==8)
 
template<typename T >
PX_INLINE PxStrideIterator< T > operator+ (int i, PxStrideIterator< T > it)
 Addition operator. More...
 
template<typename T >
PX_INLINE PxStrideIterator< T > PxMakeIterator (T *ptr, PxU32 stride=sizeof(T))
 Stride iterator factory function which infers the iterator type. More...
 
template<typename T >
PX_INLINE PxStrideIterator
< const T > 
PxMakeIterator (const T *ptr, PxU32 stride=sizeof(T))
 Stride iterator factory function which infers the iterator type. More...
 
template<class A , class B >
PX_FORCE_INLINEPxUnionCast (B b)
 
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 
operator* (PxReal f, const PxVec2 &v)
 
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 
operator* (PxReal f, const PxVec3 &v)
 
static PX_CUDA_CALLABLE
PX_INLINE PxVec4 
operator* (PxReal f, const PxVec4 &v)
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3::PxBounds3 (const PxVec3 &minimum, const PxVec3 &maximum)
 Construct from two bounding points. More...
 
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 
PxBounds3::empty ()
 Return empty bounds. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxBounds3::isFinite () const
 
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 
PxBounds3::boundsOfPoints (const PxVec3 &v0, const PxVec3 &v1)
 returns the AABB containing v0 and v1. More...
 
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 
PxBounds3::centerExtents (const PxVec3 &center, const PxVec3 &extent)
 returns the AABB from center and extents vectors. More...
 
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 
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 
PxBounds3::poseExtent (const PxTransform &pose, const PxVec3 &extent)
 Construct from pose and extent. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::setEmpty ()
 Sets empty to true. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::setMaximal ()
 Sets the bounds to maximum size [-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS]. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::include (const PxVec3 &v)
 expands the volume to include v More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::include (const PxBounds3 &b)
 expands the volume to include b. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxBounds3::isEmpty () const
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxBounds3::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 
PxBounds3::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 
PxBounds3::contains (const PxVec3 &v) const
 indicates if these bounds contain v. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxBounds3::isInside (const PxBounds3 &box) const
 checks a box is inside another box. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 
PxBounds3::getCenter () const
 returns the center of this axis aligned box. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 
PxBounds3::getCenter (PxU32 axis) const
 get component of the box's center along a given axis More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal 
PxBounds3::getExtents (PxU32 axis) const
 get component of the box's extents along a given axis More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 
PxBounds3::getDimensions () const
 returns the dimensions (width/height/depth) of this axis aligned box. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 
PxBounds3::getExtents () const
 returns the extents, which are half of the width/height/depth. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::scaleSafe (PxF32 scale)
 scales the AABB. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::scaleFast (PxF32 scale)
 scales the AABB. More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::fattenSafe (PxReal distance)
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::fattenFast (PxReal distance)
 
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 
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 
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 
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 
PxBounds3::transformFast (const PxTransform &transform, const PxBounds3 &bounds)
 gets the transformed bounds of the passed AABB (resulting in a bigger AABB). More...
 
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxBounds3::isValid () const
 
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags (void)
 
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags (enumtype e)
 
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags (const PxFlags< enumtype, storagetype > &f)
 
PX_INLINE PxFlags< enumtype,
storagetype > & 
PxFlags< enumtype, storagetype >::operator= (const PxFlags< enumtype, storagetype > &f)
 
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags (storagetype b)
 
PX_INLINE bool PxFlags< enumtype, storagetype >::isSet (enumtype e) const
 
PX_INLINE PxFlags< enumtype,
storagetype > & 
PxFlags< enumtype, storagetype >::set (enumtype e)
 
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== (enumtype e) const
 
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== (const PxFlags< enumtype, storagetype > &f) const
 
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== (bool b) const
 
PX_INLINE bool PxFlags< enumtype, storagetype >::operator!= (enumtype e) const
 
PX_INLINE bool PxFlags< enumtype, storagetype >::operator!= (const PxFlags< enumtype, storagetype > &f) const
 
PX_INLINE PxFlags< enumtype,
storagetype > & 
PxFlags< enumtype, storagetype >::operator= (enumtype e)
 
PX_INLINE PxFlags< enumtype,
storagetype > & 
PxFlags< enumtype, storagetype >::operator|= (enumtype e)
 
PX_INLINE PxFlags< enumtype,
storagetype > & 
PxFlags< enumtype, storagetype >::operator|= (const PxFlags< enumtype, storagetype > &f)
 
PX_INLINE PxFlags< enumtype,
storagetype > 
PxFlags< enumtype, storagetype >::operator| (enumtype e) const
 
PX_INLINE PxFlags< enumtype,
storagetype > 
PxFlags< enumtype, storagetype >::operator| (const PxFlags< enumtype, storagetype > &f) const
 
PX_INLINE PxFlags< enumtype,
storagetype > & 
PxFlags< enumtype, storagetype >::operator&= (enumtype e)
 
PX_INLINE PxFlags< enumtype,
storagetype > & 
PxFlags< enumtype, storagetype >::operator&= (const PxFlags< enumtype, storagetype > &f)
 
PX_INLINE PxFlags< enumtype,
storagetype > 
PxFlags< enumtype, storagetype >::operator& (enumtype e) const
 
PX_INLINE PxFlags< enumtype,
storagetype > 
PxFlags< enumtype, storagetype >::operator& (const PxFlags< enumtype, storagetype > &f) const
 
PX_INLINE PxFlags< enumtype,
storagetype > & 
PxFlags< enumtype, storagetype >::operator^= (enumtype e)
 
PX_INLINE PxFlags< enumtype,
storagetype > & 
PxFlags< enumtype, storagetype >::operator^= (const PxFlags< enumtype, storagetype > &f)
 
PX_INLINE PxFlags< enumtype,
storagetype > 
PxFlags< enumtype, storagetype >::operator^ (enumtype e) const
 
PX_INLINE PxFlags< enumtype,
storagetype > 
PxFlags< enumtype, storagetype >::operator^ (const PxFlags< enumtype, storagetype > &f) const
 
PX_INLINE PxFlags< enumtype,
storagetype > 
PxFlags< enumtype, storagetype >::operator~ (void) const
 
PX_INLINE PxFlags< enumtype, storagetype >::operator bool (void) const
 
PX_INLINE PxFlags< enumtype, storagetype >::operator PxU8 (void) const
 
PX_INLINE PxFlags< enumtype, storagetype >::operator PxU16 (void) const
 
PX_INLINE PxFlags< enumtype, storagetype >::operator PxU32 (void) const
 
PX_INLINE void PxFlags< enumtype, storagetype >::clear (enumtype e)
 
PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat (const PxMat33 &m)
 Creates from orientation matrix. More...
 
PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform (const PxMat44 &m)
 

Variables

static const PxReal PxPi = PxReal(3.141592653589793)
 
static const PxReal PxHalfPi = PxReal(1.57079632679489661923)
 
static const PxReal PxTwoPi = PxReal(6.28318530717958647692)
 
static const PxReal PxInvPi = PxReal(0.31830988618379067154)
 
static const PxReal PxInvTwoPi = PxReal(0.15915494309189533577)
 
static const PxReal PxPiDivTwo = PxReal(1.57079632679489661923)
 
static const PxReal PxPiDivFour = PxReal(0.78539816339744830962)
 

Detailed Description

Macro Definition Documentation

#define PX_ALIGN (   alignment,
  decl 
)

Alignment macros

PX_ALIGN_PREFIX and PX_ALIGN_SUFFIX can be used for type alignment instead of aligning individual variables as follows: PX_ALIGN_PREFIX(16) struct A { ... } PX_ALIGN_SUFFIX(16); This declaration style is parsed correctly by Visual Assist.

#define PX_ALIGN_PREFIX (   alignment)
#define PX_ALIGN_SUFFIX (   alignment)
#define PX_ALWAYS_ASSERT ( )    PX_ASSERT(0)
#define PX_ALWAYS_ASSERT_MESSAGE (   exp)    ((void)0)
#define PX_ASSERT (   exp)    ((void)0)

Referenced by PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::addPair(), PxTask::addReference(), PxContactStreamIterator::advanceToIndex(), PxDefaultAllocator::allocate(), PxBounds3::contains(), createRepXObject(), PxGpuCopyDescQueue::enqueue(), PxBounds3::fattenFast(), PxBounds3::fattenSafe(), PxTask::finishBefore(), PxGeometryHolder::get(), PxBatchQueryResult< HitType >::getAnyHit(), PxHitBuffer< PxSweepHit >::getAnyHit(), PxSpuTask::getArgs(), PxMat44::getBasis(), PxBounds3::getCenter(), PxContactStreamIterator::getContactPatch(), PxBounds3::getDimensions(), PxBounds3::getExtents(), PxTransform::getInverse(), PxContactStreamIterator::getModifiableContact(), PxContactStreamIterator::getModifiableContactHeader(), PxSimulationStatistics::getNbBroadPhaseAdds(), PxSimulationStatistics::getNbBroadPhaseRemoves(), PxSimulationStatistics::getRbPairStats(), PxHitBuffer< PxSweepHit >::getTouch(), PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::getYVal(), PxBounds3::include(), PxBounds3::intersects(), PxBounds3::intersects1D(), PxBounds3::isEmpty(), PxBounds3::isInside(), PxContactStreamIterator::nextContact(), PxContactPairExtraDataIterator::nextItemSet(), PxVec3::normalizeFast(), PxStrideIterator< const PxFlags >::operator!=(), PxTransform::operator*(), PxStrideIterator< const PxFlags >::operator-(), PxStrideIterator< const PxFlags >::operator<(), PxStrideIterator< const PxFlags >::operator<=(), PxStrideIterator< const PxFlags >::operator==(), PxStrideIterator< const PxFlags >::operator>(), PxStrideIterator< const PxFlags >::operator>=(), PxVec2::operator[](), PxVec3::operator[](), PxVec4::operator[](), PxStrideIterator< const PxFlags >::operator[](), PxExtendedVec3::operator[](), PxClamp(), PxContactStreamIterator::PxContactStreamIterator(), PxMeshScale::PxMeshScale(), PxQuat::PxQuat(), PxStrideIterator< const PxFlags >::PxStrideIterator(), PxTransform::PxTransform(), PxSerializerDefaultAdapter< T >::registerReferences(), PxTask::release(), PxSpuTask::removeReference(), PxTask::removeReference(), PxTransform::rotate(), PxTransform::rotateInv(), PxBounds3::scaleFast(), PxBounds3::scaleSafe(), PxSpuTask::setArgs(), PxLightCpuTask::setContinuation(), PxSpuTask::setSpuCount(), PxTask::startAfter(), PxGeometryHolder::storeAny(), PxTransform::transform(), PxBounds3::transformFast(), PxTransform::transformInv(), and PxBounds3::transformSafe().

#define PX_ASSERT_WITH_MESSAGE (   condition,
  message 
)    ((void)0)
#define PX_C_EXPORT

List of preprocessor defines used to configure the SDK

  • PX_DEBUG: enable asserts (exactly one needs to be defined)
  • PX_CHECKED: enable run time checks, mostly unused or equiv. to PX_DEBUG
  • PX_SUPPORT_VISUAL_DEBUGGER: ...
  • AG_PERFMON: ... (Deprecated) Compiler define Platform define DLL export macros
#define PX_CALL_CONV

Calling convention

#define PX_COMPILE_TIME_ASSERT (   exp)    typedef char PxCompileTimeAssert_Dummy[(exp) ? 1 : -1]

General defines

#define PX_CUDA_CALLABLE
#define PX_DEPRECATED

Deprecated macro

  • To deprecate a function: Place PX_DEPRECATED at the start of the function header (leftmost word).
  • To deprecate a 'typedef', a 'struct' or a 'class': Place PX_DEPRECATED directly after the keywords ('typdef', 'struct', 'class').
#define PX_DUMMY_SYMBOL
#define PX_EPS_F32   FLT_EPSILON
#define PX_EPS_F64   DBL_EPSILON
#define PX_EPS_REAL   PX_EPS_F32
#define PX_FLAGS_OPERATORS (   enumtype,
  storagetype 
)
Value:
PX_INLINE PxFlags<enumtype, storagetype> operator|(enumtype a, enumtype b) { PxFlags<enumtype, storagetype> r(a); r |= b; return r; } \
PX_INLINE PxFlags<enumtype, storagetype> operator&(enumtype a, enumtype b) { PxFlags<enumtype, storagetype> r(a); r &= b; return r; } \
PX_INLINE PxFlags<enumtype, storagetype> operator~(enumtype a) { return ~PxFlags<enumtype, storagetype>(a); }
#define PX_FLAGS_TYPEDEF (   x,
 
)
Value:
typedef PxFlags<x::Enum, y> x##s; \
PX_FLAGS_OPERATORS(x::Enum, y)
#define PX_FORCE_INLINE   inline

Force inline macro

#define PX_FOUNDATION_API

Define API function declaration

PX_FOUNDATION_EXPORTS - used by the DLL library (PhysXCommon) to export the API PX_FOUNDATION_NO_EXPORTS - exists because there are windows configurations where the PX_FOUNDATION_API is linked through standard static linking no definition - this will allow DLLs and libraries to use the exported API from PhysXCommon

#define PX_INLINE   inline

Inline macro

#define PX_IS_INTEL   0
#define PX_IS_PPU   (PX_IS_PS3 && !PX_IS_SPU)
#define PX_IS_PS3   0
#define PX_IS_SPU   0
#define PX_IS_WINDOWS   0
#define PX_IS_X360   0
#define PX_IS_X64   0
#define PX_IS_X64   0
#define PX_IS_X86   0
#define PX_MAX_BOUNDS_EXTENTS   (PX_MAX_REAL * 0.25f)
#define PX_MAX_F32   3.4028234663852885981170418348452e+38F
#define PX_MAX_F64   DBL_MAX
#define PX_MAX_I16   32767
#define PX_MAX_I32   2147483647
#define PX_MAX_I8   127
#define PX_MAX_REAL   PX_MAX_F32
#define PX_MAX_U16   65535U
#define PX_MAX_U32   4294967295U
#define PX_MAX_U8   255U
#define PX_MIN_I16   (-32768)
#define PX_MIN_I32   (-2147483647 - 1)
#define PX_MIN_I8   (-128)
#define PX_MIN_U16   0
#define PX_MIN_U32   0
#define PX_MIN_U8   0
#define PX_NOALIAS
#define PX_NOINLINE

Noinline macro

#define PX_NORMALIZATION_EPSILON   PxReal(1e-20f)
#define PX_NVTX   0
#define PX_OFFSET_OF (   X,
 
)    offsetof(X, Y)
#define PX_PHYSICS_VERSION   ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)

The constant PX_PHYSICS_VERSION is used when creating certain PhysX module objects. This is to ensure that the application is using the same header version as the library was built with.

#define PX_PHYSICS_VERSION_BUGFIX   4
#define PX_PHYSICS_VERSION_MAJOR   3
#define PX_PHYSICS_VERSION_MINOR   3
#define PX_POP_PACK
#define PX_PUSH_PACK_DEFAULT

Pack macros - disabled on SPU because they are not supported

#define PX_RESTRICT   __restrict

restrict macro

#define PX_SIZE_OF (   Class,
  Member 
)    sizeof(((Class*)0)->Member)
#define PX_SUPPORT_GPU_PHYSX   0
#define PX_UNIX_EXPORT
#define PX_WEAK_SYMBOL

Typedef Documentation

typedef PxBitAndDataT<unsigned char, 0x80> PxBitAndByte
typedef PxBitAndDataT<unsigned int, 0x80000000> PxBitAndDword
typedef PxBitAndDataT<unsigned short, 0x8000> PxBitAndWord
typedef float PxF32
typedef double PxF64
typedef signed short PxI16
typedef signed int PxI32
typedef signed __int64 PxI64
typedef signed char PxI8
typedef PxF32 PxReal
typedef unsigned short PxU16
typedef unsigned int PxU32
typedef unsigned __int64 PxU64
typedef unsigned char PxU8

Enumeration Type Documentation

enum PxEMPTY

enum for empty constructor tag

Enumerator
PxEmpty 
enum PxIDENTITY

enum for identity constructor flag for quaternions, transforms, and matrices

Enumerator
PxIdentity 
enum PxZERO

enum for zero constructor tag for vectors and matrices

Enumerator
PxZero 

Function Documentation

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::basisExtent ( const PxVec3 center,
const PxMat33 basis,
const PxVec3 extent 
)
static

Construct from center, extent, and (not necessarily orthogonal) basis.

References PxMat33::column0, PxMat33::column1, PxMat33::column2, PxAbs(), PxBounds3::PxBounds3(), PxVec3::x, PxVec3::y, and PxVec3::z.

Referenced by PxBounds3::poseExtent(), and PxBounds3::transformFast().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 PxBounds3::boundsOfPoints ( const PxVec3 v0,
const PxVec3 v1 
)
static

returns the AABB containing v0 and v1.

Parameters
v0first point included in the AABB.
v1second point included in the AABB.

References PxVec3::maximum(), PxVec3::minimum(), and PxBounds3::PxBounds3().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 PxBounds3::centerExtents ( const PxVec3 center,
const PxVec3 extent 
)
static

returns the AABB from center and extents vectors.

Parameters
centerCenter vector
extentExtents vector

References PxBounds3::PxBounds3().

Referenced by PxBounds3::scaleFast().

template<typename enumtype, typename storagetype >
PX_INLINE void PxFlags< enumtype, storagetype >::clear ( enumtype  e)
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::contains ( const PxVec3 v) const

indicates if these bounds contain v.

Parameters
vPoint to test against bounds.

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, PX_ASSERT, PxVec3::x, PxVec3::y, and PxVec3::z.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3 PxBounds3::empty ( )
static

Return empty bounds.

References PX_MAX_BOUNDS_EXTENTS, and PxBounds3::PxBounds3().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::fattenFast ( PxReal  distance)

fattens the AABB in all 3 dimensions by the given distance.

Calling this method for empty bounds leads to undefined behavior. Use fattenSafe() instead.

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, PX_ASSERT, PxVec3::x, PxVec3::y, and PxVec3::z.

Referenced by PxBounds3::fattenSafe().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::fattenSafe ( PxReal  distance)

fattens the AABB in all 3 dimensions by the given distance.

This version is safe to call for empty bounds.

References PxBounds3::fattenFast(), PxBounds3::isEmpty(), PxBounds3::isValid(), and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxBounds3::getCenter ( ) const

returns the center of this axis aligned box.

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, and PX_ASSERT.

Referenced by PxBounds3::scaleFast(), and PxBounds3::transformFast().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxBounds3::getCenter ( PxU32  axis) const

get component of the box's center along a given axis

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxBounds3::getDimensions ( ) const

returns the dimensions (width/height/depth) of this axis aligned box.

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, and PX_ASSERT.

Referenced by PxBounds3::getExtents().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal PxBounds3::getExtents ( PxU32  axis) const

get component of the box's extents along a given axis

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, and PX_ASSERT.

Referenced by PxBounds3::transformFast().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 PxBounds3::getExtents ( ) const

returns the extents, which are half of the width/height/depth.

References PxBounds3::getDimensions(), PxBounds3::isValid(), and PX_ASSERT.

Referenced by PxBounds3::scaleFast().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::include ( const PxVec3 v)

expands the volume to include v

Parameters
vPoint to expand to.

References PxBounds3::isValid(), PxBounds3::maximum, PxVec3::maximum(), PxBounds3::minimum, PxVec3::minimum(), and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::include ( const PxBounds3 b)

expands the volume to include b.

Parameters
bBounds to perform union with.

References PxBounds3::isValid(), PxBounds3::maximum, PxVec3::maximum(), PxBounds3::minimum, PxVec3::minimum(), and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::intersects ( const PxBounds3 b) const

indicates whether the intersection of this and b is empty or not.

Parameters
bBounds to test for intersection.

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, PX_ASSERT, PxVec3::x, PxVec3::y, and PxVec3::z.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::intersects1D ( const PxBounds3 a,
PxU32  axis 
) const

computes the 1D-intersection between two AABBs, on a given axis.

Parameters
athe other AABB
axisthe axis (0, 1, 2)

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, and PX_ASSERT.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isEmpty ( ) const
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isFinite ( ) const

checks that the AABB values are not NaN

References PxVec3::isFinite(), PxBounds3::maximum, and PxBounds3::minimum.

Referenced by PxBounds3::isValid().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isInside ( const PxBounds3 box) const

checks a box is inside another box.

Parameters
boxthe other AABB

References PxBounds3::isValid(), PxBounds3::maximum, PxBounds3::minimum, PX_ASSERT, PxVec3::x, PxVec3::y, and PxVec3::z.

template<typename enumtype, typename storagetype >
PX_INLINE bool PxFlags< enumtype, storagetype >::isSet ( enumtype  e) const
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isValid ( ) const
template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator bool ( void  ) const
template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator PxU16 ( void  ) const
template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator PxU32 ( void  ) const
template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator PxU8 ( void  ) const
template<typename enumtype, typename storagetype >
PX_INLINE bool PxFlags< enumtype, storagetype >::operator!= ( enumtype  e) const
template<typename enumtype, typename storagetype>
PX_INLINE bool PxFlags< enumtype, storagetype >::operator!= ( const PxFlags< enumtype, storagetype > &  f) const
template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator& ( enumtype  e) const
template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator& ( const PxFlags< enumtype, storagetype > &  f) const
template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator&= ( enumtype  e)
template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator&= ( const PxFlags< enumtype, storagetype > &  f)
static PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 operator* ( PxReal  f,
const PxVec2 v 
)
static

References PxVec2::x, and PxVec2::y.

static PX_CUDA_CALLABLE PX_INLINE PxVec4 operator* ( PxReal  f,
const PxVec4 v 
)
static

References PxVec4::w, PxVec4::x, PxVec4::y, and PxVec4::z.

static PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator* ( PxReal  f,
const PxVec3 v 
)
static

References PxVec3::x, PxVec3::y, and PxVec3::z.

template<typename T >
PX_INLINE PxStrideIterator<T> operator+ ( int  i,
PxStrideIterator< T >  it 
)

Addition operator.

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator= ( enumtype  e)
template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator= ( const PxFlags< enumtype, storagetype > &  f)
template<typename enumtype, typename storagetype >
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== ( enumtype  e) const
template<typename enumtype, typename storagetype>
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== ( const PxFlags< enumtype, storagetype > &  f) const
template<typename enumtype, typename storagetype>
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== ( bool  b) const
template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator^ ( enumtype  e) const
template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator^ ( const PxFlags< enumtype, storagetype > &  f) const
template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator^= ( enumtype  e)
template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator^= ( const PxFlags< enumtype, storagetype > &  f)
template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator| ( enumtype  e) const
template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator| ( const PxFlags< enumtype, storagetype > &  f) const
template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator|= ( enumtype  e)
template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator|= ( const PxFlags< enumtype, storagetype > &  f)
template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator~ ( void  ) const
PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::poseExtent ( const PxTransform pose,
const PxVec3 extent 
)
static

Construct from pose and extent.

References PxBounds3::basisExtent(), PxTransform::p, and PxTransform::q.

PX_COMPILE_TIME_ASSERT ( sizeof(PxI8 = =1)
PX_COMPILE_TIME_ASSERT ( sizeof(PxU8 = =1)
PX_COMPILE_TIME_ASSERT ( sizeof(PxI16 = =2)
PX_COMPILE_TIME_ASSERT ( sizeof(PxU16 = =2)
PX_COMPILE_TIME_ASSERT ( sizeof(PxI32 = =4)
PX_COMPILE_TIME_ASSERT ( sizeof(PxU32 = =4)
PX_COMPILE_TIME_ASSERT ( sizeof(PxI64 = =8)
PX_COMPILE_TIME_ASSERT ( sizeof(PxU64 = =8)
PX_COMPILE_TIME_ASSERT ( PX_OFFSET_OF(PxPackValidation, a)  = =8)
template<class T >
PX_CUDA_CALLABLE PX_INLINE void PX_UNUSED ( T const &  )

abs returns the absolute value of its argument.

abs returns the absolute value of its argument.

Arccosine. Returns angle between 0 and PI in radians Unit: Radians.

References PxClamp().

Referenced by PxQuat::getAngle().

Arccosine. Returns angle between 0 and PI in radians Unit: Radians.

References PxClamp().

Arcsine. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.

References PxClamp().

Arcsine. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.

References PxClamp().

ArcTangent. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.

ArcTangent. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.

Arctangent of (x/y) with correct sign. Returns angle between -PI and PI in radians Unit: Radians.

Referenced by PxQuat::toRadiansAndUnitAxis().

Arctangent of (x/y) with correct sign. Returns angle between -PI and PI in radians Unit: Radians.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3::PxBounds3 ( const PxVec3 minimum,
const PxVec3 maximum 
)

Construct from two bounding points.

template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxClamp ( v,
lo,
hi 
)

Clamps v to the range [hi,lo].

References PX_ASSERT, PxMax(), and PxMin().

Referenced by PxAcos(), and PxAsin().

Cosine of an angle (Unit: Radians)

Referenced by PxQuat::PxQuat().

Cosine of an angle (Unit: Radians)

PX_C_EXPORT PX_FOUNDATION_API physx::PxFoundation* PX_CALL_CONV PxCreateFoundation ( physx::PxU32  version,
physx::PxAllocatorCallback &  allocator,
physx::PxErrorCallback &  errorCallback 
)

Creates an instance of the foundation class.

The foundation class is needed to initialize higher level SDKs. There may be only one instance per process. Calling this method after an instance has been created already will result in an error message and NULL will be returned.

Parameters
versionVersion number we are expecting (should be PX_PHYSICS_VERSION)
allocatorUser supplied interface for allocating memory(see PxAllocatorCallback)
errorCallbackUser supplied interface for reporting errors and displaying messages(see PxErrorCallback)
Returns
Foundation instance on success, NULL if operation failed
See Also
PxFoundation
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxEquals ( PxF32  a,
PxF32  b,
PxF32  eps 
)

References PxAbs().

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( void  )
template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( enumtype  e)
template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( const PxFlags< enumtype, storagetype > &  f)
template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( storagetype  b)
explicit
PX_FOUNDATION_API PxAssertHandler& PxGetAssertHandler ( )
PX_C_EXPORT PX_FOUNDATION_API physx::PxFoundation& PX_CALL_CONV PxGetFoundation ( )

Retrieves the Foundation SDK after it has been created.

Note
The behavior of this method is undefined if the foundation instance has not been created already.
See Also
PxCreateFoundation()

Referenced by PxControllerManager::createController(), and PxControllerDesc::isValid().

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxIsFinite ( PxF32  f)
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxIsFinite ( PxF64  f)

returns true if the passed number is a finite floating point number as opposed to INF, NAN, etc.

template<typename T >
PX_INLINE PxStrideIterator<T> PxMakeIterator ( T *  ptr,
PxU32  stride = sizeof(T) 
)

Stride iterator factory function which infers the iterator type.

template<typename T >
PX_INLINE PxStrideIterator<const T> PxMakeIterator ( const T *  ptr,
PxU32  stride = sizeof(T) 
)

Stride iterator factory function which infers the iterator type.

template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMax ( a,
b 
)

The return value is the greater of the two specified values.

Referenced by PxVec2::maxElement(), PxVec3::maxElement(), PxVec2::maximum(), PxVec4::maximum(), PxVec3::maximum(), and PxClamp().

template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMax ( float  a,
float  b 
)

overload for float to use fsel on xbox

PX_FORCE_INLINE void* PxMemCopy ( void *PX_RESTRICT  dest,
const void *PX_RESTRICT  src,
PxU32  count 
)

Copies the bytes of one memory block to another. The memory blocks must not overlap.

Note
Use PxMemMove if memory blocks overlap.
Parameters
destPointer to block of memory to copy to.
srcPointer to block of memory to copy from.
countNumber of bytes to copy.
Returns
Pointer to destination memory block

Referenced by PxContactPair::bufferContacts().

PX_FORCE_INLINE void* PxMemMove ( void *PX_RESTRICT  dest,
const void *PX_RESTRICT  src,
PxU32  count 
)

Copies the bytes of one memory block to another. The memory blocks can overlap.

Note
Use PxMemCopy if memory blocks do not overlap.
Parameters
destPointer to block of memory to copy to.
srcPointer to block of memory to copy from.
countNumber of bytes to copy.
Returns
Pointer to destination memory block
PX_FORCE_INLINE void* PxMemSet ( void *PX_RESTRICT  dest,
PxI32  c,
PxU32  count 
)

Sets the bytes of the provided buffer to the specified value.

Parameters
destPointer to block of memory to set to the specified value.
cValue to set the bytes of the block of memory to.
countNumber of bytes to set to the specified value.
Returns
Pointer to memory block (same as input)

Referenced by PxVehicleDifferentialNWData::PxVehicleDifferentialNWData().

PX_FORCE_INLINE void* PxMemZero ( void *PX_RESTRICT  dest,
PxU32  count 
)

Sets the bytes of the provided buffer to zero.

Parameters
destPointer to block of memory to set zero.
countNumber of bytes to set to zero.
Returns
Pointer to memory block (same as input)

Referenced by PxWheelQueryResult::PxWheelQueryResult().

template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMin ( a,
b 
)
template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMin ( float  a,
float  b 
)

overload for float to use fsel on xbox

PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat ( const PxMat33 m)
explicit

Creates from orientation matrix.

Parameters
[in]mRotation matrix to extract quaternion from.

References PxSqrt().

reciprocal square root.

PX_FOUNDATION_API void PxSetAssertHandler ( PxAssertHandler handler)

trigonometry – all angles are in radians.

Sine of an angle ( Unit: Radians )

Referenced by PxQuat::PxQuat().

Sine of an angle ( Unit: Radians )

Square root.

Tangent of an angle. Unit: Radians.

Tangent of an angle. Unit: Radians.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform ( const PxMat44 m)
explicit
template<class A , class B >
PX_FORCE_INLINE A PxUnionCast ( b)
PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::scaleFast ( PxF32  scale)

scales the AABB.

Calling this method for empty bounds leads to undefined behavior. Use scaleSafe() instead.

Parameters
scaleFactor to scale AABB by.

References PxBounds3::centerExtents(), PxBounds3::getCenter(), PxBounds3::getExtents(), PxBounds3::isValid(), and PX_ASSERT.

Referenced by PxBounds3::scaleSafe().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::scaleSafe ( PxF32  scale)

scales the AABB.

This version is safe to call for empty bounds.

Parameters
scaleFactor to scale AABB by.

References PxBounds3::isEmpty(), PxBounds3::isValid(), PX_ASSERT, and PxBounds3::scaleFast().

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::set ( enumtype  e)
PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::setEmpty ( )

Sets empty to true.

References PxBounds3::maximum, PxBounds3::minimum, and PX_MAX_BOUNDS_EXTENTS.

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::setMaximal ( )

Sets the bounds to maximum size [-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS].

References PxBounds3::maximum, PxBounds3::minimum, and PX_MAX_BOUNDS_EXTENTS.

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformFast ( const PxMat33 matrix,
const PxBounds3 bounds 
)
static

gets the transformed bounds of the passed AABB (resulting in a bigger AABB).

Calling this method for empty bounds leads to undefined behavior. Use transformSafe() instead.

Parameters
[in]matrixTransform to apply, can contain scaling as well
[in]boundsThe bounds to transform.

References PxBounds3::basisExtent(), PxBounds3::getCenter(), PxBounds3::getExtents(), PxBounds3::isValid(), and PX_ASSERT.

Referenced by PxBounds3::transformSafe().

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformFast ( const PxTransform transform,
const PxBounds3 bounds 
)
static

gets the transformed bounds of the passed AABB (resulting in a bigger AABB).

Calling this method for empty bounds leads to undefined behavior. Use transformSafe() instead.

Parameters
[in]transformTransform to apply, can contain scaling as well
[in]boundsThe bounds to transform.

References PxBounds3::basisExtent(), PxBounds3::getCenter(), PxBounds3::getExtents(), PxBounds3::isValid(), PX_ASSERT, PxTransform::q, and PxTransform::transform().

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformSafe ( const PxMat33 matrix,
const PxBounds3 bounds 
)
static

gets the transformed bounds of the passed AABB (resulting in a bigger AABB).

This version is safe to call for empty bounds.

Parameters
[in]matrixTransform to apply, can contain scaling as well
[in]boundsThe bounds to transform.

References PxBounds3::isEmpty(), PxBounds3::isValid(), PX_ASSERT, and PxBounds3::transformFast().

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::transformSafe ( const PxTransform transform,
const PxBounds3 bounds 
)
static

gets the transformed bounds of the passed AABB (resulting in a bigger AABB).

This version is safe to call for empty bounds.

Parameters
[in]transformTransform to apply, can contain scaling as well
[in]boundsThe bounds to transform.

References PxBounds3::isEmpty(), PxBounds3::isValid(), PX_ASSERT, and PxBounds3::transformFast().

Variable Documentation

const PxReal PxHalfPi = PxReal(1.57079632679489661923)
static
const PxReal PxInvPi = PxReal(0.31830988618379067154)
static
const PxReal PxInvTwoPi = PxReal(0.15915494309189533577)
static
const PxReal PxPi = PxReal(3.141592653589793)
static
const PxReal PxPiDivFour = PxReal(0.78539816339744830962)
static
const PxReal PxPiDivTwo = PxReal(1.57079632679489661923)
static
const PxReal PxTwoPi = PxReal(6.28318530717958647692)
static


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