|
|
PX_FORCE_INLINE PxReal | getMaxBiasCoefficient () const |
| |
|
PX_FORCE_INLINE void | setMaxBiasCoefficient (PxReal coeff) |
| |
| PX_FORCE_INLINE PxReal | getBounceThreshold () const |
| | Returns the bounce threshold.
|
| |
| PX_FORCE_INLINE PxReal | getFrictionOffsetThreshold () const |
| | Returns the friction offset threshold.
|
| |
| PX_FORCE_INLINE PxReal | getCorrelationDistance () const |
| | Returns the correlation distance.
|
| |
| PX_FORCE_INLINE PxReal | getCCDSeparationThreshold () const |
| | Returns the CCD separation threshold.
|
| |
| PX_FORCE_INLINE PxReal | getLengthScale () const |
| | Returns the length scale.
|
| |
| PX_FORCE_INLINE void | setBounceThreshold (PxReal f) |
| | Sets the bounce threshold.
|
| |
| PX_FORCE_INLINE void | setCorrelationDistance (PxReal f) |
| | Sets the correlation distance.
|
| |
| PX_FORCE_INLINE void | setFrictionOffsetThreshold (PxReal offset) |
| | Sets the friction offset threshold.
|
| |
| PX_FORCE_INLINE void | setCCDSeparationThreshold (PxReal offset) |
| | Sets the friction offset threshold.
|
| |
| PX_FORCE_INLINE PxU32 | getSolverBatchSize () const |
| | Returns the solver batch size.
|
| |
| PX_FORCE_INLINE void | setSolverBatchSize (PxU32 f) |
| | Sets the solver batch size.
|
| |
| PX_FORCE_INLINE PxU32 | getSolverArticBatchSize () const |
| | Returns the solver batch size.
|
| |
| PX_FORCE_INLINE void | setSolverArticBatchSize (PxU32 f) |
| | Sets the solver batch size.
|
| |
| PX_FORCE_INLINE PxU32 | getMaxSolverConstraintSize () const |
| | Returns the maximum solver constraint size.
|
| |
| PX_FORCE_INLINE PxFrictionType::Enum | getFrictionType () const |
| | Returns the friction model being used.
|
| |
| PX_FORCE_INLINE ThresholdStream & | getThresholdStream () |
| | Returns the threshold stream.
|
| |
|
PX_FORCE_INLINE ThresholdStream & | getForceChangedThresholdStream () |
| |
| PX_FORCE_INLINE ThresholdTable & | getThresholdTable () |
| | Returns the threshold table.
|
| |
| PX_FORCE_INLINE void | setFrictionType (PxFrictionType::Enum f) |
| | Sets the friction model to be used.
|
| |
| virtual void | destroy ()=0 |
| | Destroys this dynamics context.
|
| |
|
PX_FORCE_INLINE PxcDataStreamPool & | getContactStreamPool () |
| |
|
PX_FORCE_INLINE PxcDataStreamPool & | getPatchStreamPool () |
| |
|
PX_FORCE_INLINE PxcDataStreamPool & | getForceStreamPool () |
| |
|
PX_FORCE_INLINE PxPinnedArray< Dy::ConstraintWriteback > & | getConstraintWriteBackPool () |
| |
| PX_FORCE_INLINE PxReal | getDt () const |
| | Returns the current frame's timestep.
|
| |
| PX_FORCE_INLINE PxReal | getInvDt () const |
| | Returns 1/(current frame's timestep)
|
| |
|
PX_FORCE_INLINE PxVec3 | getGravity () const |
| |
| virtual void | update (IG::SimpleIslandManager &simpleIslandManager, PxBaseTask *continuation, PxBaseTask *processLostTouchTask, PxvNphaseImplementationContext *nPhaseContext, const PxU32 maxPatchesPerCM, const PxU32 maxArticulationLinks, const PxReal dt, const PxVec3 &gravity, PxBitMapPinned &changedHandleMap)=0 |
| | The entry point for the constraint solver.
|
| |
|
virtual void | processLostPatches (IG::SimpleIslandManager &simpleIslandManager, PxsContactManager **lostPatchManagers, PxU32 nbLostPatchManagers, PxsContactManagerOutputCounts *outCounts)=0 |
| |
|
virtual void | processFoundPatches (IG::SimpleIslandManager &simpleIslandManager, PxsContactManager **foundPatchManagers, PxU32 nbFoundPatchManagers, PxsContactManagerOutputCounts *outCounts)=0 |
| |
| virtual void | updateBodyCore (PxBaseTask *continuation)=0 |
| | This method copy gpu solver body data to cpu body core.
|
| |
| virtual void | mergeResults ()=0 |
| | Called after update's task chain has completed. This collects the results of the solver together.
|
| |
|
virtual void | setSimulationController (PxsSimulationController *simulationController)=0 |
| |
|
virtual void | getDataStreamBase (void *&contactStreamBase, void *&patchStreamBase, void *&forceAndIndiceStreamBase)=0 |
| |
|
virtual PxSolverType::Enum | getSolverType () const =0 |
| |
|
void | createThresholdStream (PxVirtualAllocatorCallback &callback) |
| |
|
void | createForceChangeThresholdStream (PxVirtualAllocatorCallback &callback) |
| |
|
void | setStateDirty (bool dirty) |
| |
|
bool | isStateDirty () |
| |
|
void | setSuppressReadback (bool suppressReadback) |
| |
|
bool | getSuppressReadback () |
| |
|
void | setDt (const PxReal dt) |
| |
|
|
ThresholdStream * | mThresholdStream |
| |
|
ThresholdStream * | mForceChangedThresholdStream |
| |
|
ThresholdTable | mThresholdTable |
| |
|
IG::SimpleIslandManager * | mIslandManager |
| |
|
PxsSimulationController * | mSimulationController |
| |
|
PxReal | mDt |
| | Time-step.
|
| |
|
PxReal | mInvDt |
| | 1/time-step.
|
| |
|
PxReal | mMaxBiasCoefficient |
| |
|
const bool | mEnableStabilization |
| |
|
const bool | mUseEnhancedDeterminism |
| |
|
PxVec3 | mGravity |
| |
|
PxU32 | mMaxSolverConstraintSize |
| | max solver constraint size
|
| |
|
PxReal | mBounceThreshold |
| | Threshold controlling the relative velocity at which the solver transitions between restitution and bias for solving normal contact constraint.
|
| |
|
PxReal | mFrictionOffsetThreshold |
| | Threshold controlling whether friction anchors are constructed or not. If the separation is above mFrictionOffsetThreshold, the contact will not be considered to become a friction anchor.
|
| |
|
PxReal | mCCDSeparationThreshold |
| | 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 | mCorrelationDistance |
| | Threshold for controlling friction correlation.
|
| |
|
PxReal | mLengthScale |
| | The length scale from PxTolerancesScale::length.
|
| |
|
PxU32 | mSolverBatchSize |
| | The minimum size of an island to generate a solver task chain.
|
| |
|
PxU32 | mSolverArticBatchSize |
| | The minimum number of articulations required to generate a solver task chain.
|
| |
|
PxFrictionType::Enum | mFrictionType |
| | The current friction model being used.
|
| |
|
PxcDataStreamPool | mContactStreamPool |
| | Structure to encapsulate contact stream allocations. Used by GPU solver to reference pre-allocated pinned host memory.
|
| |
|
PxcDataStreamPool | mPatchStreamPool |
| | Struct to encapsulate the contact patch stream allocations. Used by GPU solver to reference pre-allocated pinned host memory.
|
| |
|
PxcDataStreamPool | mForceStreamPool |
| | Structure to encapsulate force stream allocations. Used by GPU solver to reference pre-allocated pinned host memory for force reports.
|
| |
|
PxPinnedArray< Dy::ConstraintWriteback > | mConstraintWriteBackPool |
| | Structure to encapsulate constraint write back allocations. Used by GPU/CPU solver to reference pre-allocated pinned host memory for breakable joint reports.
|
| |
|
PxvSimStats & | mSimStats |
| |
|
bool | mBodyStateDirty |
| |
|
bool | mSuppressReadback |
| |
The entry point for the constraint solver.
- Parameters
-
| [in] | dt | The simulation time-step
|
| [in] | continuation | The continuation task for the solver |
| [in] | processLostTouchTask | The task that processes lost touches
|
This method is called after the island generation has completed. Its main responsibilities are: (1) Reserving the solver body pools (2) Initializing the static and kinematic solver bodies, which are shared resources between islands. (3) Construct the solver task chains for each island
Each island is solved as an independent solver task chain. In addition, large islands may be solved using multiple parallel tasks. Island solving is asynchronous. Once all islands have been solved, the continuation task will be called.
Implemented in physx::Dy::DynamicsContext, and physx::Dy::DynamicsTGSContext.