Hyperbolic advection of narrow-band level sets in an external velocity field. More...
#include <openvdb/tools/LevelSetAdvect.h>
| Public Types | |
| using | GridType = GridT | 
| using | TrackerT = LevelSetTracker<GridT, InterruptT> | 
| using | LeafRange = typename TrackerT::LeafRange | 
| using | LeafType = typename TrackerT::LeafType | 
| using | BufferType = typename TrackerT::BufferType | 
| using | ValueType = typename TrackerT::ValueType | 
| using | VectorType = typename FieldT::VectorType | 
| Public Member Functions | |
| LevelSetAdvection (GridT &grid, const FieldT &field, InterruptT *interrupt=nullptr) | |
| Main constructor. | |
| virtual | ~LevelSetAdvection () | 
| math::BiasedGradientScheme | getSpatialScheme () const | 
| Return the spatial finite difference scheme. | |
| void | setSpatialScheme (math::BiasedGradientScheme scheme) | 
| Set the spatial finite difference scheme. | |
| math::TemporalIntegrationScheme | getTemporalScheme () const | 
| Return the temporal integration scheme. | |
| void | setTemporalScheme (math::TemporalIntegrationScheme scheme) | 
| Set the spatial finite difference scheme. | |
| math::BiasedGradientScheme | getTrackerSpatialScheme () const | 
| Return the spatial finite difference scheme. | |
| void | setTrackerSpatialScheme (math::BiasedGradientScheme scheme) | 
| Set the spatial finite difference scheme. | |
| math::TemporalIntegrationScheme | getTrackerTemporalScheme () const | 
| Return the temporal integration scheme. | |
| void | setTrackerTemporalScheme (math::TemporalIntegrationScheme scheme) | 
| Set the spatial finite difference scheme. | |
| int | getNormCount () const | 
| Return The number of normalizations performed per track or normalize call. | |
| void | setNormCount (int n) | 
| Set the number of normalizations performed per track or normalize call. | |
| int | getGrainSize () const | 
| Return the grain-size used for multi-threading. | |
| void | setGrainSize (int grainsize) | 
| Set the grain-size used for multi-threading. | |
| size_t | advect (ValueType time0, ValueType time1) | 
Hyperbolic advection of narrow-band level sets in an external velocity field.
The FieldType template argument below refers to any functor with the following interface (see tools/VelocityFields.h for examples):
The InterruptType template argument below refers to any class with the following interface: 
| using BufferType = typename TrackerT::BufferType | 
| using GridType = GridT | 
| using LeafRange = typename TrackerT::LeafRange | 
| using LeafType = typename TrackerT::LeafType | 
| using TrackerT = LevelSetTracker<GridT, InterruptT> | 
| using ValueType = typename TrackerT::ValueType | 
| using VectorType = typename FieldT::VectorType | 
| 
 | inline | 
Main constructor.
| 
 | inlinevirtual | 
| size_t advect | ( | ValueType | time0, | 
| ValueType | time1 ) | 
Advect the level set from its current time, time0, to its final time, time1. If time0>time1 backward advection is performed.
| 
 | inline | 
Return the grain-size used for multi-threading.
| 
 | inline | 
Return The number of normalizations performed per track or normalize call.
| 
 | inline | 
Return the spatial finite difference scheme.
| 
 | inline | 
Return the temporal integration scheme.
| 
 | inline | 
Return the spatial finite difference scheme.
| 
 | inline | 
Return the temporal integration scheme.
| 
 | inline | 
Set the grain-size used for multi-threading.
| 
 | inline | 
Set the number of normalizations performed per track or normalize call.
| 
 | inline | 
Set the spatial finite difference scheme.
| 
 | inline | 
Set the spatial finite difference scheme.
| 
 | inline | 
Set the spatial finite difference scheme.
| 
 | inline | 
Set the spatial finite difference scheme.