iMSTK
Interactive Medical Simulation Toolkit
imstkClosedSurfaceMeshToCapsuleCD.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 {
21 {
22 public:
24  ~ClosedSurfaceMeshToCapsuleCD() override = default;
25 
26  IMSTK_TYPE_NAME(ClosedSurfaceMeshToCapsuleCD)
27 
28  void setRadiusMultiplier(double mult) { m_radiusMultiplier = mult; }
29  double getRadiusMultiplier() { return m_radiusMultiplier; }
30 
31 protected:
36  std::shared_ptr<Geometry> geomA,
37  std::shared_ptr<Geometry> geomB,
38  std::vector<CollisionElement>& elementsA,
39  std::vector<CollisionElement>& elementsB) override;
40 
41  double m_radiusMultiplier = 8.0; // Multiplier used to filter triangles
42 };
43 } // namespace imstk
Base class for all collision detection classes. CollisionDetection classes produce CollisionData betw...
Compound Geometry.
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.
Closed SurfaceMesh to Capsule collision detection Generates point-triangle.