|
|
| FeatherstoneArticulation (void *) |
| |
|
void | getDataSizes (PxU32 linkCount, PxU32 &solverDataSize, PxU32 &totalSize, PxU32 &scratchSize) |
| |
|
bool | resize (const PxU32 linkCount) |
| |
|
void | assignTendons (const PxU32, Dy::ArticulationSpatialTendon **) |
| |
|
void | assignTendons (const PxU32, Dy::ArticulationFixedTendon **) |
| |
|
void | assignSensors (const PxU32 nbSensors, Dy::ArticulationSensor **sensors, PxSpatialForce *sensorForces) |
| |
|
PxU32 | getDofs () |
| |
|
PxU32 | getDof (const PxU32 linkID) |
| |
|
bool | applyCache (PxArticulationCache &cache, const PxArticulationCacheFlags flag, bool &shouldWake) |
| |
|
void | copyInternalStateToCache (PxArticulationCache &cache, const PxArticulationCacheFlags flag) |
| |
|
void | packJointData (const PxReal *maximum, PxReal *reduced) |
| |
|
void | unpackJointData (const PxReal *reduced, PxReal *maximum) |
| |
|
void | initializeCommonData () |
| |
|
void | getGeneralizedGravityForce (const PxVec3 &gravity, PxArticulationCache &cache) |
| |
|
void | getCoriolisAndCentrifugalForce (PxArticulationCache &cache) |
| |
|
void | getGeneralizedExternalForce (PxArticulationCache &) |
| |
|
void | getJointAcceleration (const PxVec3 &gravity, PxArticulationCache &cache) |
| |
|
void | getJointForce (PxArticulationCache &cache) |
| |
|
void | getDenseJacobian (PxArticulationCache &cache, PxU32 &nRows, PxU32 &nCols) |
| |
|
void | getKMatrix (ArticulationJointCore *loopJoint, const PxU32 parentIndex, const PxU32 childIndex, PxArticulationCache &cache) |
| |
|
void | getCoefficientMatrix (const PxReal dt, const PxU32 linkID, const PxContactJoint *contactJoints, const PxU32 nbContacts, PxArticulationCache &cache) |
| |
|
void | getCoefficientMatrixWithLoopJoints (ArticulationLoopConstraint *lConstraints, const PxU32 nbJoints, PxArticulationCache &cache) |
| |
|
bool | getLambda (ArticulationLoopConstraint *lConstraints, const PxU32 nbJoints, PxArticulationCache &cache, PxArticulationCache &rollBackCache, const PxReal *jointTorque, const PxVec3 &gravity, const PxU32 maxIter, const PxReal invLengthScale) |
| |
|
void | getGeneralizedMassMatrix (PxArticulationCache &cache) |
| |
|
void | getGeneralizedMassMatrixCRB (PxArticulationCache &cache) |
| |
|
bool | storeStaticConstraint (const PxSolverConstraintDesc &desc) |
| |
|
bool | willStoreStaticConstraint () |
| |
|
void | setRootLinearVelocity (const PxVec3 &velocity) |
| |
|
void | setRootAngularVelocity (const PxVec3 &velocity) |
| |
|
void | teleportRootLink () |
| |
|
void | getImpulseResponse (PxU32 linkID, Cm::SpatialVectorF *Z, const Cm::SpatialVector &impulse, Cm::SpatialVector &deltaV) const |
| |
|
void | getImpulseResponse (PxU32 linkID, Cm::SpatialVectorV *, const Cm::SpatialVectorV &impulse, Cm::SpatialVectorV &deltaV) const |
| |
|
void | getImpulseSelfResponse (PxU32 linkID0, PxU32 linkID1, Cm::SpatialVectorF *Z, const Cm::SpatialVector &impulse0, const Cm::SpatialVector &impulse1, Cm::SpatialVector &deltaV0, Cm::SpatialVector &deltaV1) const |
| |
|
Cm::SpatialVectorV | getLinkVelocity (const PxU32 linkID) const |
| |
|
Cm::SpatialVector | getLinkScalarVelocity (const PxU32 linkID) const |
| |
|
Cm::SpatialVectorV | getLinkMotionVector (const PxU32 linkID) const |
| |
|
Cm::SpatialVector | getMotionVelocity (const PxU32 linkID) const |
| |
|
Cm::SpatialVector | getMotionAcceleration (const PxU32 linkID) const |
| |
|
void | fillIndexType (const PxU32 linkId, PxU8 &indexType) |
| |
|
PxReal | getLinkMaxPenBias (const PxU32 linkID) const |
| |
|
PxReal | getCfm (const PxU32 linkID) const |
| |
|
void | pxcFsApplyImpulse (PxU32 linkID, aos::Vec3V linear, aos::Vec3V angular, Cm::SpatialVectorF *Z, Cm::SpatialVectorF *deltaV) |
| |
|
void | pxcFsApplyImpulses (PxU32 linkID, const aos::Vec3V &linear, const aos::Vec3V &angular, PxU32 linkID2, const aos::Vec3V &linear2, const aos::Vec3V &angular2, Cm::SpatialVectorF *Z, Cm::SpatialVectorF *deltaV) |
| |
|
void | pxcFsApplyImpulses (Cm::SpatialVectorF *Z) |
| |
|
Cm::SpatialVectorV | pxcFsGetVelocity (PxU32 linkID) |
| |
|
void | pxcFsGetVelocities (PxU32 linkID, PxU32 linkID1, Cm::SpatialVectorV &v0, Cm::SpatialVectorV &v1) |
| |
|
Cm::SpatialVectorV | pxcFsGetVelocityTGS (PxU32 linkID) |
| |
|
const PxTransform & | getCurrentTransform (PxU32 linkID) const |
| |
|
const PxQuat & | getDeltaQ (PxU32 linkID) const |
| |
|
void | applyImpulses (Cm::SpatialVectorF *Z, Cm::SpatialVectorF *deltaV) |
| |
|
void | getDeltaV (Cm::SpatialVectorF *Z, Cm::SpatialVectorF *deltaV) |
| |
|
bool | applyCacheToDest (ArticulationData &data, PxArticulationCache &cache, PxReal *jVelocities, PxReal *jAcceleration, PxReal *jPosition, PxReal *jointForce, const PxArticulationCacheFlags flag, bool &shouldWake) |
| |
|
PX_FORCE_INLINE ArticulationData & | getArticulationData () |
| |
|
PX_FORCE_INLINE const ArticulationData & | getArticulationData () const |
| |
|
PX_FORCE_INLINE void | setGpuDirtyFlag (ArticulationDirtyFlag::Enum flag) |
| |
|
bool | raiseGPUDirtyFlag (ArticulationDirtyFlag::Enum flag) |
| |
|
void | clearGPUDirtyFlags () |
| |
|
void | constraintPrep (ArticulationLoopConstraint *lConstraints, const PxU32 nbJoints, Cm::SpatialVectorF *Z, PxSolverConstraintPrepDesc &prepDesc, PxSolverBody &sBody, PxSolverBodyData &sBodyData, PxSolverConstraintDesc *desc, PxConstraintAllocator &allocator) |
| |
|
void | updateArticulation (ScratchData &scratchData, const PxVec3 &gravity, Cm::SpatialVectorF *Z, Cm::SpatialVectorF *DeltaV, const PxReal invLengthScale) |
| |
|
void | computeUnconstrainedVelocitiesInternal (const PxVec3 &gravity, Cm::SpatialVectorF *Z, Cm::SpatialVectorF *DeltaV, const PxReal invLengthScale) |
| |
|
void | copyJointData (ArticulationData &data, PxReal *toJointData, const PxReal *fromJointData) |
| |
|
PxU32 | computeDofs () |
| |
|
void | jcalc (ArticulationData &data, bool forceUpdate=false) |
| |
|
void | jcalcLoopJointSubspace (ArticulationJointCore *joint, ArticulationJointCoreData &jointDatum, SpatialSubspaceMatrix &T, const Cm::UnAlignedSpatialVector *jointAxis) |
| |
|
void | computeSpatialInertia (ArticulationData &data) |
| |
|
void | computeZ (const ArticulationData &data, const PxVec3 &gravity, ScratchData &scratchData) |
| |
|
void | computeZD (const ArticulationData &data, const PxVec3 &gravity, ScratchData &scratchData) |
| |
|
void | solveInternalConstraints (const PxReal dt, const PxReal invDt, Cm::SpatialVectorF *impulses, Cm::SpatialVectorF *DeltaV, bool velocityIteration, bool isTGS, const PxReal elapsedTime, const PxReal biasCoefficient) |
| |
|
void | solveInternalJointConstraints (const PxReal dt, const PxReal invDt, Cm::SpatialVectorF *impulses, Cm::SpatialVectorF *DeltaV, bool velocityIteration, bool isTGS, const PxReal elapsedTime, const PxReal biasCoefficient) |
| |
|
Cm::SpatialVectorF | solveInternalJointConstraintRecursive (InternalConstraintSolverData &data, const PxU32 linkID, const Cm::SpatialVectorF &parentDeltaV) |
| |
| void | solveInternalSpatialTendonConstraints (bool isTGS) |
| |
|
void | solveInternalFixedTendonConstraints (bool isTGS) |
| |
|
void | writebackInternalConstraints (bool isTGS) |
| |
|
void | concludeInternalConstraints (bool isTGS) |
| |
|
void | computeC (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | computeRelativeTransformC2P (ArticulationData &data) |
| |
|
void | computeRelativeTransformC2B (ArticulationData &data) |
| |
|
void | computeLinkVelocities (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | initLinks (ArticulationData &data, const PxVec3 &gravity, ScratchData &scratchData, Cm::SpatialVectorF *tZ, Cm::SpatialVectorF *tDeltaV) |
| |
|
void | computeIs (ArticulationJointCoreData &jointDatum, ArticulationJointTargetData &jointTarget, const PxU32 linkID) |
| |
|
void | computeArticulatedSpatialInertiaAndZ (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | computeArticulatedSpatialInertiaAndZ_NonSeparated (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | computeArticulatedSpatialInertia (ArticulationData &data) |
| |
|
void | computeArticulatedResponseMatrix (ArticulationData &data) |
| |
|
void | computeJointSpaceJacobians (ArticulationData &data) |
| |
|
void | computeArticulatedSpatialZ (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | computeJointAccelerationW (ArticulationJointCoreData &jointDatum, const Cm::SpatialVectorF &pMotionAcceleration, PxReal *jointAcceleration, const Cm::SpatialVectorF *IsW, const PxU32 linkID, const PxReal *qstZIc) |
| |
|
void | computeLinkAcceleration (ArticulationData &data, ScratchData &scratchData, bool doIC) |
| |
|
void | computeLinkInternalAcceleration (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | computeJointTransmittedFrictionForce (ArticulationData &data, ScratchData &scratchData, Cm::SpatialVectorF *Z, Cm::SpatialVectorF *DeltaV) |
| |
|
void | getImpulseSelfResponseInv (const bool fixBase, PxU32 linkID0, PxU32 linkID1, Cm::SpatialVectorF *Z, const Cm::SpatialVector &impulse0, const Cm::SpatialVector &impulse1, Cm::SpatialVector &deltaV0, Cm::SpatialVector &deltaV1, PxReal *jointVelocities) |
| |
|
void | getImpulseResponseSlowInv (Dy::ArticulationLink *links, const ArticulationData &data, PxU32 linkID0_, const Cm::SpatialVector &impulse0, Cm::SpatialVector &deltaV0, PxU32 linkID1_, const Cm::SpatialVector &impulse1, Cm::SpatialVector &deltaV1, PxReal *jointVelocities, Cm::SpatialVectorF *Z) |
| |
|
Cm::SpatialVectorF | getImpulseResponseInv (const bool fixBase, const PxU32 linkID, Cm::SpatialVectorF *Z, const Cm::SpatialVector &impulse, PxReal *jointVelocites) |
| |
|
void | inverseDynamic (ArticulationData &data, const PxVec3 &gravity, ScratchData &scratchData, bool computeCoriolis) |
| |
|
void | inverseDynamicFloatingBase (ArticulationData &data, const PxVec3 &gravity, ScratchData &scratchData, bool computeCoriolis) |
| |
|
void | computeZAForceInv (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | initCompositeSpatialInertia (ArticulationData &data, Dy::SpatialMatrix *compositeSpatialInertia) |
| |
|
void | computeCompositeSpatialInertiaAndZAForceInv (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | computeRelativeGeneralizedForceInv (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | computeLinkAccelerationInv (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | computeGeneralizedForceInv (ArticulationData &data, ScratchData &scratchData) |
| |
|
void | calculateMassMatrixColInv (ScratchData &scratchData) |
| |
|
void | calculateHFixBase (PxArticulationCache &cache) |
| |
|
void | calculateHFloatingBase (PxArticulationCache &cache) |
| |
|
void | enforcePrismaticLimits (PxReal &jPosition, ArticulationJointCore *joint) |
| |
|
PX_FORCE_INLINE void | addBody () |
| |
|
PX_FORCE_INLINE void | removeBody () |
| |
|
PX_FORCE_INLINE bool | updateSolverData () |
| |
|
PX_FORCE_INLINE PxU32 | getMaxDepth () const |
| |
|
PX_FORCE_INLINE void | setMaxDepth (const PxU32 depth) |
| |
|
PX_FORCE_INLINE PxU32 | getBodyCount () const |
| |
|
PX_FORCE_INLINE void | getSolverDesc (ArticulationSolverDesc &d) const |
| |
|
PX_FORCE_INLINE ArticulationSolverDesc & | getSolverDesc () |
| |
|
PX_FORCE_INLINE ArticulationCore * | getCore () |
| |
|
PX_FORCE_INLINE PxU16 | getIterationCounts () const |
| |
|
PX_FORCE_INLINE void * | getUserData () const |
| |
|
PX_FORCE_INLINE void | setDyContext (Dy::Context *context) |
| |
|
void | setupLinks (PxU32 nbLinks, Dy::ArticulationLink *links) |
| |
|
void | allocatePathToRootElements (const PxU32 totalPathToRootElements) |
| |
|
void | initPathToRoot () |
| |
|
PxU32 | setupSolverConstraints (ArticulationLink *links, const PxU32 linkCount, const bool fixBase, ArticulationData &data, Cm::SpatialVectorF *Z, PxU32 &acCount) |
| |
|
void | setupInternalConstraints (ArticulationLink *links, const PxU32 linkCount, const bool fixBase, ArticulationData &data, Cm::SpatialVectorF *Z, PxReal stepDt, PxReal dt, PxReal invDt, PxReal erp, bool isTGSSolver) |
| |
|
void | setupInternalConstraintsRecursive (ArticulationLink *links, const PxU32 linkCount, const bool fixBase, ArticulationData &data, Cm::SpatialVectorF *Z, const PxReal stepDt, const PxReal dt, const PxReal invDt, const PxReal erp, const bool isTGSSolver, const PxU32 linkID, const PxReal maxForceScale) |
| |
|
void | setupInternalSpatialTendonConstraintsRecursive (ArticulationLink *links, ArticulationAttachment *attachments, const PxU32 attachmentCount, const PxVec3 &parentAttachmentPoint, const bool fixBase, ArticulationData &data, Cm::SpatialVectorF *Z, const PxReal stepDt, const bool isTGSSolver, const PxU32 attachmentID, const PxReal stiffness, const PxReal damping, const PxReal limitStiffness, const PxReal err, const PxU32 startLink, const PxVec3 &startAxis, const PxVec3 &startRaXn) |
| |
| void | setupInternalFixedTendonConstraintsRecursive (ArticulationLink *links, ArticulationTendonJoint *tendonJoints, const bool fixBase, ArticulationData &data, Cm::SpatialVectorF *Z, const PxReal stepDt, const bool isTGSSolver, const PxU32 tendonJointID, const PxReal stiffness, const PxReal damping, const PxReal limitStiffness, const PxU32 startLink, const PxVec3 &startAxis, const PxVec3 &startRaXn) |
| |
|
void | updateSpatialTendonConstraintsRecursive (ArticulationAttachment *attachments, ArticulationData &data, const PxU32 attachmentID, const PxReal accumErr, const PxVec3 &parentAttachmentPoint) |
| |
|
PxVec3 | calculateFixedTendonVelocityAndPositionRecursive (FixedTendonSolveData &solveData, const Cm::SpatialVectorF &parentV, const Cm::SpatialVectorF &parentDeltaV, const PxU32 tendonJointID) |
| |
|
Cm::SpatialVectorF | solveFixedTendonConstraintsRecursive (FixedTendonSolveData &solveData, const PxU32 tendonJointID) |
| |
|
void | prepareStaticConstraints (const PxReal dt, const PxReal invDt, PxsContactManagerOutputIterator &outputs, Dy::ThreadContext &threadContext, PxReal correlationDist, PxReal bounceThreshold, PxReal frictionOffsetThreshold, PxReal ccdMaxSeparation, PxSolverBodyData *solverBodyData, PxsConstraintBlockManager &blockManager, Dy::ConstraintWriteback *constraintWritebackPool) |
| |
|
void | prepareStaticConstraintsTGS (const PxReal stepDt, const PxReal totalDt, const PxReal invStepDt, const PxReal invTotalDt, PxsContactManagerOutputIterator &outputs, Dy::ThreadContext &threadContext, PxReal correlationDist, PxReal bounceThreshold, PxReal frictionOffsetThreshold, PxTGSSolverBodyData *solverBodyData, PxTGSSolverBodyTxInertia *txInertia, PxsConstraintBlockManager &blockManager, Dy::ConstraintWriteback *constraintWritebackPool, const PxReal biasCoefficient, const PxReal lengthScale) |
| |
|
void | propagateLinksDown (ArticulationData &data, PxReal *jointVelocities, PxReal *jointPositions, Cm::SpatialVectorF *motionVelocities) |
| |
|
void | updateJointProperties (PxReal *jointNewVelocities, PxReal *jointVelocities, PxReal *jointAccelerations) |
| |
|
void | recomputeAccelerations (const PxReal dt) |
| |
|
Cm::SpatialVector | recomputeAcceleration (const PxU32 linkID, const PxReal dt) const |
| |
|
void | computeAndEnforceJointPositions (ArticulationData &data) |
| |
|
void | teleportLinks (ArticulationData &data) |
| |
|
void | computeLinkVelocities (ArticulationData &data) |
| |
|
PxU8 * | allocateScratchSpatialData (PxcScratchAllocator *allocator, const PxU32 linkCount, ScratchData &scratchData, bool fallBackToHeap=false) |
| |
|
PxTransform | propagateTransform (const PxU32 linkID, ArticulationLink *links, ArticulationJointCoreData &jointDatum, Cm::SpatialVectorF *motionVelocities, const PxReal dt, const PxTransform &pBody2World, const PxTransform ¤tTransform, PxReal *jointVelocity, PxReal *jointPosition, const Cm::UnAlignedSpatialVector *motionMatrix, const Cm::UnAlignedSpatialVector *worldMotionMatrix) |
| |
|
|
static PxU32 | computeUnconstrainedVelocities (const ArticulationSolverDesc &desc, PxReal dt, PxU32 &acCount, const PxVec3 &gravity, Cm::SpatialVectorF *Z, Cm::SpatialVectorF *deltaV, const PxReal invLengthScale) |
| |
|
static void | computeUnconstrainedVelocitiesTGS (const ArticulationSolverDesc &desc, PxReal dt, const PxVec3 &gravity, PxU64 contextID, Cm::SpatialVectorF *Z, Cm::SpatialVectorF *deltaV, const PxReal invLengthScale) |
| |
|
static PxU32 | setupSolverConstraintsTGS (const ArticulationSolverDesc &articDesc, PxReal dt, PxReal invDt, PxReal totalDt, const PxReal biasCoefficient, PxU32 &acCount, Cm::SpatialVectorF *Z) |
| |
|
static void | saveVelocity (const ArticulationSolverDesc &d, Cm::SpatialVectorF *deltaV) |
| |
|
static void | saveVelocityTGS (const ArticulationSolverDesc &d, PxReal invDtF32) |
| |
|
static void | updateBodies (const ArticulationSolverDesc &desc, Cm::SpatialVectorF *tempDeltaV, PxReal dt) |
| |
|
static void | updateBodiesTGS (const ArticulationSolverDesc &desc, Cm::SpatialVectorF *tempDeltaV, PxReal dt) |
| |
|
static void | updateBodies (FeatherstoneArticulation *articulation, Cm::SpatialVectorF *tempDeltaV, PxReal dt, bool integrateJointPosition) |
| |
|
static void | recordDeltaMotion (const ArticulationSolverDesc &desc, const PxReal dt, Cm::SpatialVectorF *deltaV, const PxReal totalInvDt) |
| |
|
static void | deltaMotionToMotionVelocity (const ArticulationSolverDesc &desc, PxReal invDt) |
| |
|
static Cm::SpatialVectorF | propagateVelocityW (const PxVec3 &c2p, const Dy::SpatialMatrix &spatialInertia, const InvStIs &invStIs, const Cm::UnAlignedSpatialVector *motionMatrix, const Cm::SpatialVectorF &Z, PxReal *jointVelocity, const Cm::SpatialVectorF &hDeltaV, const PxU32 dofCount) |
| |
|
static Cm::SpatialVectorF | propagateAccelerationW (const PxVec3 &c2p, const InvStIs &invStIs, const Cm::UnAlignedSpatialVector *motionMatrix, PxReal *jointVelocity, const Cm::SpatialVectorF &pAcceleration, const PxU32 dofCount, const Cm::SpatialVectorF *IsW, PxReal *qstZIc) |
| |
|
static void | propagateAccelerationW (const PxVec3 &c2p, const InvStIs &invStIs, PxReal *jointVelocity, const Cm::SpatialVectorF &pAcceleration, const PxU32 dofCount, const Cm::SpatialVectorF *IsW) |
| |
|
static Cm::SpatialVectorF | propagateAccelerationW (const PxVec3 &c2p, const InvStIs &invStIs, const Cm::UnAlignedSpatialVector *motionMatrix, const Cm::SpatialVectorF &pAcceleration, const PxU32 dofCount, const Cm::SpatialVectorF *IsW, PxReal *qstZIc) |
| |
|
static Cm::SpatialVectorF | propagateAccelerationW (const PxVec3 &c2p, const InvStIs &invStIs, const Cm::UnAlignedSpatialVector *motionMatrix, PxReal *jointVelocity, const Cm::SpatialVectorF &pAcceleration, Cm::SpatialVectorF &Z, const PxU32 dofCount, const Cm::SpatialVectorF *IsW) |
| |
|
static Cm::SpatialVectorF | propagateVelocityTestImpulseW (const PxVec3 &c2p, const Dy::SpatialMatrix &spatialInertia, const InvStIs &invStIs, const Cm::UnAlignedSpatialVector *motionMatrix, const Cm::SpatialVectorF &Z, const Cm::SpatialVectorF &hDeltaV, const PxU32 dofCount) |
| |
|
static Cm::SpatialVectorF | propagateImpulseW (const Cm::SpatialVectorF *isInvD, const PxVec3 &childToParent, const Cm::UnAlignedSpatialVector *motionMatrix, const Cm::SpatialVectorF &Z, const PxU32 dofCount) |
| |
|
static Cm::SpatialVectorF | propagateImpulseW (const Cm::SpatialVectorF *isInvD, const PxVec3 &childToParent, const Cm::UnAlignedSpatialVector *motionMatrix, const Cm::SpatialVectorF &Z, const PxU32 dofCount, PxReal *qstZ) |
| |
|
static PX_CUDA_CALLABLE PX_FORCE_INLINE Cm::SpatialVectorF | translateSpatialVector (const PxVec3 &offset, const Cm::SpatialVectorF &vec) |
| |
|
static PX_CUDA_CALLABLE PX_FORCE_INLINE Cm::UnAlignedSpatialVector | translateSpatialVector (const PxVec3 &offset, const Cm::UnAlignedSpatialVector &vec) |
| |
|
static PX_FORCE_INLINE PxMat33 | constructSkewSymmetricMatrix (const PxVec3 r) |
| |
| static void | computeLinkStates (const PxF32 dt, const PxReal invLengthScale, const PxVec3 &gravity, const bool fixBase, const PxU32 linkCount, const PxTransform *accumulatedPoses, const Cm::SpatialVector *externalAccels, const PxVec3 *rws, const Cm::UnAlignedSpatialVector *worldMotionMatrices, const Dy::ArticulationJointCoreData *jointCoreData, Dy::ArticulationLinkData *linkData, Dy::ArticulationLink *links, Cm::SpatialVectorF *motionAccelerations, Cm::SpatialVectorF *motionVelocities, Cm::SpatialVectorF *spatialZAForces, Cm::SpatialVectorF *spatialZAInternal, Cm::SpatialVectorF *coriolisVectors, PxMat33 *worldIsolatedSpatialArticulatedInertias, PxF32 *linkMasses, Dy::SpatialMatrix *worldSpatialArticulatedInertias, const PxU32 jointDofCount, PxReal *jointVelocities, Cm::SpatialVectorF &rootPreMotionVelocity, PxVec3 &com, PxF32 &invSumMass) |
| |
|
static SpatialMatrix | computePropagateSpatialInertia_ZA_ZIc (const PxU8 jointType, const ArticulationJointTargetData &jointTarget, const ArticulationJointCoreData &jointDatum, const SpatialMatrix &articulatedInertia, const Cm::SpatialVectorF *linkIs, InvStIs &invStIs, Cm::SpatialVectorF *isInvD, const Cm::UnAlignedSpatialVector *motionMatrix, const PxReal *jF, const Cm::SpatialVectorF &Z, const Cm::SpatialVectorF &ZIntIc, Cm::SpatialVectorF &ZA, Cm::SpatialVectorF &ZInt, PxReal *qstZ, PxReal *qstZIntIc) |
| |
|
static SpatialMatrix | computePropagateSpatialInertia_ZA_ZIc_NonSeparated (const PxU8 jointType, const ArticulationJointTargetData &jointTarget, const ArticulationJointCoreData &jointDatum, const SpatialMatrix &articulatedInertia, const Cm::SpatialVectorF *linkIs, InvStIs &invStIs, Cm::SpatialVectorF *isInvD, const Cm::UnAlignedSpatialVector *motionMatrix, const PxReal *jF, const Cm::SpatialVectorF &Z, Cm::SpatialVectorF &ZA, PxReal *qstZIc) |
| |
|
static SpatialMatrix | computePropagateSpatialInertia (const PxU8 jointType, ArticulationJointCoreData &jointDatum, const SpatialMatrix &articulatedInertia, const Cm::SpatialVectorF *linkIs, InvStIs &invStIs, Cm::SpatialVectorF *isInvD, const Cm::UnAlignedSpatialVector *motionMatrix) |
| |
|
static void | transformInertia (const SpatialTransform &sTod, SpatialMatrix &inertia) |
| |
|
static void | translateInertia (const PxMat33 &offset, SpatialMatrix &inertia) |
| |
|
static PxMat33 | translateInertia (const PxMat33 &inertia, const PxReal mass, const PxVec3 &t) |
| |
|
static Cm::SpatialVectorF | getDeltaVWithDeltaJV (const bool fixBase, const PxU32 linkID, const ArticulationData &data, Cm::SpatialVectorF *Z, PxReal *jointVelocities) |
| |
|
static Cm::SpatialVectorF | getDeltaV (const bool fixBase, const PxU32 linkID, const ArticulationData &data, Cm::SpatialVectorF *Z) |
| |
|
static void | getZ (const PxU32 linkID, const ArticulationData &data, Cm::SpatialVectorF *Z, const Cm::SpatialVectorF &impulse) |
| |
|
static Cm::SpatialVectorF | getImpulseResponseW (const PxU32 linkID, const ArticulationData &data, const Cm::SpatialVectorF &impulse) |
| |
|
static Cm::SpatialVectorF | getImpulseResponseWithJ (const PxU32 linkID, const bool fixBase, const ArticulationData &data, Cm::SpatialVectorF *Z, const Cm::SpatialVectorF &impulse, PxReal *jointVelocities) |
| |
|
static void | getImpulseSelfResponse (ArticulationLink *links, Cm::SpatialVectorF *Z, ArticulationData &data, PxU32 linkID0, const Cm::SpatialVectorV &impulse0, Cm::SpatialVectorV &deltaV0, PxU32 linkID1, const Cm::SpatialVectorV &impulse1, Cm::SpatialVectorV &deltaV1) |
| |
|
static void | getImpulseResponseSlow (Dy::ArticulationLink *links, ArticulationData &data, PxU32 linkID0_, const Cm::SpatialVector &impulse0, Cm::SpatialVector &deltaV0, PxU32 linkID1_, const Cm::SpatialVector &impulse1, Cm::SpatialVector &deltaV1, Cm::SpatialVectorF *Z) |
| |
|
static void | updateRootBody (const Cm::SpatialVectorF &motionVelocity, const PxTransform &preTransform, ArticulationData &data, const PxReal dt) |
| |