iMSTK
Interactive Medical Simulation Toolkit
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
imstk::PortHoleInteraction Class Reference

Defines the behaviour to constrain a PbdObject LineMesh or Capsule to a fixed port hole location. More...

#include <imstkPortHoleInteraction.h>

Inheritance diagram for imstk::PortHoleInteraction:
Inheritance graph
[legend]
Collaboration diagram for imstk::PortHoleInteraction:
Collaboration graph
[legend]

Public Member Functions

 PortHoleInteraction (const std::string &name="PortHoleInteraction")
 
void init () override
 Initialize the component, called at a later time after all component construction is complete.
 
std::shared_ptr< PbdObjectgetTool () const
 Get/Set the tool to be constrained.
 
void setTool (std::shared_ptr< PbdObject > toolObject)
 
std::shared_ptr< GeometrygetToolGeometry () const
 Get/Set the tool geometry used for constraining.
 
void setToolGeometry (std::shared_ptr< Geometry > toolGeom)
 
const Vec3d & getPortHoleLocation () const
 Get/Set the port hole location to constrain the geometry too.
 
void setPortHoleLocation (const Vec3d &portHoleLocation)
 
double getCompliance () const
 Get/Set constraint compliance. This effects how stiff the constraint of the line to.
 
void setCompliance (const double compliance)
 
- Public Member Functions inherited from imstk::Behaviour< UpdateInfo >
virtual void update (const UpdateInfo &imstkNotUsed(updateData))
 
virtual void visualUpdate (const UpdateInfo &imstkNotUsed(updateData))
 
void initTaskGraphEdges ()
 Setup the edges/connections of the TaskGraph.
 
std::shared_ptr< TaskGraphgetTaskGraph () const
 
- Public Member Functions inherited from imstk::Component
const std::string & getName () const
 
void setName (const std::string &name)
 
std::weak_ptr< EntitygetEntity () const
 Get parent entity.
 
void initialize ()
 Initialize the component, called at a later time after all component construction is complete.
 

Protected Member Functions

void handlePortHole ()
 
void initGraphEdges (std::shared_ptr< TaskNode > source, std::shared_ptr< TaskNode > sink) override
 
- Protected Member Functions inherited from imstk::Behaviour< UpdateInfo >
 Behaviour (const std::string &name="Behaviour")
 
 Behaviour (const bool useTaskGraph, const std::string &name="Behaviour")
 
virtual void initGraphEdges (std::shared_ptr< TaskNode > imstkNotUsed(source), std::shared_ptr< TaskNode > imstkNotUsed(sink))
 Setup the edges/connections of the TaskGraph. More...
 
- Protected Member Functions inherited from imstk::Component
 Component (const std::string &name="Component")
 

Protected Attributes

std::shared_ptr< PbdObjectm_toolObject = nullptr
 
std::shared_ptr< Geometrym_toolGeom = nullptr
 
Vec3d m_portHoleLocation = Vec3d::Zero()
 
double m_compliance = 0.0001
 
std::shared_ptr< PbdRigidLineToPointConstraintm_portConstraint = nullptr
 
std::vector< PbdConstraint * > m_constraints
 
std::shared_ptr< TaskNodem_portHoleHandleNode = nullptr
 
std::shared_ptr< TaskNodem_collisionGeometryUpdateNode = nullptr
 
- Protected Attributes inherited from imstk::Behaviour< UpdateInfo >
std::shared_ptr< TaskGraphm_taskGraph = nullptr
 
- Protected Attributes inherited from imstk::Component
std::string m_name
 
std::weak_ptr< Entitym_entity
 Parent entity this component exists on.
 

Detailed Description

Defines the behaviour to constrain a PbdObject LineMesh or Capsule to a fixed port hole location.

Alternatively a physical setup can be used when the hardware, space, and registration is available.

Definition at line 29 of file imstkPortHoleInteraction.h.


The documentation for this class was generated from the following files: