29#ifndef DY_ARTICULATION_CONTACT_PREP_H
30#define DY_ARTICULATION_CONTACT_PREP_H
32#include "DySolverExt.h"
33#include "foundation/PxVecMath.h"
44 struct CorrelationBuffer;
46 PxReal getImpulseResponse(
const SolverExtBody& b0,
const Cm::SpatialVector& impulse0, Cm::SpatialVector& deltaV0, PxReal dom0, PxReal angDom0,
47 const SolverExtBody& b1,
const Cm::SpatialVector& impulse1, Cm::SpatialVector& deltaV1, PxReal dom1, PxReal angDom1,
48 Cm::SpatialVectorF* Z,
bool allowSelfCollision =
false);
50 aos::FloatV getImpulseResponse(
const SolverExtBody& b0,
const Cm::SpatialVectorV& impulse0, Cm::SpatialVectorV& deltaV0,
const aos::FloatV& dom0,
const aos::FloatV& angDom0,
51 const SolverExtBody& b1,
const Cm::SpatialVectorV& impulse1, Cm::SpatialVectorV& deltaV1,
const aos::FloatV& dom1,
const aos::FloatV& angDom1,
52 Cm::SpatialVectorV* Z,
bool allowSelfCollision =
false);
54 Cm::SpatialVector createImpulseResponseVector(
const PxVec3& linear,
const PxVec3& angular,
const SolverExtBody& body);
55 Cm::SpatialVectorV createImpulseResponseVector(
const aos::Vec3V& linear,
const aos::Vec3V& angular,
const SolverExtBody& body);
57 void setupFinalizeExtSolverContacts(
58 const PxContactPoint* buffer,
59 const CorrelationBuffer& c,
60 const PxTransform& bodyFrame0,
61 const PxTransform& bodyFrame1,
63 const SolverExtBody& b0,
64 const SolverExtBody& b1,
65 const PxReal invDtF32,
67 PxReal bounceThresholdF32,
68 PxReal invMassScale0, PxReal invInertiaScale0,
69 PxReal invMassScale1, PxReal invInertiaScale1,
70 PxReal restDistance, PxU8* frictionDataPtr,
71 PxReal ccdMaxContactDist,
72 Cm::SpatialVectorF* Z,
73 const PxReal offsetSlop);
76 bool setupFinalizeExtSolverContactsCoulomb(
77 const PxContactBuffer& buffer,
78 const CorrelationBuffer& c,
79 const PxTransform& bodyFrame0,
80 const PxTransform& bodyFrame1,
84 PxReal bounceThreshold,
85 const SolverExtBody& b0,
86 const SolverExtBody& b1,
87 PxU32 frictionCountPerPoint,
88 PxReal invMassScale0, PxReal invInertiaScale0,
89 PxReal invMassScale1, PxReal invInertiaScale1,
91 PxReal ccdMaxContactDist,
92 Cm::SpatialVectorF* Z,
93 const PxReal solverOffsetSlop);
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39