Jet
v1.3.3
|
Abstract base class for 3-D PDE-based iterative level set solver. More...
#include <jet/iterative_level_set_solver3.h>
Public Member Functions | |
IterativeLevelSetSolver3 () | |
Default constructor. More... | |
virtual | ~IterativeLevelSetSolver3 () |
Default destructor. 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 |
double | maxCfl () const |
Returns the maximum CFL limit. More... | |
void | setMaxCfl (double newMaxCfl) |
Sets the maximum CFL limit. More... | |
![]() | |
LevelSetSolver3 () | |
Default constructor. More... | |
virtual | ~LevelSetSolver3 () |
Default destructor. More... | |
Protected Member Functions | |
virtual void | getDerivatives (ConstArrayAccessor3< double > grid, const Vector3D &gridSpacing, size_t i, size_t j, size_t k, std::array< double, 2 > *dx, std::array< double, 2 > *dy, std::array< double, 2 > *dz) const =0 |
Computes the derivatives for given grid point. More... | |
Abstract base class for 3-D PDE-based iterative level set solver.
This class provides infrastructure for 3-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::IterativeLevelSetSolver3::IterativeLevelSetSolver3 | ( | ) |
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::LevelSetSolver3.
|
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::LevelSetSolver3.
|
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::LevelSetSolver3.
|
protectedpure virtual |
Computes the derivatives for given grid point.
Implemented in jet::EnoLevelSetSolver3, and jet::UpwindLevelSetSolver3.
double jet::IterativeLevelSetSolver3::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::LevelSetSolver3.
void jet::IterativeLevelSetSolver3::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.