OpenVDB
1.1.0
|
Hyperbolic advection of narrow-band level sets in an external velocity field. More...
#include <LevelSetAdvect.h>
Classes | |
class | LevelSetAdvect |
Public Types | |
typedef GridT | GridType |
typedef LevelSetTracker< GridT, InterruptT > | TrackerT |
typedef TrackerT::RangeType | RangeType |
typedef TrackerT::LeafType | LeafType |
typedef TrackerT::BufferType | BufferType |
typedef TrackerT::ValueType | ScalarType |
typedef FieldT::VectorType | VectorType |
Public Member Functions | |
LevelSetAdvection (GridT &grid, const FieldT &field, InterruptT *interrupt=NULL) | |
Main constructor. | |
virtual | ~LevelSetAdvection () |
math::BiasedGradientScheme | getSpatialScheme () const |
void | setSpatialScheme (math::BiasedGradientScheme scheme) |
Set the spatial finite difference scheme. | |
math::TemporalIntegrationScheme | getTemporalScheme () const |
void | setTemporalScheme (math::TemporalIntegrationScheme scheme) |
Set the spatial finite difference scheme. | |
math::BiasedGradientScheme | getTrackerSpatialScheme () const |
void | setTrackerSpatialScheme (math::BiasedGradientScheme scheme) |
Set the spatial finite difference scheme. | |
math::TemporalIntegrationScheme | getTrackerTemporalScheme () const |
void | setTrackerTemporalScheme (math::TemporalIntegrationScheme scheme) |
Set the spatial finite difference scheme. | |
int | getNormCount () const |
void | setNormCount (int n) |
Set the number of normalizations performed per track or normalize call. | |
int | getGrainSize () const |
void | setGrainSize (int grainsize) |
Set the grain-size used for multi-threading. | |
size_t | advect (ScalarType time0, ScalarType time1) |
Hyperbolic advection of narrow-band level sets in an external velocity field.
The @c FieldType template argument below refers to any functor with the following interface (see tools/VelocityFields.h for examples): @code
class VelocityField { ... public: openvdb::VectorType operator() (const openvdb::Coord& xyz, ScalarType time) const; ... };
The InterruptType
template argument below refers to any class with the following interface:
typedef TrackerT::BufferType BufferType |
typedef GridT GridType |
typedef TrackerT::LeafType LeafType |
typedef TrackerT::RangeType RangeType |
typedef TrackerT::ValueType ScalarType |
typedef LevelSetTracker<GridT, InterruptT> TrackerT |
typedef FieldT::VectorType VectorType |
|
inline |
Main constructor.
|
inlinevirtual |
|
inline |
Advect the level set from it's current time, time0, to it's final time, time1. If time0>time1 backward advection is performed.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
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.