Jet  v1.3.3
level_set_solver2.h
Go to the documentation of this file.
1 // Copyright (c) 2018 Doyub Kim
2 //
3 // I am making my contributions/submissions to this project solely in my
4 // personal capacity and am not conveying any rights to any intellectual
5 // property of any third parties.
6 
7 #ifndef INCLUDE_JET_LEVEL_SET_SOLVER2_H_
8 #define INCLUDE_JET_LEVEL_SET_SOLVER2_H_
9 
12 #include <jet/scalar_grid2.h>
13 #include <memory>
14 
15 namespace jet {
16 
19  public:
22 
24  virtual ~LevelSetSolver2();
25 
33  virtual void reinitialize(
34  const ScalarGrid2& inputSdf,
35  double maxDistance,
36  ScalarGrid2* outputSdf) = 0;
37 
46  virtual void extrapolate(
47  const ScalarGrid2& input,
48  const ScalarField2& sdf,
49  double maxDistance,
50  ScalarGrid2* output) = 0;
51 
61  virtual void extrapolate(
62  const CollocatedVectorGrid2& input,
63  const ScalarField2& sdf,
64  double maxDistance,
65  CollocatedVectorGrid2* output) = 0;
66 
76  virtual void extrapolate(
77  const FaceCenteredGrid2& input,
78  const ScalarField2& sdf,
79  double maxDistance,
80  FaceCenteredGrid2* output) = 0;
81 };
82 
84 typedef std::shared_ptr<LevelSetSolver2> LevelSetSolver2Ptr;
85 
86 } // namespace jet
87 
88 #endif // INCLUDE_JET_LEVEL_SET_SOLVER2_H_
jet::LevelSetSolver2::extrapolate
virtual void extrapolate(const CollocatedVectorGrid2 &input, const ScalarField2 &sdf, double maxDistance, CollocatedVectorGrid2 *output)=0
jet::LevelSetSolver2::extrapolate
virtual void extrapolate(const ScalarGrid2 &input, const ScalarField2 &sdf, double maxDistance, ScalarGrid2 *output)=0
jet::LevelSetSolver2Ptr
std::shared_ptr< LevelSetSolver2 > LevelSetSolver2Ptr
Shared pointer type for the LevelSetSolver2.
Definition: level_set_solver2.h:84
jet::ScalarField2
Abstract base class for 2-D scalar field.
Definition: scalar_field2.h:18
jet::LevelSetSolver2::reinitialize
virtual void reinitialize(const ScalarGrid2 &inputSdf, double maxDistance, ScalarGrid2 *outputSdf)=0
jet::FaceCenteredGrid2
2-D face-centered (a.k.a MAC or staggered) grid.
Definition: face_centered_grid2.h:26
jet
Definition: advection_solver2.h:18
jet::ScalarGrid2
Abstract base class for 2-D scalar grid structure.
Definition: scalar_grid2.h:21
jet::LevelSetSolver2::~LevelSetSolver2
virtual ~LevelSetSolver2()
Default destructor.
jet::CollocatedVectorGrid2
Abstract base class for 2-D collocated vector grid structure.
Definition: collocated_vector_grid2.h:18
collocated_vector_grid2.h
jet::LevelSetSolver2::LevelSetSolver2
LevelSetSolver2()
Default constructor.
face_centered_grid2.h
scalar_grid2.h
jet::LevelSetSolver2
Abstract base class for 2-D level set solver.
Definition: level_set_solver2.h:18
jet::LevelSetSolver2::extrapolate
virtual void extrapolate(const FaceCenteredGrid2 &input, const ScalarField2 &sdf, double maxDistance, FaceCenteredGrid2 *output)=0