aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/LowLevelDynamics/include
diff options
context:
space:
mode:
authorSheikh Dawood Abdul Ajees <[email protected]>2017-09-15 15:41:57 -0500
committerSheikh Dawood Abdul Ajees <[email protected]>2017-09-15 15:41:57 -0500
commitd1c812f1162e5fdb13c215792725b2591d7428f5 (patch)
tree407056c45c7e9320c48fca6a3697d81a061c4ea0 /PhysX_3.4/Source/LowLevelDynamics/include
parentPhysX 3.4, APEX 1.4 patch release @22121272 (diff)
downloadphysx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.tar.xz
physx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.zip
PhysX 3.4.1, APEX 1.4.1 Release @22845541v3.4.1
Diffstat (limited to 'PhysX_3.4/Source/LowLevelDynamics/include')
-rw-r--r--PhysX_3.4/Source/LowLevelDynamics/include/DyContext.h27
-rw-r--r--PhysX_3.4/Source/LowLevelDynamics/include/DyGpuAPI.h38
2 files changed, 24 insertions, 41 deletions
diff --git a/PhysX_3.4/Source/LowLevelDynamics/include/DyContext.h b/PhysX_3.4/Source/LowLevelDynamics/include/DyContext.h
index c999539c..674507e2 100644
--- a/PhysX_3.4/Source/LowLevelDynamics/include/DyContext.h
+++ b/PhysX_3.4/Source/LowLevelDynamics/include/DyContext.h
@@ -33,7 +33,6 @@
#include "CmPhysXCommon.h"
#include "PxSceneDesc.h"
#include "DyThresholdTable.h"
-#include "DyGpuAPI.h"
#include "PxcNpThreadContext.h"
#include "PxsSimulationController.h"
#include "DyConstraintWriteBack.h"
@@ -91,6 +90,11 @@ public:
*/
PX_FORCE_INLINE PxReal getFrictionOffsetThreshold() const { return mFrictionOffsetThreshold; }
/**
+ \brief Returns the friction offset threshold
+ \return The friction offset threshold.
+ */
+ PX_FORCE_INLINE PxReal getSolverOffsetSlop() const { return mSolverOffsetSlop; }
+ /**
\brief Returns the correlation distance
\return The correlation distance.
*/
@@ -118,6 +122,11 @@ public:
*/
PX_FORCE_INLINE void setFrictionOffsetThreshold(PxReal offset) { mFrictionOffsetThreshold = offset; }
/**
+ \brief Sets the solver offset slop
+ \param[in] offset The solver offset slop
+ */
+ PX_FORCE_INLINE void setSolverOffsetSlop(PxReal offset) { mSolverOffsetSlop = offset; }
+ /**
\brief Sets the friction offset threshold
\param[in] offset The friction offset threshold
*/
@@ -193,6 +202,8 @@ public:
*/
PX_FORCE_INLINE PxReal getInvDt() const { return mInvDt; }
+ PX_FORCE_INLINE PxReal getMaxBiasCoefficient() const { return mMaxBiasCoefficient; }
+
PX_FORCE_INLINE PxVec3 getGravity() const { return mGravity; }
@@ -242,15 +253,18 @@ public:
protected:
Context(IG::IslandSim* accurateIslandSim, Ps::VirtualAllocatorCallback* allocatorCallback,
- PxvSimStats& simStats, bool enableStabilization, bool useEnhancedDeterminism, bool useAdaptiveForce) :
+ PxvSimStats& simStats, bool enableStabilization, bool useEnhancedDeterminism, bool useAdaptiveForce,
+ const PxReal maxBiasCoefficient) :
mThresholdStream(NULL),
mForceChangedThresholdStream(NULL),
mAccurateIslandSim(accurateIslandSim),
mDt (1.0f),
mInvDt (1.0f),
+ mMaxBiasCoefficient (maxBiasCoefficient),
mEnableStabilization (enableStabilization),
mUseEnhancedDeterminism (useEnhancedDeterminism),
mUseAdaptiveForce (useAdaptiveForce),
+
mBounceThreshold(-2.0f),
mSolverBatchSize(32),
mConstraintWriteBackPool(Ps::VirtualAllocator(allocatorCallback)),
@@ -289,6 +303,8 @@ protected:
*/
PxReal mInvDt;
+ PxReal mMaxBiasCoefficient;
+
const bool mEnableStabilization;
const bool mUseEnhancedDeterminism;
@@ -311,6 +327,11 @@ protected:
PxReal mFrictionOffsetThreshold;
/**
+ \brief Tolerance used to zero offsets along an axis if it is below this threshold. Used to compensate for small numerical divergence inside contact gen.
+ */
+ PxReal mSolverOffsetSlop;
+
+ /**
\brief Threshold controlling whether distant contacts are processed using bias, restitution or a combination of the two. This only has effect on pairs involving bodies that have enabled speculative CCD simulation mode.
*/
PxReal mCCDSeparationThreshold;
@@ -359,7 +380,7 @@ Context* createDynamicsContext( PxcNpMemBlockPool* memBlockPool,
PxcScratchAllocator& scratchAllocator, Cm::FlushPool& taskPool,
PxvSimStats& simStats, PxTaskManager* taskManager, Ps::VirtualAllocatorCallback* allocatorCallback, PxsMaterialManager* materialManager,
IG::IslandSim* accurateIslandSim, PxU64 contextID,
- const bool enableStabilization, const bool useEnhancedDeterminism, const bool useAdaptiveForce
+ const bool enableStabilization, const bool useEnhancedDeterminism, const bool useAdaptiveForce, const PxReal maxBiasCoefficient
);
}
diff --git a/PhysX_3.4/Source/LowLevelDynamics/include/DyGpuAPI.h b/PhysX_3.4/Source/LowLevelDynamics/include/DyGpuAPI.h
deleted file mode 100644
index 0945fb80..00000000
--- a/PhysX_3.4/Source/LowLevelDynamics/include/DyGpuAPI.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed to you
-// under a form of NVIDIA software license agreement provided separately to you.
-//
-// Notice
-// NVIDIA Corporation and its licensors retain all intellectual property and
-// proprietary rights in and to this software and related documentation and
-// any modifications thereto. Any use, reproduction, disclosure, or
-// distribution of this software and related documentation without an express
-// license agreement from NVIDIA Corporation is strictly prohibited.
-//
-// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
-// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
-//
-// Information and code furnished is believed to be accurate and reliable.
-// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2008-2017 NVIDIA Corporation. All rights reserved.
-// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
-// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
-
-#ifndef PXV_GPU_API_H
-#define PXV_GPU_API_H
-
-#if PX_SUPPORT_GPU_PHYSX
-#include "Pxg.h"
-#endif
-
-
-#endif // !PXV_GPU_API_H