Jet  v1.3.3
level_set_solver3.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_SOLVER3_H_
8 #define INCLUDE_JET_LEVEL_SET_SOLVER3_H_
9 
12 #include <jet/scalar_grid3.h>
13 #include <memory>
14 
15 namespace jet {
16 
19  public:
22 
24  virtual ~LevelSetSolver3();
25 
33  virtual void reinitialize(
34  const ScalarGrid3& inputSdf,
35  double maxDistance,
36  ScalarGrid3* outputSdf) = 0;
37 
46  virtual void extrapolate(
47  const ScalarGrid3& input,
48  const ScalarField3& sdf,
49  double maxDistance,
50  ScalarGrid3* output) = 0;
51 
61  virtual void extrapolate(
62  const CollocatedVectorGrid3& input,
63  const ScalarField3& sdf,
64  double maxDistance,
65  CollocatedVectorGrid3* output) = 0;
66 
76  virtual void extrapolate(
77  const FaceCenteredGrid3& input,
78  const ScalarField3& sdf,
79  double maxDistance,
80  FaceCenteredGrid3* output) = 0;
81 };
82 
84 typedef std::shared_ptr<LevelSetSolver3> LevelSetSolver3Ptr;
85 
86 } // namespace jet
87 
88 #endif // INCLUDE_JET_LEVEL_SET_SOLVER3_H_
jet::LevelSetSolver3::extrapolate
virtual void extrapolate(const FaceCenteredGrid3 &input, const ScalarField3 &sdf, double maxDistance, FaceCenteredGrid3 *output)=0
scalar_grid3.h
jet::ScalarField3
Abstract base class for 3-D scalar field.
Definition: scalar_field3.h:18
jet::LevelSetSolver3::~LevelSetSolver3
virtual ~LevelSetSolver3()
Default destructor.
jet::LevelSetSolver3Ptr
std::shared_ptr< LevelSetSolver3 > LevelSetSolver3Ptr
Shared pointer type for the LevelSetSolver3.
Definition: level_set_solver3.h:84
jet::LevelSetSolver3::extrapolate
virtual void extrapolate(const CollocatedVectorGrid3 &input, const ScalarField3 &sdf, double maxDistance, CollocatedVectorGrid3 *output)=0
jet::CollocatedVectorGrid3
Abstract base class for 3-D collocated vector grid structure.
Definition: collocated_vector_grid3.h:18
jet::LevelSetSolver3
Abstract base class for 3-D level set solver.
Definition: level_set_solver3.h:18
jet
Definition: advection_solver2.h:18
jet::FaceCenteredGrid3
3-D face-centered (a.k.a MAC or staggered) grid.
Definition: face_centered_grid3.h:26
jet::ScalarGrid3
Abstract base class for 3-D scalar grid structure.
Definition: scalar_grid3.h:21
jet::LevelSetSolver3::LevelSetSolver3
LevelSetSolver3()
Default constructor.
face_centered_grid3.h
collocated_vector_grid3.h
jet::LevelSetSolver3::extrapolate
virtual void extrapolate(const ScalarGrid3 &input, const ScalarField3 &sdf, double maxDistance, ScalarGrid3 *output)=0
jet::LevelSetSolver3::reinitialize
virtual void reinitialize(const ScalarGrid3 &inputSdf, double maxDistance, ScalarGrid3 *outputSdf)=0