9 #include "imstkMacros.h" 10 #include "imstkPbdObjectCollision.h" 12 using namespace imstk;
31 std::shared_ptr<PbdObject> needleObj,
32 const std::string& collisionName =
"");
37 std::shared_ptr<NeedleEmbedder> getEmbedder()
const {
return m_embedder; }
40 double getFriction()
const;
42 void setNeedleCompliance(
const double compliance);
43 double getNeedleCompliance()
const;
45 void setStaticFrictionForceThreshold(
const double force);
46 const double getStaticFrictionForceThreshold()
const;
48 void setPunctureForceThreshold(
const double forceThreshold);
49 const double getPunctureForceThreshold()
const;
54 void initGraphEdges(std::shared_ptr<TaskNode> source, std::shared_ptr<TaskNode> sink)
override;
57 std::shared_ptr<NeedleEmbedder> m_embedder;
58 std::shared_ptr<TaskNode> m_embedderNode =
nullptr;
Defines interaction between NeedleObject and PbdObject.
Computes intersection points along a line mesh on the faces of the tetrahedrons.
Implements PBD embedded tissue handling for when the needle is embedded in the tissue.
Base class for scene objects that move and/or deform under position based dynamics formulation...
This class defines a collision interaction between two PbdObjects or PbdObject & CollidingObject.
void setFriction(const double friction)
Get/Set the friction, which gives how much velocity is removed along the tangents during contact...
void initGraphEdges()
Initializes the edges of the SceneObject's computational graph.