iMSTK
Interactive Medical Simulation Toolkit
imstkProximitySurfaceSelector.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 "imstkGeometryAlgorithm.h"
10 #include "imstkDataArray.h"
11 
12 namespace imstk
13 {
14 class PointSet;
15 class SurfaceMesh;
16 
26 {
27 public:
29  ~ProximitySurfaceSelector() override = default;
30 
31  void setInputMeshes(
32  std::shared_ptr<SurfaceMesh> inputMeshA,
33  std::shared_ptr<SurfaceMesh> inputMeshB);
34 
35  std::shared_ptr<SurfaceMesh> getOutputMeshA() const;
36  std::shared_ptr<SurfaceMesh> getOutputMeshB() const;
37 
42  void setProximity(double prox) { m_proximity = prox; }
43  double getProximity() { return m_proximity; }
45 
46 protected:
47  void requestUpdate() override;
48  double m_proximity = 0.0;
49 };
50 } // namespace imstk
void requestUpdate() override
Users can implement this for the logic to be run.
Compound Geometry.
This filter takes in two surface meshes and generates two surface meshes that are subsets of the two ...
Abstract base class for geometry algorithms. GeometryAlgorithms take N input geometries and produce N...
void setProximity(double prox)
Get/Set the proximity. Any faces within this distance between the two meshes are added to the output ...