iMSTK
Interactive Medical Simulation Toolkit
|
PbdDistanceConstraintFunctor generates constraints between the edges of the input TetrahedralMesh, SurfaceMesh, or LineMesh. More...
#include <imstkPbdConstraintFunctor.h>
Public Member Functions | |
virtual std::shared_ptr< PbdDistanceConstraint > | makeDistConstraint (const VecDataArray< double, 3 > &vertices, int i1, int i2) |
Create the distance constraint. | |
void | operator() (PbdConstraintContainer &constraints) override |
Appends a set of constraint to the container given a geometry & body. | |
void | addConstraints (PbdConstraintContainer &constraints, std::shared_ptr< std::unordered_set< size_t >> vertices) override |
Called when topology changed. | |
void | setStiffness (const double stiffness) |
Get/Set the stiffness, how hard the constraint is. | |
double | getStiffness () const |
double | getStretch () const |
Get/Set the factor that modifies the restlength. | |
void | setStretch (double val) |
![]() | |
void | setGeometry (std::shared_ptr< PointSet > geom) |
void | setBodyIndex (const int bodyIndex) |
![]() | |
virtual void | addConstraints (PbdConstraintContainer &imstkNotUsed(constraints), std::shared_ptr< std::unordered_set< size_t >> imstkNotUsed(vertices)) |
Appends a set of constraint to the container given a geometry and a set of newly inserted vertices This is for dealing with topology diffs during runtime. | |
Protected Attributes | |
double | m_stiffness = 0.0 |
double | m_stretch = 1.0 |
Additional Inherited Members | |
![]() | |
int | m_bodyIndex = 1 |
std::shared_ptr< PointSet > | m_geom = nullptr |
PbdDistanceConstraintFunctor generates constraints between the edges of the input TetrahedralMesh, SurfaceMesh, or LineMesh.
Definition at line 104 of file imstkPbdConstraintFunctor.h.