iMSTK
Interactive Medical Simulation Toolkit
imstkPbdRigidObjectCollision.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 "imstkCollisionInteraction.h"
10 #include "imstkMacros.h"
11 
12 namespace imstk
13 {
14 class PbdObject;
15 class RigidObject2;
16 
24 {
25 public:
29  PbdRigidObjectCollision(std::shared_ptr<PbdObject> obj1, std::shared_ptr<RigidObject2> obj2,
30  std::string cdType = "");
31 
32  ~PbdRigidObjectCollision() override = default;
33 
34  IMSTK_TYPE_NAME(PbdRigidObjectCollision)
35 
36  void setRestitution(const double restitution);
37  const double getRestitution() const;
38 
39  void setFriction(const double friction);
40  const double getFriction() const;
41 
45  void initGraphEdges(std::shared_ptr<TaskNode> source, std::shared_ptr<TaskNode> sink) override;
46 };
47 } // namespace imstk
This class defines a collision interaction between a first order PbdObject and second order RigidObje...
Compound Geometry.
PbdRigidObjectCollision(std::shared_ptr< PbdObject > obj1, std::shared_ptr< RigidObject2 > obj2, std::string cdType="")
Constructor for PbdObject-PbdObject or PbdObject-CollidingObject collisions.
Abstract class for defining collision interactions between objects.
void initGraphEdges()
Initializes the edges of the SceneObject&#39;s computational graph.