Jet  v1.3.3
Public Member Functions | List of all members
jet::FmmLevelSetSolver3 Class Referencefinal

Three-dimensional fast marching method (FMM) implementation. More...

#include <jet/fmm_level_set_solver3.h>

Inheritance diagram for jet::FmmLevelSetSolver3:
jet::LevelSetSolver3

Public Member Functions

 FmmLevelSetSolver3 ()
 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 jet::LevelSetSolver3
 LevelSetSolver3 ()
 Default constructor. More...
 
virtual ~LevelSetSolver3 ()
 Default destructor. 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()

jet::FmmLevelSetSolver3::FmmLevelSetSolver3 ( )

Default constructor.

Member Function Documentation

◆ extrapolate() [1/3]

void jet::FmmLevelSetSolver3::extrapolate ( const CollocatedVectorGrid3 input,
const ScalarField3 sdf,
double  maxDistance,
CollocatedVectorGrid3 output 
)
overridevirtual

Extrapolates given collocated vector field from negative to positive SDF region.

Parameters
inputInput collocated vector field to be extrapolated.
sdfReference signed-distance field.
maxDistanceMax range of extrapolation.
outputOutput collocated vector field.

Implements jet::LevelSetSolver3.

◆ extrapolate() [2/3]

void jet::FmmLevelSetSolver3::extrapolate ( const FaceCenteredGrid3 input,
const ScalarField3 sdf,
double  maxDistance,
FaceCenteredGrid3 output 
)
overridevirtual

Extrapolates given face-centered vector field from negative to positive SDF region.

Parameters
inputInput face-centered field to be extrapolated.
sdfReference signed-distance field.
maxDistanceMax range of extrapolation.
outputOutput face-centered vector field.

Implements jet::LevelSetSolver3.

◆ extrapolate() [3/3]

void jet::FmmLevelSetSolver3::extrapolate ( const ScalarGrid3 input,
const ScalarField3 sdf,
double  maxDistance,
ScalarGrid3 output 
)
overridevirtual

Extrapolates given scalar field from negative to positive SDF region.

Parameters
inputInput scalar field to be extrapolated.
sdfReference signed-distance field.
maxDistanceMax range of extrapolation.
outputOutput scalar field.

Implements jet::LevelSetSolver3.

◆ reinitialize()

void jet::FmmLevelSetSolver3::reinitialize ( const ScalarGrid3 inputSdf,
double  maxDistance,
ScalarGrid3 outputSdf 
)
overridevirtual

Reinitializes given scalar field to signed-distance field.

Parameters
inputSdfInput signed-distance field which can be distorted.
maxDistanceMax range of reinitialization.
outputSdfOutput signed-distance field.

Implements jet::LevelSetSolver3.


The documentation for this class was generated from the following file: