From ef6937e69e8ee3f409cf9d460d5ad300a65d5924 Mon Sep 17 00:00:00 2001 From: sschirm Date: Fri, 23 Dec 2016 14:20:36 +0100 Subject: PhysX 3.4 / APEX 1.4 release candidate @21506124 --- .../PhysXAPI/files/PxSceneDesc_8h-source.html | 386 ++++++++++----------- 1 file changed, 189 insertions(+), 197 deletions(-) (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/PxSceneDesc_8h-source.html') diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/PxSceneDesc_8h-source.html b/PhysX_3.4/Documentation/PhysXAPI/files/PxSceneDesc_8h-source.html index a01671a5..da99f8ad 100644 --- a/PhysX_3.4/Documentation/PhysXAPI/files/PxSceneDesc_8h-source.html +++ b/PhysX_3.4/Documentation/PhysXAPI/files/PxSceneDesc_8h-source.html @@ -213,220 +213,212 @@ 00457 PxU32 heapCapacity; 00458 PxU32 foundLostPairsCapacity; 00459 -00460 -00461 PxgDynamicsMemoryConfig() : -00462 constraintBufferCapacity(32 * 1024 * 1024), -00463 contactBufferCapacity(24 * 1024 * 1024), -00464 tempBufferCapacity(16 * 1024 * 1024), -00465 contactStreamSize(1024 * 512), -00466 patchStreamSize(1024 * 80), -00467 forceStreamCapacity(1 * 1024 * 1024), -00468 heapCapacity(64 * 1024 * 1024), -00469 foundLostPairsCapacity(256 * 1024) -00470 { -00471 } -00472 }; -00473 -00474 //#endif -00475 -00483 class PxSceneDesc -00484 { -00485 public: -00486 -00497 PxVec3 gravity; -00498 -00509 PxSimulationEventCallback* simulationEventCallback; -00510 -00518 PxContactModifyCallback* contactModifyCallback; -00519 -00527 PxCCDContactModifyCallback* ccdContactModifyCallback; -00528 -00538 const void* filterShaderData; -00539 -00547 PxU32 filterShaderDataSize; -00548 -00558 PxSimulationFilterShader filterShader; -00559 -00568 PxSimulationFilterCallback* filterCallback; -00569 -00577 PxBroadPhaseType::Enum broadPhaseType; -00578 -00589 PxBroadPhaseCallback* broadPhaseCallback; -00590 -00596 PxSceneLimits limits; -00597 -00598 -00609 PxFrictionType::Enum frictionType; -00610 -00620 PxReal bounceThresholdVelocity; -00621 -00635 PxReal frictionOffsetThreshold; -00636 -00646 PxReal ccdMaxSeparation; -00647 -00653 PxSceneFlags flags; -00654 -00660 PxCpuDispatcher* cpuDispatcher; -00661 -00669 PxGpuDispatcher* gpuDispatcher; -00670 -00676 PxPruningStructureType::Enum staticStructure; -00677 -00681 PxPruningStructureType::Enum dynamicStructure; -00682 -00700 PxU32 dynamicTreeRebuildRateHint; -00701 -00707 void* userData; -00708 -00722 PxU32 solverBatchSize; -00723 -00737 PxU32 nbContactDataBlocks; -00738 -00757 PxU32 maxNbContactDataBlocks; -00758 -00772 PxU32 contactReportStreamBufferSize; -00773 -00785 PxU32 ccdMaxPasses; -00786 -00787 -00798 PxReal wakeCounterResetValue; -00799 -00800 -00810 PxBounds3 sanityBounds; -00811 +00460 PxgDynamicsMemoryConfig() : +00461 constraintBufferCapacity(32 * 1024 * 1024), +00462 contactBufferCapacity(24 * 1024 * 1024), +00463 tempBufferCapacity(16 * 1024 * 1024), +00464 contactStreamSize(1024 * 512), +00465 patchStreamSize(1024 * 80), +00466 forceStreamCapacity(1 * 1024 * 1024), +00467 heapCapacity(64 * 1024 * 1024), +00468 foundLostPairsCapacity(256 * 1024) +00469 { +00470 } +00471 }; +00472 +00473 //#endif +00474 +00482 class PxSceneDesc +00483 { +00484 public: +00485 +00496 PxVec3 gravity; +00497 +00508 PxSimulationEventCallback* simulationEventCallback; +00509 +00517 PxContactModifyCallback* contactModifyCallback; +00518 +00526 PxCCDContactModifyCallback* ccdContactModifyCallback; +00527 +00537 const void* filterShaderData; +00538 +00546 PxU32 filterShaderDataSize; +00547 +00557 PxSimulationFilterShader filterShader; +00558 +00567 PxSimulationFilterCallback* filterCallback; +00568 +00576 PxBroadPhaseType::Enum broadPhaseType; +00577 +00588 PxBroadPhaseCallback* broadPhaseCallback; +00589 +00595 PxSceneLimits limits; +00596 +00607 PxFrictionType::Enum frictionType; +00608 +00618 PxReal bounceThresholdVelocity; +00619 +00633 PxReal frictionOffsetThreshold; +00634 +00644 PxReal ccdMaxSeparation; +00645 +00651 PxSceneFlags flags; +00652 +00658 PxCpuDispatcher* cpuDispatcher; +00659 +00667 PxGpuDispatcher* gpuDispatcher; +00668 +00674 PxPruningStructureType::Enum staticStructure; +00675 +00679 PxPruningStructureType::Enum dynamicStructure; +00680 +00698 PxU32 dynamicTreeRebuildRateHint; +00699 +00705 void* userData; +00706 +00720 PxU32 solverBatchSize; +00721 +00735 PxU32 nbContactDataBlocks; +00736 +00755 PxU32 maxNbContactDataBlocks; +00756 +00770 PxU32 contactReportStreamBufferSize; +00771 +00783 PxU32 ccdMaxPasses; +00784 +00795 PxReal wakeCounterResetValue; +00796 +00806 PxBounds3 sanityBounds; +00807 +00811 PxgDynamicsMemoryConfig gpuDynamicsConfig; 00812 -00817 PxgDynamicsMemoryConfig gpuDynamicsConfig; +00817 PxU32 gpuMaxNumPartitions; 00818 -00824 PxU32 gpuMaxNumPartitions; -00825 -00829 PxU32 gpuComputeVersion; -00830 -00831 -00832 -00833 private: -00837 // For internal use only -00838 PxTolerancesScale tolerancesScale; -00844 public: -00853 PX_INLINE PxSceneDesc(const PxTolerancesScale& scale); -00854 -00863 PX_INLINE void setToDefault(const PxTolerancesScale& scale); -00864 -00869 PX_INLINE bool isValid() const; -00870 -00874 // For internal use only -00875 PX_INLINE const PxTolerancesScale& getTolerancesScale() const { return tolerancesScale; } -00879 }; -00880 -00881 PX_INLINE PxSceneDesc::PxSceneDesc(const PxTolerancesScale& scale): -00882 gravity (PxVec3(0.0f)), -00883 simulationEventCallback (NULL), -00884 contactModifyCallback (NULL), -00885 ccdContactModifyCallback (NULL), -00886 -00887 filterShaderData (NULL), -00888 filterShaderDataSize (0), -00889 filterShader (NULL), -00890 filterCallback (NULL), -00891 broadPhaseType (PxBroadPhaseType::eSAP), -00892 broadPhaseCallback (NULL), -00893 -00894 frictionType (PxFrictionType::ePATCH), -00895 bounceThresholdVelocity (0.2f * scale.speed), -00896 frictionOffsetThreshold (0.04f * scale.length), -00897 ccdMaxSeparation (0.04f * scale.length), +00822 PxU32 gpuComputeVersion; +00823 +00824 private: +00828 // For internal use only +00829 PxTolerancesScale tolerancesScale; +00835 public: +00844 PX_INLINE PxSceneDesc(const PxTolerancesScale& scale); +00845 +00854 PX_INLINE void setToDefault(const PxTolerancesScale& scale); +00855 +00860 PX_INLINE bool isValid() const; +00861 +00865 // For internal use only +00866 PX_INLINE const PxTolerancesScale& getTolerancesScale() const { return tolerancesScale; } +00870 }; +00871 +00872 PX_INLINE PxSceneDesc::PxSceneDesc(const PxTolerancesScale& scale): +00873 gravity (PxVec3(0.0f)), +00874 simulationEventCallback (NULL), +00875 contactModifyCallback (NULL), +00876 ccdContactModifyCallback (NULL), +00877 +00878 filterShaderData (NULL), +00879 filterShaderDataSize (0), +00880 filterShader (NULL), +00881 filterCallback (NULL), +00882 broadPhaseType (PxBroadPhaseType::eSAP), +00883 broadPhaseCallback (NULL), +00884 +00885 frictionType (PxFrictionType::ePATCH), +00886 bounceThresholdVelocity (0.2f * scale.speed), +00887 frictionOffsetThreshold (0.04f * scale.length), +00888 ccdMaxSeparation (0.04f * scale.length), +00889 +00890 flags (PxSceneFlag::eENABLE_PCM), +00891 +00892 cpuDispatcher (NULL), +00893 gpuDispatcher (NULL), +00894 +00895 staticStructure (PxPruningStructureType::eDYNAMIC_AABB_TREE), +00896 dynamicStructure (PxPruningStructureType::eDYNAMIC_AABB_TREE), +00897 dynamicTreeRebuildRateHint (100), 00898 -00899 flags (PxSceneFlag::eENABLE_PCM), +00899 userData (NULL), 00900 -00901 cpuDispatcher (NULL), -00902 gpuDispatcher (NULL), -00903 -00904 staticStructure (PxPruningStructureType::eDYNAMIC_AABB_TREE), -00905 dynamicStructure (PxPruningStructureType::eDYNAMIC_AABB_TREE), -00906 dynamicTreeRebuildRateHint (100), -00907 -00908 userData (NULL), -00909 -00910 solverBatchSize (128), -00911 -00912 nbContactDataBlocks (0), -00913 maxNbContactDataBlocks (1<<16), -00914 contactReportStreamBufferSize (8192), -00915 ccdMaxPasses (1), -00916 wakeCounterResetValue (20.0f*0.02f), -00917 sanityBounds (PxBounds3(PxVec3(-PX_MAX_BOUNDS_EXTENTS, -PX_MAX_BOUNDS_EXTENTS, -PX_MAX_BOUNDS_EXTENTS), -00918 PxVec3(PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS, PX_MAX_BOUNDS_EXTENTS))), -00919 #if PX_SUPPORT_GPU_PHYSX -00920 gpuMaxNumPartitions (8), -00921 gpuComputeVersion (0), -00922 #endif -00923 tolerancesScale (scale) -00924 { -00925 } +00901 solverBatchSize (128), +00902 +00903 nbContactDataBlocks (0), +00904 maxNbContactDataBlocks (1<<16), +00905 contactReportStreamBufferSize (8192), +00906 ccdMaxPasses (1), +00907 wakeCounterResetValue (20.0f*0.02f), +00908 sanityBounds (PxBounds3(PxVec3(-PX_MAX_BOUNDS_EXTENTS), PxVec3(PX_MAX_BOUNDS_EXTENTS))), +00909 #if PX_SUPPORT_GPU_PHYSX +00910 gpuMaxNumPartitions (8), +00911 gpuComputeVersion (0), +00912 #endif +00913 tolerancesScale (scale) +00914 { +00915 } +00916 +00917 PX_INLINE void PxSceneDesc::setToDefault(const PxTolerancesScale& scale) +00918 { +00919 *this = PxSceneDesc(scale); +00920 } +00921 +00922 PX_INLINE bool PxSceneDesc::isValid() const +00923 { +00924 if(!filterShader) +00925 return false; 00926 -00927 PX_INLINE void PxSceneDesc::setToDefault(const PxTolerancesScale& scale) -00928 { -00929 *this = PxSceneDesc(scale); -00930 } -00931 -00932 PX_INLINE bool PxSceneDesc::isValid() const -00933 { -00934 if(filterShader == NULL) +00927 if( ((filterShaderDataSize == 0) && (filterShaderData != NULL)) || +00928 ((filterShaderDataSize > 0) && (filterShaderData == NULL)) ) +00929 return false; +00930 +00931 if(!limits.isValid()) +00932 return false; +00933 +00934 if(staticStructure!=PxPruningStructureType::eSTATIC_AABB_TREE && staticStructure!=PxPruningStructureType::eDYNAMIC_AABB_TREE) 00935 return false; 00936 -00937 if( ((filterShaderDataSize == 0) && (filterShaderData != NULL)) || -00938 ((filterShaderDataSize > 0) && (filterShaderData == NULL)) ) -00939 return false; -00940 -00941 if(!limits.isValid()) -00942 return false; -00943 -00944 if(staticStructure!=PxPruningStructureType::eSTATIC_AABB_TREE && staticStructure!=PxPruningStructureType::eDYNAMIC_AABB_TREE) +00937 if(dynamicTreeRebuildRateHint < 4) +00938 return false; +00939 +00940 if(bounceThresholdVelocity < 0.0f) +00941 return false; +00942 if(frictionOffsetThreshold < 0.0f) +00943 return false; +00944 if(ccdMaxSeparation < 0.0f) 00945 return false; 00946 -00947 if(dynamicTreeRebuildRateHint < 4) +00947 if(!cpuDispatcher) 00948 return false; 00949 -00950 if(bounceThresholdVelocity < 0.0f) +00950 if(!contactReportStreamBufferSize) 00951 return false; -00952 if(frictionOffsetThreshold < 0.f) -00953 return false; -00954 if (ccdMaxSeparation < 0.f) -00955 return false; -00956 -00957 if(cpuDispatcher == NULL) -00958 return false; -00959 -00960 if(contactReportStreamBufferSize == 0) +00952 +00953 if(maxNbContactDataBlocks < nbContactDataBlocks) +00954 return false; +00955 +00956 if(wakeCounterResetValue <= 0.0f) +00957 return false; +00958 +00959 //Adaptive force and stabilization are incompatible. You can only have one or the other +00960 if((flags & (PxSceneFlag::eADAPTIVE_FORCE | PxSceneFlag::eENABLE_STABILIZATION)) == (PxSceneFlag::eADAPTIVE_FORCE | PxSceneFlag::eENABLE_STABILIZATION)) 00961 return false; 00962 -00963 if(maxNbContactDataBlocks < nbContactDataBlocks) +00963 if(!sanityBounds.isValid()) 00964 return false; 00965 -00966 if (wakeCounterResetValue <= 0.0f) -00967 return false; -00968 -00969 //Adaptive force and stabilization are incompatible. You can only have one or the other -00970 if((flags & (PxSceneFlag::eADAPTIVE_FORCE | PxSceneFlag::eENABLE_STABILIZATION)) == (PxSceneFlag::eADAPTIVE_FORCE | PxSceneFlag::eENABLE_STABILIZATION)) -00971 return false; -00972 -00973 if(!sanityBounds.isValid()) -00974 return false; +00966 #if PX_SUPPORT_GPU_PHYSX +00967 //gpuMaxNumPartitions must be power of 2 +00968 if((gpuMaxNumPartitions&(gpuMaxNumPartitions - 1)) != 0) +00969 return false; +00970 #endif +00971 +00972 return true; +00973 } +00974 00975 -00976 #if PX_SUPPORT_GPU_PHYSX -00977 //gpuMaxNumPartitions must be power of 2 -00978 if ((gpuMaxNumPartitions&(gpuMaxNumPartitions - 1)) != 0) -00979 return false; -00980 #endif -00981 -00982 return true; -00983 } -00984 -00985 -00986 #if !PX_DOXYGEN -00987 } // namespace physx -00988 #endif -00989 -00991 #endif +00976 #if !PX_DOXYGEN +00977 } // namespace physx +00978 #endif +00979 +00981 #endif

-- cgit v1.2.3