Jet
v1.3.3
|
Abstract base class for 2-D PDE-based iterative level set solver. More...
#include <jet/iterative_level_set_solver2.h>
Public Member Functions | |
IterativeLevelSetSolver2 () | |
Default constructor. More... | |
virtual | ~IterativeLevelSetSolver2 () |
Default destructor. More... | |
void | reinitialize (const ScalarGrid2 &inputSdf, double maxDistance, ScalarGrid2 *outputSdf) override |
void | extrapolate (const ScalarGrid2 &input, const ScalarField2 &sdf, double maxDistance, ScalarGrid2 *output) override |
void | extrapolate (const CollocatedVectorGrid2 &input, const ScalarField2 &sdf, double maxDistance, CollocatedVectorGrid2 *output) override |
void | extrapolate (const FaceCenteredGrid2 &input, const ScalarField2 &sdf, double maxDistance, FaceCenteredGrid2 *output) override |
double | maxCfl () const |
Returns the maximum CFL limit. More... | |
void | setMaxCfl (double newMaxCfl) |
Sets the maximum CFL limit. More... | |
![]() | |
LevelSetSolver2 () | |
Default constructor. More... | |
virtual | ~LevelSetSolver2 () |
Default destructor. More... | |
Protected Member Functions | |
virtual void | getDerivatives (ConstArrayAccessor2< double > grid, const Vector2D &gridSpacing, size_t i, size_t j, std::array< double, 2 > *dx, std::array< double, 2 > *dy) const =0 |
Computes the derivatives for given grid point. More... | |
Abstract base class for 2-D PDE-based iterative level set solver.
This class provides infrastructure for 2-D PDE-based iterative level set solver. Internally, the class implements upwind-style wave propagation and the inheriting classes must provide a way to compute the derivatives for given grid points.
jet::IterativeLevelSetSolver2::IterativeLevelSetSolver2 | ( | ) |
Default constructor.
|
virtual |
Default destructor.
|
overridevirtual |
Extrapolates given collocated vector field from negative to positive SDF region.
input | Input collocated vector field to be extrapolated. |
sdf | Reference signed-distance field. |
maxDistance | Max range of extrapolation. |
output | Output collocated vector field. |
Implements jet::LevelSetSolver2.
|
overridevirtual |
Extrapolates given face-centered vector field from negative to positive SDF region.
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 jet::LevelSetSolver2.
|
overridevirtual |
Extrapolates given scalar field from negative to positive SDF region.
input | Input scalar field to be extrapolated. |
sdf | Reference signed-distance field. |
maxDistance | Max range of extrapolation. |
output | Output scalar field. |
Implements jet::LevelSetSolver2.
|
protectedpure virtual |
Computes the derivatives for given grid point.
Implemented in jet::EnoLevelSetSolver2, and jet::UpwindLevelSetSolver2.
double jet::IterativeLevelSetSolver2::maxCfl | ( | ) | const |
Returns the maximum CFL limit.
|
overridevirtual |
Reinitializes given scalar field to signed-distance field.
inputSdf | Input signed-distance field which can be distorted. |
maxDistance | Max range of reinitialization. |
outputSdf | Output signed-distance field. |
Implements jet::LevelSetSolver2.
void jet::IterativeLevelSetSolver2::setMaxCfl | ( | double | newMaxCfl | ) |
Sets the maximum CFL limit.
This function sets the maximum CFL limit for the internal upwind-style PDE calculation. The negative input will be clamped to 0.