iMSTK
Interactive Medical Simulation Toolkit
imstkNeedleInteraction.h
1 /*
2 ** This file is part of the Interactive Medical Simulation Toolkit (iMSTK)
3 ** iMSTK is distributed under the Apache License, Version 2.0.
4 ** See accompanying NOTICE for details.
5 */
6 
7 #pragma once
8 
9 #include "imstkMacros.h"
10 #include "imstkPbdObjectCollision.h"
11 #include "imstkNeedlePbdCH.h"
12 
13 namespace imstk
14 {
15 class PbdObject;
16 
23 {
24 public:
25  NeedleInteraction(std::shared_ptr<PbdObject> tissueObj,
26  std::shared_ptr<PbdObject> needleObj,
27  std::shared_ptr<PbdObject> threadObj);
28  ~NeedleInteraction() override = default;
29 
30  IMSTK_TYPE_NAME(NeedleInteraction)
31 
32  void stitch();
33 
34  const NeedlePbdCH::PunctureData& getPunctureData();
35 };
36 } // namespace imstk
Defines interaction between NeedleObject and PbdObject.
Compound Geometry.
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.