OpenVDB 11.0.0
Loading...
Searching...
No Matches
VelocitySampler< GridT, Staggered, Order > Class Template Reference

#include <openvdb/tools/VelocityFields.h>

Public Types

typedef GridT::ConstAccessor AccessorType
 
typedef GridT::ValueType ValueType
 

Public Member Functions

 VelocitySampler (const GridT &grid)
 Constructor from a grid.
 
 VelocitySampler (const VelocitySampler &other)
 Copy-constructor.
 
template<typename LocationType >
bool sample (const LocationType &world, ValueType &result) const
 Samples the velocity at world position onto result. Supports both staggered (i.e. MAC) and collocated velocity grids.
 
template<typename LocationType >
ValueType sample (const LocationType &world) const
 Samples the velocity at world position onto result. Supports both staggered (i.e. MAC) and co-located velocity grids.
 

Detailed Description

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t Order = 1>
class openvdb::v11_0::tools::VelocitySampler< GridT, Staggered, Order >

Class to hold a Vec3 field interpreted as a velocity field. Primarily exists to provide a method(s) that integrate a passive point forward in the velocity field for a single time-step (dt)

Member Typedef Documentation

◆ AccessorType

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t Order = 1>
typedef GridT::ConstAccessor AccessorType

◆ ValueType

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t Order = 1>
typedef GridT::ValueType ValueType

Constructor & Destructor Documentation

◆ VelocitySampler() [1/2]

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t Order = 1>
VelocitySampler ( const GridT & grid)
inline

Constructor from a grid.

◆ VelocitySampler() [2/2]

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t Order = 1>
VelocitySampler ( const VelocitySampler< GridT, Staggered, Order > & other)
inline

Copy-constructor.

Member Function Documentation

◆ sample() [1/2]

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t Order = 1>
template<typename LocationType >
ValueType sample ( const LocationType & world) const
inline

Samples the velocity at world position onto result. Supports both staggered (i.e. MAC) and co-located velocity grids.

Warning
Not threadsafe since it uses a ValueAccessor! So use one instance per thread (which is fine since its lightweight).

◆ sample() [2/2]

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t Order = 1>
template<typename LocationType >
bool sample ( const LocationType & world,
ValueType & result ) const
inline

Samples the velocity at world position onto result. Supports both staggered (i.e. MAC) and collocated velocity grids.

Returns
true if any one of the sampled values is active.
Warning
Not threadsafe since it uses a ValueAccessor! So use one instance per thread (which is fine since its lightweight).