iMSTK
Interactive Medical Simulation Toolkit
imstkPointSetToPlaneCD.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 "imstkCollisionDetectionAlgorithm.h"
10 #include "imstkMacros.h"
11 
12 namespace imstk
13 {
22 {
23 public:
25  ~PointSetToPlaneCD() override = default;
26 
27  IMSTK_TYPE_NAME(PointSetToPlaneCD)
28 
29 protected:
34  std::shared_ptr<Geometry> geomA,
35  std::shared_ptr<Geometry> geomB,
36  std::vector<CollisionElement>& elementsA,
37  std::vector<CollisionElement>& elementsB) override;
38 
43  std::shared_ptr<Geometry> geomA,
44  std::shared_ptr<Geometry> geomB,
45  std::vector<CollisionElement>& elementsA) override;
46 
51  std::shared_ptr<Geometry> geomA,
52  std::shared_ptr<Geometry> geomB,
53  std::vector<CollisionElement>& elementsB) override;
54 };
55 } // namespace imstk
Base class for all collision detection classes. CollisionDetection classes produce CollisionData betw...
void computeCollisionDataAB(std::shared_ptr< Geometry > geomA, std::shared_ptr< Geometry > geomB, std::vector< CollisionElement > &elementsA, std::vector< CollisionElement > &elementsB) override
Compute collision data for AB simultaneously.
void computeCollisionDataB(std::shared_ptr< Geometry > geomA, std::shared_ptr< Geometry > geomB, std::vector< CollisionElement > &elementsB) override
Compute collision data for side B.
Compound Geometry.
PointSet to unidirectional plane collision detection Generates point-direction contact data...
void computeCollisionDataA(std::shared_ptr< Geometry > geomA, std::shared_ptr< Geometry > geomB, std::vector< CollisionElement > &elementsA) override
Compute collision data for side A.