iMSTK
Interactive Medical Simulation Toolkit
imstkTetraToPointSetCD.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 #include "imstkSpatialHashTableSeparateChaining.h"
12 
13 namespace imstk
14 {
23 {
24 public:
26  ~TetraToPointSetCD() override = default;
27 
28  IMSTK_TYPE_NAME(TetraToPointSetCD)
29 
30 public:
35  std::shared_ptr<Geometry> geomA,
36  std::shared_ptr<Geometry> geomB,
37  std::vector<CollisionElement>& elementsA,
38  std::vector<CollisionElement>& elementsB) override;
39 
40 protected:
43 };
44 } // namespace imstk
Base class for all collision detection classes. CollisionDetection classes produce CollisionData betw...
Implementation of SpatialHashTable using separate chaining.
Compound Geometry.
Computes if points lie in tetrahedrons using spatial hashing Generates tetra-point contact data...
SpatialHashTableSeparateChaining m_hashTableA
Spatial hash table.
SpatialHashTableSeparateChaining m_hashTableB
Spatial hash table.
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 both sides simultaneously.