CubbyFlow::FMMLevelSetSolver3 Class Referencefinal
Three-dimensional fast marching method (FMM) implementation. More...
#include <Core/Solver/LevelSet/FMMLevelSetSolver3.hpp>
Inheritance diagram for CubbyFlow::FMMLevelSetSolver3:
Public Member Functions | |
FMMLevelSetSolver3 ()=default | |
Default constructor. More... | |
void | Reinitialize (const ScalarGrid3 &inputSDF, double maxDistance, ScalarGrid3 *outputSDF) override |
void | Extrapolate (const ScalarGrid3 &input, const ScalarField3 &sdf, double maxDistance, ScalarGrid3 *output) override |
void | Extrapolate (const CollocatedVectorGrid3 &input, const ScalarField3 &sdf, double maxDistance, CollocatedVectorGrid3 *output) override |
void | Extrapolate (const FaceCenteredGrid3 &input, const ScalarField3 &sdf, double maxDistance, FaceCenteredGrid3 *output) override |
Public Member Functions inherited from CubbyFlow::LevelSetSolver3 | |
LevelSetSolver3 ()=default | |
Default constructor. More... | |
LevelSetSolver3 (const LevelSetSolver3 &)=delete | |
Deleted copy constructor. More... | |
LevelSetSolver3 (LevelSetSolver3 &&) noexcept=delete | |
Deleted move constructor. More... | |
virtual | ~LevelSetSolver3 ()=default |
Default virtual destructor. More... | |
LevelSetSolver3 & | operator= (const LevelSetSolver3 &)=delete |
Deleted copy assignment operator. More... | |
LevelSetSolver3 & | operator= (LevelSetSolver3 &&) noexcept=delete |
Deleted move assignment operator. More... | |
Detailed Description
Three-dimensional fast marching method (FMM) implementation.
This class implements 3-D FMM. First-order upwind-style differencing is used to solve the PDE.
- See also
- https://math.berkeley.edu/~sethian/2006/Explanations/fast_marching_explain.html
- Sethian, James A. "A fast marching level set method for monotonically advancing fronts." Proceedings of the National Academy of Sciences 93.4 (1996): 1591-1595.
Constructor & Destructor Documentation
◆ FMMLevelSetSolver3()
|
default |
Default constructor.
Member Function Documentation
◆ Extrapolate() [1/3]
|
overridevirtual |
Extrapolates given scalar field from negative to positive SDF region.
- Parameters
-
input Input scalar field to be extrapolated. sdf Reference signed-distance field. maxDistance Max range of extrapolation. output Output scalar field.
Implements CubbyFlow::LevelSetSolver3.
◆ Extrapolate() [2/3]
|
overridevirtual |
Extrapolates given collocated vector field from negative to positive SDF region.
- Parameters
-
input Input collocated vector field to be extrapolated. sdf Reference signed-distance field. maxDistance Max range of extrapolation. output Output collocated vector field.
Implements CubbyFlow::LevelSetSolver3.
◆ Extrapolate() [3/3]
|
overridevirtual |
Extrapolates given face-centered vector field from negative to positive SDF region.
- Parameters
-
input Input face-centered field to be extrapolated. sdf Reference signed-distance field. maxDistance Max range of extrapolation. output Output face-centered vector field.
Implements CubbyFlow::LevelSetSolver3.
◆ Reinitialize()
|
overridevirtual |
Reinitializes given scalar field to signed-distance field.
- Parameters
-
inputSDF Input signed-distance field which can be distorted. maxDistance Max range of reinitialization. outputSDF Output signed-distance field.
Implements CubbyFlow::LevelSetSolver3.
The documentation for this class was generated from the following file:
- Core/Solver/LevelSet/FMMLevelSetSolver3.hpp