00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef PX_FOUNDATION_PX_FOUNDATION_H
00031 #define PX_FOUNDATION_PX_FOUNDATION_H
00032
00037 #include "foundation/Px.h"
00038 #include "foundation/PxErrors.h"
00039
00040 #if !PX_DOXYGEN
00041 namespace physx
00042 {
00043 #endif
00044
00050 class PX_FOUNDATION_API PxFoundation
00051 {
00052 public:
00062 virtual void release() = 0;
00063
00067 virtual PxErrorCallback& getErrorCallback() = 0;
00068
00072 virtual void setErrorLevel(PxErrorCode::Enum mask = PxErrorCode::eMASK_ALL) = 0;
00073
00077 virtual PxErrorCode::Enum getErrorLevel() const = 0;
00078
00082 virtual PxAllocatorCallback& getAllocatorCallback() = 0;
00083
00087 virtual bool getReportAllocationNames() const = 0;
00088
00093 virtual void setReportAllocationNames(bool value) = 0;
00094
00095 protected:
00096 virtual ~PxFoundation()
00097 {
00098 }
00099 };
00100
00101 #if !PX_DOXYGEN
00102 }
00103 #endif
00104
00120 PX_C_EXPORT PX_FOUNDATION_API physx::PxFoundation* PX_CALL_CONV
00121 PxCreateFoundation(physx::PxU32 version, physx::PxAllocatorCallback& allocator, physx::PxErrorCallback& errorCallback);
00129 #if PX_CLANG
00130 #if PX_LINUX
00131 #pragma clang diagnostic push
00132 #pragma clang diagnostic ignored "-Wreturn-type-c-linkage"
00133 #endif // PX_LINUX
00134 #endif // PX_CLANG
00135 PX_C_EXPORT PX_FOUNDATION_API physx::PxFoundation& PX_CALL_CONV PxGetFoundation();
00136 #if PX_CLANG
00137 #if PX_LINUX
00138 #pragma clang diagnostic pop
00139 #endif // PX_LINUX
00140 #endif // PX_CLANG
00141
00142 namespace physx
00143 {
00144 class PxProfilerCallback;
00145 }
00146
00150 PX_C_EXPORT PX_FOUNDATION_API physx::PxProfilerCallback* PX_CALL_CONV PxGetProfilerCallback();
00151
00155 PX_C_EXPORT PX_FOUNDATION_API void PX_CALL_CONV PxSetProfilerCallback(physx::PxProfilerCallback* profiler);
00156
00158 #endif // PX_FOUNDATION_PX_FOUNDATION_H