iMSTK
Interactive Medical Simulation Toolkit
imstkPointSetToOrientedBoxCD.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  ~PointSetToOrientedBoxCD() override = default;
26 
27  IMSTK_TYPE_NAME(PointSetToOrientedBoxCD)
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
PointSet to OrientedBox collision detection. Generates point-direction contact data. By default only generates contact data for the pointset.
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.
Compound Geometry.
void computeCollisionDataA(std::shared_ptr< Geometry > geomA, std::shared_ptr< Geometry > geomB, std::vector< CollisionElement > &elementsA) override
Compute collision data for side A.
void computeCollisionDataB(std::shared_ptr< Geometry > geomA, std::shared_ptr< Geometry > geomB, std::vector< CollisionElement > &elementsB) override
Compute collision data for side B.