RavEngine
Loading...
Searching...
No Matches
Foundation
Collaboration diagram for Foundation:

Namespaces

namespace  physx
 Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
 

Classes

struct  PxPackValidation
 

Macros

#define PX_IMPLEMENT_OUTPUT_ERROR
 
#define PX_FOUNDATION_API
 
#define PX_PHYSICS_VERSION_MAJOR   5
 
#define PX_PHYSICS_VERSION_MINOR   1
 
#define PX_PHYSICS_VERSION_BUGFIX   2
 
#define PX_PHYSICS_VERSION   ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)
 
#define PX_ENABLE_FEATURES_UNDER_CONSTRUCTION   0
 
#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_WASM   0
 
#define PX_VC   0
 
#define PX_CLANG   0
 
#define PX_GCC   0
 
#define PX_WIN64   0
 
#define PX_WIN32   0
 
#define PX_LINUX   0
 
#define PX_OSX   0
 
#define PX_SWITCH   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_UWP   0
 
#define PX_DEBUG   0
 
#define PX_CHECKED   0
 
#define PX_PROFILE   0
 
#define PX_DEBUG_CRT   0
 
#define PX_NVTX   0
 
#define PX_DOXYGEN   0
 
#define PX_GCC_FAMILY   (PX_CLANG || PX_GCC)
 
#define PX_WINDOWS_FAMILY   (PX_WIN32 || PX_WIN64)
 
#define PX_LINUX_FAMILY   PX_LINUX
 
#define PX_APPLE_FAMILY   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_C_EXPORT
 
#define PX_UNIX_EXPORT
 
#define PX_DLL_EXPORT   PX_UNIX_EXPORT
 
#define PX_DLL_IMPORT
 
#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_OVERRIDE
 
#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_SUPPORT_GPU_PHYSX   ((PX_X64 && (PX_WINDOWS_FAMILY || PX_LINUX)) || (PX_A64 && PX_LINUX))
 
#define PX_SUPPORT_EXTERN_TEMPLATE   (PX_VC != 11)
 
#define PX_FL   __FILE__, __LINE__
 
#define __STDC_FORMAT_MACROS
 
#define PX_PRIu64   PRIu64
 
#define PX_SIGN_BITMASK   0x80000000
 
#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
 
#define PX_SORT_PARANOIA   PX_DEBUG
 
#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_VC   0
 
#define PX_CLANG   0
 
#define PX_GCC   0
 
#define PX_XBOXONE   0
 
#define PX_XBOX_SERIES_X   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_SWITCH   0
 
#define PX_UWP   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_DEBUG_CRT   0
 
#define PX_NVTX   0
 
#define PX_DOXYGEN   0
 
#define PX_GCC_FAMILY   (PX_CLANG || PX_GCC)
 
#define PX_WINDOWS_FAMILY   (PX_WIN32 || PX_WIN64 || PX_UWP)
 
#define PX_MICROSOFT_FAMILY   (PX_XBOXONE || PX_WINDOWS_FAMILY || PX_XBOX_SERIES_X)
 
#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_C_EXPORT
 
#define PX_UNIX_EXPORT
 
#define PX_DLL_EXPORT   PX_UNIX_EXPORT
 
#define PX_DLL_IMPORT
 
#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_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_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 PX_SHARED_ASSERT(exp)   ((void)0)
 
#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
 

Functions

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 void PX_CALL_CONV PxSetFoundationInstance (physx::PxFoundation &foundation)
 
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.
 
PX_C_EXPORT PX_FOUNDATION_API physx::PxAllocatorCallback *PX_CALL_CONV PxGetAllocatorCallback ()
 Get the allocator callback.
 
PX_C_EXPORT PX_FOUNDATION_API physx::PxAllocatorCallback *PX_CALL_CONV PxGetBroadcastAllocator ()
 Get the broadcasting allocator callback.
 
PX_C_EXPORT PX_FOUNDATION_API physx::PxErrorCallback *PX_CALL_CONV PxGetErrorCallback ()
 Get the error callback.
 
PX_C_EXPORT PX_FOUNDATION_API physx::PxErrorCallback *PX_CALL_CONV PxGetBroadcastError ()
 Get the broadcasting error callback.
 
PX_C_EXPORT PX_FOUNDATION_API physx::PxU32 PX_CALL_CONV PxGetWarnOnceTimeStamp ()
 Get the warn once timestamp.
 
PX_C_EXPORT PX_FOUNDATION_API void PX_CALL_CONV PxDecFoundationRefCount ()
 Decrement the ref count of PxFoundation.
 
PX_C_EXPORT PX_FOUNDATION_API void PX_CALL_CONV PxIncFoundationRefCount ()
 Increment the ref count of PxFoundation.
 
template<class T >
PX_CUDA_CALLABLE PX_INLINE void PX_UNUSED (T const &)
 
 PX_COMPILE_TIME_ASSERT (PX_OFFSET_OF(PxPackValidation, a)==8)
 

Detailed Description

Macro Definition Documentation

◆ PX_ALIGN [1/2]

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

◆ PX_ALIGN [2/2]

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

◆ PX_C_EXPORT [1/2]

#define PX_C_EXPORT

DLL export macros

◆ PX_C_EXPORT [2/2]

#define PX_C_EXPORT

DLL export macros

◆ PX_CALL_CONV [1/2]

#define PX_CALL_CONV

Calling convention

◆ PX_CALL_CONV [2/2]

#define PX_CALL_CONV

Calling convention

◆ PX_COMPILE_TIME_ASSERT [1/2]

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

General defines

◆ PX_COMPILE_TIME_ASSERT [2/2]

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

General defines

◆ PX_DEPRECATED [1/2]

#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 ('typedef', 'struct', 'class').

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

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

◆ PX_DEPRECATED [2/2]

#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

◆ PX_ENABLE_ASSERTS [1/2]

#define PX_ENABLE_ASSERTS   0

Assert macro

◆ PX_ENABLE_ASSERTS [2/2]

#define PX_ENABLE_ASSERTS   0

Assert macro

◆ PX_FORCE_INLINE [1/2]

#define PX_FORCE_INLINE   inline

Force inline macro

◆ PX_FORCE_INLINE [2/2]

#define PX_FORCE_INLINE   inline

Force inline macro

◆ PX_GCC_FAMILY [1/2]

#define PX_GCC_FAMILY   (PX_CLANG || PX_GCC)

family shortcuts

◆ PX_GCC_FAMILY [2/2]

#define PX_GCC_FAMILY   (PX_CLANG || PX_GCC)

family shortcuts

◆ PX_IMPLEMENT_OUTPUT_ERROR

#define PX_IMPLEMENT_OUTPUT_ERROR
Value:
template<const int errorCode> \
static PX_NOINLINE bool outputError(int line, const char* message) \
{ \
return PxGetFoundation().error(PxErrorCode::Enum(errorCode), __FILE__, line, message); \
}
#define PX_NOINLINE
Definition PxPreprocessor.h:346
PX_C_EXPORT PX_FOUNDATION_API physx::PxFoundation &PX_CALL_CONV PxGetFoundation()
Retrieves the Foundation SDK after it has been created.
Definition FdFoundation.cpp:279

◆ PX_INLINE [1/2]

#define PX_INLINE   inline

Inline macro

◆ PX_INLINE [2/2]

#define PX_INLINE   inline

Inline macro

◆ PX_LIBCPP [1/2]

#define PX_LIBCPP   0

C++ standard library defines

◆ PX_LIBCPP [2/2]

#define PX_LIBCPP   0

C++ standard library defines

◆ PX_NOALIAS [1/2]

#define PX_NOALIAS

Noalias macro

◆ PX_NOALIAS [2/2]

#define PX_NOALIAS

Noalias macro

◆ PX_NOCOPY [1/2]

#define PX_NOCOPY (   Class)
Value:
protected: \
Class(const Class&); \
Class& operator=(const Class&);

◆ PX_NOCOPY [2/2]

#define PX_NOCOPY (   Class)
Value:
\
protected: \
Class(const Class&); \
Class& operator=(const Class&);

◆ PX_NOINLINE [1/2]

#define PX_NOINLINE

Noinline macro

◆ PX_NOINLINE [2/2]

#define PX_NOINLINE

Noinline macro

◆ PX_OVERRIDE

#define PX_OVERRIDE

Override macro

◆ PX_PHYSICS_VERSION

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

◆ PX_PUSH_PACK_DEFAULT [1/2]

#define PX_PUSH_PACK_DEFAULT

Pack macros - disabled on SPU because they are not supported

◆ PX_PUSH_PACK_DEFAULT [2/2]

#define PX_PUSH_PACK_DEFAULT

Pack macros - disabled on SPU because they are not supported

◆ PX_RESTRICT [1/2]

#define PX_RESTRICT   __restrict

Restrict macro

◆ PX_RESTRICT [2/2]

#define PX_RESTRICT   __restrict

Restrict macro

◆ PX_VC [1/2]

#define PX_VC   0

SIMD defines define anything not defined on this platform to 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

◆ PX_VC [2/2]

#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

◆ PX_WASM

#define PX_WASM   0

Function Documentation

◆ PxCreateFoundation()

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

◆ PxGetFoundation()

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