OpenVDB 11.0.0
Loading...
Searching...
No Matches
VolumeAdvection< VelocityGridT, StaggeredVelocity, InterrupterType >::Advect< VolumeGridT, OrderRK, SamplerT > Struct Template Reference

#include <openvdb/tools/VolumeAdvect.h>

Public Types

using TreeT = typename VolumeGridT::TreeType
 
using AccT = typename VolumeGridT::ConstAccessor
 
using ValueT = typename TreeT::ValueType
 
using LeafManagerT = typename tree::LeafManager<TreeT>
 
using LeafNodeT = typename LeafManagerT::LeafNodeType
 
using LeafRangeT = typename LeafManagerT::LeafRange
 
using VelocityIntegratorT = VelocityIntegrator<VelocityGridT, StaggeredVelocity>
 
using RealT = typename VelocityIntegratorT::ElementType
 
using VoxelIterT = typename TreeT::LeafNodeType::ValueOnIter
 

Public Member Functions

 Advect (const VolumeGridT &inGrid, const VolumeAdvection &parent)
 
void cook (const LeafRangeT &range)
 
void operator() (const LeafRangeT &range) const
 
void cook (VolumeGridT &outGrid, double time_step)
 
void mac (const LeafRangeT &range) const
 
void bfecc (const LeafRangeT &range) const
 
void rk (const LeafRangeT &range, RealT dt, size_t n, const VolumeGridT *grid) const
 
void limiter (const LeafRangeT &range, RealT dt) const
 

Public Attributes

std::function< void(Advect *, const LeafRangeT &)> mTask
 
const VolumeGridT * mInGrid
 
const VelocityIntegratorT mVelocityInt
 
const VolumeAdvectionmParent
 

Member Typedef Documentation

◆ AccT

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
using AccT = typename VolumeGridT::ConstAccessor

◆ LeafManagerT

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
using LeafManagerT = typename tree::LeafManager<TreeT>

◆ LeafNodeT

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
using LeafNodeT = typename LeafManagerT::LeafNodeType

◆ LeafRangeT

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
using LeafRangeT = typename LeafManagerT::LeafRange

◆ RealT

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
using RealT = typename VelocityIntegratorT::ElementType

◆ TreeT

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
using TreeT = typename VolumeGridT::TreeType

◆ ValueT

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
using ValueT = typename TreeT::ValueType

◆ VelocityIntegratorT

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
using VelocityIntegratorT = VelocityIntegrator<VelocityGridT, StaggeredVelocity>

◆ VoxelIterT

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
using VoxelIterT = typename TreeT::LeafNodeType::ValueOnIter

Constructor & Destructor Documentation

◆ Advect()

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
Advect ( const VolumeGridT & inGrid,
const VolumeAdvection & parent )
inline

Member Function Documentation

◆ bfecc()

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
void bfecc ( const LeafRangeT & range) const
inline

◆ cook() [1/2]

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
void cook ( const LeafRangeT & range)
inline

◆ cook() [2/2]

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
void cook ( VolumeGridT & outGrid,
double time_step )
inline

◆ limiter()

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
void limiter ( const LeafRangeT & range,
RealT dt ) const
inline

◆ mac()

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
void mac ( const LeafRangeT & range) const
inline

◆ operator()()

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
void operator() ( const LeafRangeT & range) const
inline

◆ rk()

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
void rk ( const LeafRangeT & range,
RealT dt,
size_t n,
const VolumeGridT * grid ) const
inline

Member Data Documentation

◆ mInGrid

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
const VolumeGridT* mInGrid

◆ mParent

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
const VolumeAdvection* mParent

◆ mTask

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
std::function<void (Advect*, const LeafRangeT&)> mTask

◆ mVelocityInt

template<typename VelocityGridT = Vec3fGrid, bool StaggeredVelocity = false, typename InterrupterType = util::NullInterrupter>
template<typename VolumeGridT , size_t OrderRK, typename SamplerT >
const VelocityIntegratorT mVelocityInt