Foundation

Collaboration diagram for Foundation:
Pvd

Classes

class  PxAllocatorCallback
 Abstract base class for an application defined memory allocator that can be used by the Nv library. More...
class  PxAssertHandler
class  PxBitAndDataT< storageType, bitMask >
class  PxBounds3
 Class representing 3D range or axis aligned bounding box. 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...
class  PxFileBuf
 Callback class for data serialization. More...

Namespaces

namespace  physx

Defines

#define PX_PHYSICS_VERSION_MAJOR   3
#define PX_PHYSICS_VERSION_MINOR   4
#define PX_PHYSICS_VERSION_BUGFIX   0
#define PX_PHYSICS_VERSION   ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)
#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_FOUNDATION_VERSION_MAJOR   1
#define PX_FOUNDATION_VERSION_MINOR   0
#define PX_FOUNDATION_VERSION_BUGFIX   0
#define PX_FOUNDATION_VERSION   ((PX_FOUNDATION_VERSION_MAJOR << 24) + (PX_FOUNDATION_VERSION_MINOR << 16) + (PX_FOUNDATION_VERSION_BUGFIX << 8) + 0)
#define PX_VC   0
#define PX_CLANG   0
#define PX_GCC   0
#define PX_XBOXONE   0
#define PX_WIN64   0
#define PX_WIN32   0
#define PX_ANDROID   0
#define PX_LINUX   0
#define PX_IOS   0
#define PX_OSX   0
#define PX_PS4   0
#define PX_NX   0
#define PX_X64   0
#define PX_X86   0
#define PX_A64   0
#define PX_ARM   0
#define PX_PPC   0
#define PX_SSE2   0
#define PX_NEON   0
#define PX_VMX   0
#define PX_DEBUG   0
#define PX_CHECKED   0
#define PX_PROFILE   0
#define PX_NVTX   0
#define PX_GCC_FAMILY   (PX_CLANG || PX_GCC)
#define PX_WINDOWS_FAMILY   (PX_WIN32 || PX_WIN64)
#define PX_MICROSOFT_FAMILY   (PX_XBOXONE || PX_WINDOWS_FAMILY)
#define PX_LINUX_FAMILY   (PX_LINUX || PX_ANDROID)
#define PX_APPLE_FAMILY   (PX_IOS || PX_OSX)
#define PX_UNIX_FAMILY   (PX_LINUX_FAMILY || PX_APPLE_FAMILY)
#define PX_EMSCRIPTEN   0
#define PX_INTEL_FAMILY   (PX_X64 || PX_X86)
#define PX_ARM_FAMILY   (PX_ARM || PX_A64)
#define PX_P64_FAMILY   (PX_X64 || PX_A64)
#define PX_LIBCPP   0
#define PX_WINDOWS   (PX_WINDOWS_FAMILY && !PX_ARM_FAMILY)
#define PX_ENABLE_ASSERTS   0
#define PX_UNIX_EXPORT
#define PX_DLL_EXPORT   PX_UNIX_EXPORT
#define PX_DLL_IMPORT
#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_OFFSETOF_BASE   0x100
#define PX_OFFSET_OF_RT(Class, Member)   (reinterpret_cast<size_t>(&reinterpret_cast<Class*>(PX_OFFSETOF_BASE)->Member) - size_t(PX_OFFSETOF_BASE))
#define PX_CUDA_CALLABLE
#define PX_DUMMY_SYMBOL
#define PX_WEAK_SYMBOL
#define PX_NOCOPY(Class)
#define PX_STRINGIZE_HELPER(X)   #X
#define PX_STRINGIZE(X)   PX_STRINGIZE_HELPER(X)
#define PX_CONCAT_HELPER(X, Y)   X##Y
#define PX_CONCAT(X, Y)   PX_CONCAT_HELPER(X, Y)
#define PX_SUPPORT_GPU_PHYSX   ((PX_WINDOWS_FAMILY) || (PX_LINUX && PX_X64))
#define PX_SUPPORT_COMPUTE_PHYSX   0
#define PX_SUPPORT_EXTERN_TEMPLATE   ((!PX_ANDROID) && (PX_VC != 11))
#define __STDC_FORMAT_MACROS
#define PX_PRIu64   PRIu64
#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   float(1e-20f)
#define PX_MAX_I8   INT8_MAX
#define PX_MIN_I8   INT8_MIN
#define PX_MAX_U8   UINT8_MAX
#define PX_MIN_U8   UINT8_MIN
#define PX_MAX_I16   INT16_MAX
#define PX_MIN_I16   INT16_MIN
#define PX_MAX_U16   UINT16_MAX
#define PX_MIN_U16   UINT16_MIN
#define PX_MAX_I32   INT32_MAX
#define PX_MIN_I32   INT32_MIN
#define PX_MAX_U32   UINT32_MAX
#define PX_MIN_U32   UINT32_MIN

Typedefs

typedef uint32_t PxU32
typedef PxBitAndDataT
< unsigned char, 0x80 > 
PxBitAndByte
typedef PxBitAndDataT
< unsigned short, 0x8000 > 
PxBitAndWord
typedef PxBitAndDataT
< unsigned int, 0x80000000 > 
PxBitAndDword

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.
PX_C_EXPORT PX_FOUNDATION_API
physx::PxFoundation
&PX_CALL_CONV 
PxGetFoundation ()
 Retrieves the Foundation SDK after it has been created.
PX_C_EXPORT PX_FOUNDATION_API
physx::PxProfilerCallback
*PX_CALL_CONV 
PxGetProfilerCallback ()
 Get the callback that will be used for all profiling.
PX_C_EXPORT PX_FOUNDATION_API
void PX_CALL_CONV 
PxSetProfilerCallback (physx::PxProfilerCallback *profiler)
 Set the callback that will be used for all profiling.
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMax (T a, T b)
 The return value is the greater of the two specified values.
template<>
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxMax (float a, float b)
 overload for float to use fsel on xbox
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMin (T a, T b)
 The return value is the lesser of the two specified values.
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_FORCE_INLINE float 
PxAbs (float a)
 abs returns the absolute value of its argument.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxEquals (float a, float b, float eps)
PX_CUDA_CALLABLE
PX_FORCE_INLINE double 
PxAbs (double a)
 abs returns the absolute value of its argument.
PX_CUDA_CALLABLE
PX_FORCE_INLINE int32_t 
PxAbs (int32_t a)
 abs returns the absolute value of its argument.
template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxClamp (T v, T lo, T hi)
 Clamps v to the range [hi,lo].
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxSqrt (float a)
 Square root.
PX_CUDA_CALLABLE
PX_FORCE_INLINE double 
PxSqrt (double a)
 Square root.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxRecipSqrt (float a)
 reciprocal square root.
PX_CUDA_CALLABLE
PX_FORCE_INLINE double 
PxRecipSqrt (double a)
 reciprocal square root.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxSin (float a)
 trigonometry -- all angles are in radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE double 
PxSin (double a)
 Sine of an angle ( Unit: Radians ).
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxCos (float a)
 Cosine of an angle (Unit: Radians).
PX_CUDA_CALLABLE
PX_FORCE_INLINE double 
PxCos (double a)
 Cosine of an angle (Unit: Radians).
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxTan (float a)
 Tangent of an angle. Unit: Radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE double 
PxTan (double a)
 Tangent of an angle. Unit: Radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxAsin (float f)
 Arcsine. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE double 
PxAsin (double f)
 Arcsine. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxAcos (float f)
 Arccosine. Returns angle between 0 and PI in radians Unit: Radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE double 
PxAcos (double f)
 Arccosine. Returns angle between 0 and PI in radians Unit: Radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxAtan (float a)
 ArcTangent. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE double 
PxAtan (double a)
 ArcTangent. Returns angle between -PI/2 and PI/2 in radians Unit: Radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxAtan2 (float x, float y)
 Arctangent of (x/y) with correct sign. Returns angle between -PI and PI in radians Unit: Radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE double 
PxAtan2 (double x, double y)
 Arctangent of (x/y) with correct sign. Returns angle between -PI and PI in radians Unit: Radians.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxIsFinite (float f)
 returns true if the passed number is a finite floating point number as opposed to INF, NAN, etc.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxIsFinite (double f)
 returns true if the passed number is a finite floating point number as opposed to INF, NAN, etc.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxFloor (float a)
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxExp (float a)
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxCeil (float a)
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxSign (float a)
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxPow (float x, float y)
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxLog (float x)
PX_FORCE_INLINE void * PxMemZero (void *dest, PxU32 count)
 Sets the bytes of the provided buffer to zero.
PX_FORCE_INLINE void * PxMemSet (void *dest, PxI32 c, PxU32 count)
 Sets the bytes of the provided buffer to the specified value.
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.
PX_FORCE_INLINE void * PxMemMove (void *dest, const void *src, PxU32 count)
 Copies the bytes of one memory block to another. The memory blocks can overlap.
template<class T >
PX_CUDA_CALLABLE PX_INLINE void PX_UNUSED (T const &)
 PX_COMPILE_TIME_ASSERT (PX_OFFSET_OF(PxPackValidation, a)==8)
template<typename T >
PX_INLINE PxStrideIterator< T > operator+ (int i, PxStrideIterator< T > it)
 Addition operator.
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 A , class B >
PX_FORCE_INLINE A PxUnionCast (B b)
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec2 
operator* (float f, const PxVec2 &v)
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 
operator* (float f, const PxVec3 &v)
static PX_CUDA_CALLABLE
PX_INLINE PxVec4 
operator* (float f, const PxVec4 &v)
PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3::PxBounds3 (const PxVec3 &minimum, const PxVec3 &maximum)
 Construct from two bounding points.
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 
PxBounds3::empty ()
 Return empty bounds.
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.
static PX_CUDA_CALLABLE
PX_FORCE_INLINE PxBounds3 
PxBounds3::centerExtents (const PxVec3 &center, const PxVec3 &extent)
 returns the AABB from center and extents vectors.
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.
static PX_CUDA_CALLABLE
PX_INLINE PxBounds3 
PxBounds3::poseExtent (const PxTransform &pose, const PxVec3 &extent)
 Construct from pose and extent.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::setEmpty ()
 Sets empty to true.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::setMaximal ()
 Sets the bounds to maximum size [-PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS].
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::include (const PxVec3 &v)
 expands the volume to include v
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::include (const PxBounds3 &b)
 expands the volume to include b.
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.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxBounds3::intersects1D (const PxBounds3 &a, uint32_t axis) const
 computes the 1D-intersection between two AABBs, on a given axis.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxBounds3::contains (const PxVec3 &v) const
 indicates if these bounds contain v.
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxBounds3::isInside (const PxBounds3 &box) const
 checks a box is inside another box.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 
PxBounds3::getCenter () const
 returns the center of this axis aligned box.
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxBounds3::getCenter (uint32_t axis) const
 get component of the box's center along a given axis
PX_CUDA_CALLABLE
PX_FORCE_INLINE float 
PxBounds3::getExtents (uint32_t axis) const
 get component of the box's extents along a given axis
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 
PxBounds3::getDimensions () const
 returns the dimensions (width/height/depth) of this axis aligned box.
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 
PxBounds3::getExtents () const
 returns the extents, which are half of the width/height/depth.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::scaleSafe (float scale)
 scales the AABB.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::scaleFast (float scale)
 scales the AABB.
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::fattenSafe (float distance)
PX_CUDA_CALLABLE
PX_FORCE_INLINE void 
PxBounds3::fattenFast (float 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).
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).
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).
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).
PX_CUDA_CALLABLE
PX_FORCE_INLINE bool 
PxBounds3::isValid () const
PX_CUDA_CALLABLE PX_INLINE PxFlags::PxFlags (void)
PX_CUDA_CALLABLE PX_INLINE PxFlags::PxFlags (enumtype e)
PX_CUDA_CALLABLE PX_INLINE PxFlags::PxFlags (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE PxFlags::PxFlags (storagetype b)
PX_CUDA_CALLABLE PX_INLINE bool PxFlags::isSet (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 
PxFlags::set (enumtype e)
PX_CUDA_CALLABLE PX_INLINE bool PxFlags::operator== (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE bool PxFlags::operator== (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE bool PxFlags::operator== (bool b) const
PX_CUDA_CALLABLE PX_INLINE bool PxFlags::operator!= (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE bool PxFlags::operator!= (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 
PxFlags::operator= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 
PxFlags::operator= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 
PxFlags::operator|= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 
PxFlags::operator|= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 
PxFlags::operator| (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 
PxFlags::operator| (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 
PxFlags::operator&= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 
PxFlags::operator&= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 
PxFlags::operator& (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 
PxFlags::operator& (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 
PxFlags::operator^= (enumtype e)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > & 
PxFlags::operator^= (const PxFlags< enumtype, storagetype > &f)
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 
PxFlags::operator^ (enumtype e) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 
PxFlags::operator^ (const PxFlags< enumtype, storagetype > &f) const
PX_CUDA_CALLABLE PX_INLINE
PxFlags< enumtype, storagetype > 
PxFlags::operator~ (void) const
PX_CUDA_CALLABLE PX_INLINE PxFlags::operator bool (void) const
PX_CUDA_CALLABLE PX_INLINE PxFlags::operator uint8_t (void) const
PX_CUDA_CALLABLE PX_INLINE PxFlags::operator uint16_t (void) const
PX_CUDA_CALLABLE PX_INLINE PxFlags::operator uint32_t (void) const
PX_CUDA_CALLABLE PX_INLINE void PxFlags::clear (enumtype e)
PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat (const PxMat33 &m)
 Creates from orientation matrix.
PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform (const PxMat44 &m)

Variables

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

Define Documentation

#define __STDC_FORMAT_MACROS

#define PX_A64   0

#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_ANDROID   0

#define PX_APPLE_FAMILY   (PX_IOS || PX_OSX)

#define PX_ARM   0

#define PX_ARM_FAMILY   (PX_ARM || PX_A64)

#define PX_ASSERT ( exp   )     ((void)0)

Referenced by PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::addPair(), physx::PxTask::addReference(), PxContactStreamIterator::advanceToIndex(), PxDefaultAllocator::allocate(), PxBounds3::contains(), PxBounds3::fattenFast(), PxBounds3::fattenSafe(), physx::PxTask::finishBefore(), PxGeometryHolder::get(), PxHitBuffer< PxSweepHit >::getAnyHit(), PxBatchQueryResult< HitType >::getAnyHit(), PxMat44::getBasis(), PxBounds3::getCenter(), PxBounds3::getDimensions(), PxContactStreamIterator::getExtendedContact(), PxBounds3::getExtents(), PxTransform::getInverse(), PxMassProperties::getMassSpaceInertia(), 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(), PxContactStreamIterator::nextPatch(), PxVec3::normalizeFast(), PxStrideIterator< const PxVec3 >::operator!=(), PxTransform::operator*(), PxMassProperties::operator*(), PxStrideIterator< const PxVec3 >::operator-(), PxStrideIterator< const PxVec3 >::operator<(), PxStrideIterator< const PxVec3 >::operator<=(), PxStrideIterator< const PxVec3 >::operator==(), PxStrideIterator< const PxVec3 >::operator>(), PxStrideIterator< const PxVec3 >::operator>=(), PxVec4::operator[](), PxVec3::operator[](), PxVec2::operator[](), PxExtendedVec3::operator[](), PxClamp(), PxCreateRepXObject(), PxMassProperties::PxMassProperties(), PxMeshScale::PxMeshScale(), PxQuat::PxQuat(), PxStrideIterator< const PxVec3 >::PxStrideIterator(), PxTransform::PxTransform(), PxSerializerDefaultAdapter< T >::registerReferences(), physx::PxTask::release(), physx::PxTask::removeReference(), PxTransform::rotate(), PxMassProperties::rotateInertia(), PxTransform::rotateInv(), PxBounds3::scaleFast(), PxMassProperties::scaleInertia(), PxBounds3::scaleSafe(), physx::PxLightCpuTask::setContinuation(), physx::PxTask::startAfter(), PxMassProperties::sum(), PxTransform::transform(), PxBounds3::transformFast(), PxTransform::transformInv(), PxBounds3::transformSafe(), PxMassProperties::translate(), and PxMassProperties::translateInertia().

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

#define PX_CHECKED   0

#define PX_CLANG   0

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

General defines

#define PX_CONCAT ( X,
 )     PX_CONCAT_HELPER(X, Y)

#define PX_CONCAT_HELPER ( X,
 )     X##Y

#define PX_CUDA_CALLABLE

#define PX_DEBUG   0

#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').

Use these macro definitions to create warnings for deprecated functions #define PX_DEPRECATED __declspec(deprecated) // Microsoft #define PX_DEPRECATED __attribute__((deprecated())) // GCC

#define PX_DLL_EXPORT   PX_UNIX_EXPORT

#define PX_DLL_IMPORT

#define PX_DUMMY_SYMBOL

#define PX_EMSCRIPTEN   0

#define PX_ENABLE_ASSERTS   0

Assert macro

#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_VERSION   ((PX_FOUNDATION_VERSION_MAJOR << 24) + (PX_FOUNDATION_VERSION_MINOR << 16) + (PX_FOUNDATION_VERSION_BUGFIX << 8) + 0)

The constant PX_FOUNDATION_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_FOUNDATION_VERSION_BUGFIX   0

#define PX_FOUNDATION_VERSION_MAJOR   1

#define PX_FOUNDATION_VERSION_MINOR   0

#define PX_GCC   0

#define PX_GCC_FAMILY   (PX_CLANG || PX_GCC)

family shortcuts

#define PX_INLINE   inline

Inline macro

#define PX_INTEL_FAMILY   (PX_X64 || PX_X86)

#define PX_IOS   0

#define PX_LIBCPP   0

C++ standard library defines

#define PX_LINUX   0

#define PX_LINUX_FAMILY   (PX_LINUX || PX_ANDROID)

#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   INT16_MAX

#define PX_MAX_I32   INT32_MAX

#define PX_MAX_I8   INT8_MAX

#define PX_MAX_REAL   PX_MAX_F32

#define PX_MAX_U16   UINT16_MAX

#define PX_MAX_U32   UINT32_MAX

#define PX_MAX_U8   UINT8_MAX

#define PX_MICROSOFT_FAMILY   (PX_XBOXONE || PX_WINDOWS_FAMILY)

#define PX_MIN_I16   INT16_MIN

#define PX_MIN_I32   INT32_MIN

#define PX_MIN_I8   INT8_MIN

#define PX_MIN_U16   UINT16_MIN

#define PX_MIN_U32   UINT32_MIN

#define PX_MIN_U8   UINT8_MIN

#define PX_NEON   0

#define PX_NOALIAS

Noalias macro

#define PX_NOCOPY ( Class   ) 

Value:

\
protected:                                                                                                             \
    Class(const Class&);                                                                                               \
    Class& operator=(const Class&);

#define PX_NOINLINE

Noinline macro

#define PX_NORMALIZATION_EPSILON   float(1e-20f)

#define PX_NVTX   0

#define PX_NX   0

#define PX_OFFSET_OF ( X,
 )     offsetof(X, Y)

#define PX_OFFSET_OF_RT ( Class,
Member   )     (reinterpret_cast<size_t>(&reinterpret_cast<Class*>(PX_OFFSETOF_BASE)->Member) - size_t(PX_OFFSETOF_BASE))

#define PX_OFFSETOF_BASE   0x100

#define PX_OSX   0

#define PX_P64_FAMILY   (PX_X64 || PX_A64)

#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   0

#define PX_PHYSICS_VERSION_MAJOR   3

#define PX_PHYSICS_VERSION_MINOR   4

#define PX_POP_PACK

#define PX_PPC   0

#define PX_PRIu64   PRIu64

#define PX_PROFILE   0

#define PX_PS4   0

#define PX_PUSH_PACK_DEFAULT

Define API function declaration

PX_FOUNDATION_DLL=1 - used by the DLL library (PhysXCommon) to export the API PX_FOUNDATION_DLL=0 - for 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 Calling convention Pack macros - disabled on SPU because they are not supported

#define PX_RESTRICT   __restrict

Restrict macro

#define PX_SSE2   0

#define PX_STRINGIZE (  )     PX_STRINGIZE_HELPER(X)

#define PX_STRINGIZE_HELPER (  )     #X

#define PX_SUPPORT_COMPUTE_PHYSX   0

#define PX_SUPPORT_EXTERN_TEMPLATE   ((!PX_ANDROID) && (PX_VC != 11))

#define PX_SUPPORT_GPU_PHYSX   ((PX_WINDOWS_FAMILY) || (PX_LINUX && PX_X64))

#define PX_UNIX_EXPORT

DLL export macros

#define PX_UNIX_FAMILY   (PX_LINUX_FAMILY || PX_APPLE_FAMILY)

#define PX_VC   0

Compiler defines, see http://sourceforge.net/p/predef/wiki/Compilers/ Operating system defines, see http://sourceforge.net/p/predef/wiki/OperatingSystems/ Architecture defines, see http://sourceforge.net/p/predef/wiki/Architectures/ SIMD defines define anything not defined on this platform to 0

#define PX_VMX   0

#define PX_WEAK_SYMBOL

#define PX_WIN32   0

#define PX_WIN64   0

#define PX_WINDOWS   (PX_WINDOWS_FAMILY && !PX_ARM_FAMILY)

#define PX_WINDOWS_FAMILY   (PX_WIN32 || PX_WIN64)

#define PX_X64   0

#define PX_X86   0

#define PX_XBOXONE   0


Typedef Documentation

typedef PxBitAndDataT<unsigned char, 0x80> PxBitAndByte

typedef PxBitAndDataT<unsigned int, 0x80000000> PxBitAndDword

typedef PxBitAndDataT<unsigned short, 0x8000> PxBitAndWord

typedef uint32_t PxU32

files to always include


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, inherited]

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, inherited]

returns the AABB containing v0 and v1.

Parameters:
v0 first point included in the AABB.
v1 second 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, inherited]

returns the AABB from center and extents vectors.

Parameters:
center Center vector
extent Extents vector

References PxBounds3::PxBounds3().

Referenced by PxBounds3::scaleFast().

template<typename enumtype, typename storagetype >
PX_INLINE void PxFlags< enumtype, storagetype >::clear ( enumtype  e  )  [inline, inherited]

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::contains ( const PxVec3 v  )  const [inherited]

indicates if these bounds contain v.

Parameters:
v Point 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, inherited]

Return empty bounds.

References PX_MAX_BOUNDS_EXTENTS, and PxBounds3::PxBounds3().

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::fattenFast ( float  distance  )  [inherited]

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 ( float  distance  )  [inherited]

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 float PxBounds3::getCenter ( uint32_t  axis  )  const [inherited]

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::getCenter (  )  const [inherited]

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 PxVec3 PxBounds3::getDimensions (  )  const [inherited]

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 PxVec3 PxBounds3::getExtents (  )  const [inherited]

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 float PxBounds3::getExtents ( uint32_t  axis  )  const [inherited]

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 void PxBounds3::include ( const PxBounds3 b  )  [inherited]

expands the volume to include b.

Parameters:
b Bounds to perform union with.

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

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::include ( const PxVec3 v  )  [inherited]

expands the volume to include v

Parameters:
v Point to expand to.

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

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::intersects ( const PxBounds3 b  )  const [inherited]

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

Parameters:
b Bounds 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,
uint32_t  axis 
) const [inherited]

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

Parameters:
a the other AABB
axis the axis (0, 1, 2)

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

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isEmpty (  )  const [inherited]

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isFinite (  )  const [inherited]

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 [inherited]

checks a box is inside another box.

Parameters:
box the 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 [inline, inherited]

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxBounds3::isValid (  )  const [inherited]

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator bool ( void   )  const [inline, inherited]

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator uint16_t ( void   )  const [inline, inherited]

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator uint32_t ( void   )  const [inline, inherited]

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::operator uint8_t ( void   )  const [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE bool PxFlags< enumtype, storagetype >::operator!= ( const PxFlags< enumtype, storagetype > &  f  )  const [inline, inherited]

template<typename enumtype, typename storagetype >
PX_INLINE bool PxFlags< enumtype, storagetype >::operator!= ( enumtype  e  )  const [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator& ( const PxFlags< enumtype, storagetype > &  f  )  const [inline, inherited]

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator& ( enumtype  e  )  const [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator&= ( const PxFlags< enumtype, storagetype > &  f  )  [inline, inherited]

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator&= ( enumtype  e  )  [inline, inherited]

static PX_CUDA_CALLABLE PX_INLINE PxVec4 operator* ( float  f,
const PxVec4 v 
) [static]

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

static PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec3 operator* ( float  f,
const PxVec3 v 
) [static]

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

static PX_CUDA_CALLABLE PX_FORCE_INLINE PxVec2 operator* ( float  f,
const PxVec2 v 
) [static]

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

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

Addition operator.

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator= ( const PxFlags< enumtype, storagetype > &  f  )  [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator= ( enumtype  e  )  [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== ( bool  b  )  const [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== ( const PxFlags< enumtype, storagetype > &  f  )  const [inline, inherited]

template<typename enumtype, typename storagetype >
PX_INLINE bool PxFlags< enumtype, storagetype >::operator== ( enumtype  e  )  const [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator^ ( const PxFlags< enumtype, storagetype > &  f  )  const [inline, inherited]

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator^ ( enumtype  e  )  const [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator^= ( const PxFlags< enumtype, storagetype > &  f  )  [inline, inherited]

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator^= ( enumtype  e  )  [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator| ( const PxFlags< enumtype, storagetype > &  f  )  const [inline, inherited]

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator| ( enumtype  e  )  const [inline, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator|= ( const PxFlags< enumtype, storagetype > &  f  )  [inline, inherited]

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > & PxFlags< enumtype, storagetype >::operator|= ( enumtype  e  )  [inline, inherited]

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype > PxFlags< enumtype, storagetype >::operator~ ( void   )  const [inline, inherited]

PX_CUDA_CALLABLE PX_INLINE PxBounds3 PxBounds3::poseExtent ( const PxTransform pose,
const PxVec3 extent 
) [static, inherited]

Construct from pose and extent.

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

PX_COMPILE_TIME_ASSERT ( PX_OFFSET_OF(PxPackValidation, a)  = =8  ) 

template<class T >
PX_CUDA_CALLABLE PX_INLINE void PX_UNUSED ( T const &   )  [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE int32_t PxAbs ( int32_t  a  ) 

abs returns the absolute value of its argument.

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAbs ( double  a  ) 

abs returns the absolute value of its argument.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAbs ( float  a  ) 

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAcos ( double  f  ) 

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

References PxClamp().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAcos ( float  f  ) 

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

References PxClamp().

Referenced by PxQuat::getAngle().

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAsin ( double  f  ) 

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

References PxClamp().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAsin ( float  f  ) 

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

References PxClamp().

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAtan ( double  a  ) 

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

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAtan ( float  a  ) 

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

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxAtan2 ( double  x,
double  y 
)

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

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxAtan2 ( float  x,
float  y 
)

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

Referenced by PxQuat::toRadiansAndUnitAxis().

PX_CUDA_CALLABLE PX_FORCE_INLINE PxBounds3::PxBounds3 ( const PxVec3 minimum,
const PxVec3 maximum 
) [inherited]

Construct from two bounding points.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxCeil ( float  a  ) 

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

Clamps v to the range [hi,lo].

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

Referenced by PxAcos(), and PxAsin().

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxCos ( double  a  ) 

Cosine of an angle (Unit: Radians).

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxCos ( float  a  ) 

Cosine of an angle (Unit: Radians).

Referenced by PxQuat::PxQuat().

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:
version Version number we are expecting (should be PX_FOUNDATION_VERSION)
allocator User supplied interface for allocating memory(see PxAllocatorCallback)
errorCallback User 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 ( float  a,
float  b,
float  eps 
)

References PxAbs().

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxExp ( float  a  ) 

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( storagetype  b  )  [inline, explicit, inherited]

template<typename enumtype, typename storagetype>
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( const PxFlags< enumtype, storagetype > &  f  )  [inline, inherited]

template<typename enumtype, typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( enumtype  e  )  [inline, inherited]

template<typename enumtype , typename storagetype >
PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( void   )  [inline, inherited]

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxFloor ( float  a  ) 

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()

PX_C_EXPORT PX_FOUNDATION_API physx::PxProfilerCallback* PX_CALL_CONV PxGetProfilerCallback (  ) 

Get the callback that will be used for all profiling.

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxIsFinite ( double  f  ) 

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

PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxIsFinite ( float  f  ) 

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxLog ( float  x  ) 

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

Stride iterator factory function which infers the iterator type.

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

Stride iterator factory function which infers the iterator type.

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

overload for float to use fsel on xbox

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

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

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

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:
dest Pointer to block of memory to copy to.
src Pointer to block of memory to copy from.
count Number of bytes to copy.
Returns:
Pointer to destination memory block

Referenced by PxContactPair::bufferContacts(), PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::operator=(), and PxFixedSizeLookupTable< eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES >::PxFixedSizeLookupTable().

PX_FORCE_INLINE void* PxMemMove ( void *  dest,
const void *  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:
dest Pointer to block of memory to copy to.
src Pointer to block of memory to copy from.
count Number of bytes to copy.
Returns:
Pointer to destination memory block

PX_FORCE_INLINE void* PxMemSet ( void *  dest,
PxI32  c,
PxU32  count 
)

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

Parameters:
dest Pointer to block of memory to set to the specified value.
c Value to set the bytes of the block of memory to.
count Number 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 *  dest,
PxU32  count 
)

Sets the bytes of the provided buffer to zero.

Parameters:
dest Pointer to block of memory to set zero.
count Number of bytes to set to zero.
Returns:
Pointer to memory block (same as input)

Referenced by PxWheelQueryResult::PxWheelQueryResult().

template<>
PX_CUDA_CALLABLE PX_FORCE_INLINE float PxMin ( float  a,
float  b 
) [inline]

overload for float to use fsel on xbox

template<class T >
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMin ( a,
b 
) [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxPow ( float  x,
float  y 
)

PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat ( const PxMat33 m  )  [explicit, inherited]

Creates from orientation matrix.

Parameters:
[in] m Rotation matrix to extract quaternion from.

References PxMat33::column0, PxMat33::column1, PxMat33::column2, PxQuat::PxQuat(), PxSqrt(), PxVec3::x, PxVec3::y, and PxVec3::z.

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxRecipSqrt ( double  a  ) 

reciprocal square root.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxRecipSqrt ( float  a  ) 

PX_FOUNDATION_API void PxSetAssertHandler ( PxAssertHandler handler  ) 

PX_C_EXPORT PX_FOUNDATION_API void PX_CALL_CONV PxSetProfilerCallback ( physx::PxProfilerCallback profiler  ) 

Set the callback that will be used for all profiling.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSign ( float  a  ) 

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxSin ( double  a  ) 

Sine of an angle ( Unit: Radians ).

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSin ( float  a  ) 

trigonometry -- all angles are in radians.

Sine of an angle ( Unit: Radians )

Referenced by PxQuat::PxQuat().

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxSqrt ( double  a  ) 

Square root.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxSqrt ( float  a  ) 

PX_CUDA_CALLABLE PX_FORCE_INLINE double PxTan ( double  a  ) 

Tangent of an angle. Unit: Radians.

PX_CUDA_CALLABLE PX_FORCE_INLINE float PxTan ( float  a  ) 

Tangent of an angle. Unit: Radians.

PX_CUDA_CALLABLE PX_FORCE_INLINE PxTransform::PxTransform ( const PxMat44 m  )  [explicit, inherited]

template<class A , class B >
PX_FORCE_INLINE A PxUnionCast ( b  )  [inline]

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::scaleFast ( float  scale  )  [inherited]

scales the AABB.

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

Parameters:
scale Factor 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 ( float  scale  )  [inherited]

scales the AABB.

This version is safe to call for empty bounds.

Parameters:
scale Factor 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  )  [inline, inherited]

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::setEmpty (  )  [inherited]

Sets empty to true.

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

PX_CUDA_CALLABLE PX_FORCE_INLINE void PxBounds3::setMaximal (  )  [inherited]

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 PxTransform transform,
const PxBounds3 bounds 
) [static, inherited]

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] transform Transform to apply, can contain scaling as well
[in] bounds The 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::transformFast ( const PxMat33 matrix,
const PxBounds3 bounds 
) [static, inherited]

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] matrix Transform to apply, can contain scaling as well
[in] bounds The 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::transformSafe ( const PxTransform transform,
const PxBounds3 bounds 
) [static, inherited]

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

This version is safe to call for empty bounds.

Parameters:
[in] transform Transform to apply, can contain scaling as well
[in] bounds The bounds to transform.

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

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

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

This version is safe to call for empty bounds.

Parameters:
[in] matrix Transform to apply, can contain scaling as well
[in] bounds The bounds to transform.

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


Variable Documentation

const float PxHalfPi = float(1.57079632679489661923) [static]

const float PxInvPi = float(0.31830988618379067154) [static]

const float PxInvTwoPi = float(0.15915494309189533577) [static]

const float PxPi = float(3.141592653589793) [static]

const float PxPiDivFour = float(0.78539816339744830962) [static]

const float PxPiDivTwo = float(1.57079632679489661923) [static]

const float PxTwoPi = float(6.28318530717958647692) [static]



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