|
virtual const std::string | getTypeName () const =0 |
|
virtual bool | computeValueAndGradient (PbdState &bodies, double &c, std::vector< Vec3d > &dcdx)=0 |
| Compute value and gradient of the constraint. More...
|
|
std::vector< PbdParticleId > & | getParticles () |
| Get the vertex indices of the constraint.
|
|
bool | getCorrectVelocity () const |
| Get/Set whether velocity should be corrected for this constraint.
|
|
void | setCorrectVelocity (const bool correctVelocity) |
|
const Vec3d & | getGradient (const int i) const |
| Get gradient given the particle index in constraint.
|
|
double | getForce (const double dt) const |
| Get the force magnitude, valid after solving lambda Only valid with xpbd.
|
|
double | getConstraintC () const |
| Get constraint value C (how much the constraint is violated)
|
|
double | getLambda () const |
| Get constraint value C (how much the constraint is violated)
|
|
virtual double | getRestValue () const |
| Get reference constraint value. This value will have different context depending on the constraint being used.
|
|
void | zeroOutLambda () |
| Zero's out the lagrange multplier before integration only used for xpbd, must be called before solving.
|
|
virtual void | projectConstraint (PbdState &bodies, const double dt, const SolverType &type) |
| Update positions by projecting constraints.
|
|
virtual void | correctVelocity (PbdState &bodies, const double dt) |
| Correct velocities according to friction and restitution Corrects according to the gradient direction.
|
|
double | computeGeneralizedInvMass (const PbdState &bodies, const size_t particleIndex) const |
| Compute generalized inverse mass of the particle. Note perf sensitive function. It has been intentionally inlined. More...
|
|
double | computeGeneralizedInvMass (const PbdState &bodies, const size_t particleIndex, const Vec3d &r) const |
| Compute generalized inverse mass of the particle. More...
|
|
|
double | getRestitution () const |
| Get/Set restitution.
|
|
void | setRestitution (const double restitution) |
|
|
double | getFriction () const |
| Get/Set friction.
|
|
void | setFriction (const double friction) |
|
|
double | getStiffness () const |
| Get/Set the stiffness.
|
|
void | setStiffness (const double stiffness) |
|
|
double | getCompliance () const |
| Get/Set the compliance This function is also provided in case users need 0 compliance.
|
|
void | setCompliance (const double compliance) |
|
Base Constraint class for Position based dynamics constraints.
Definition at line 24 of file imstkPbdConstraint.h.