OpenVDB 11.0.0
Loading...
Searching...
No Matches
TrilinearSampler< TreeOrAccT > Class Template Reference

Tri-linear sampler, i.e. first order, interpolator. More...

#include <nanovdb/util/SampleFromVoxels.h>

Inheritance diagram for TrilinearSampler< TreeOrAccT >:
SampleFromVoxels< TreeOrAccT, 1, false > SampleFromVoxels< TreeOrAccT, 1, true >

Public Types

using ValueT = typename TreeOrAccT::ValueType
 
using CoordT = typename TreeOrAccT::CoordType
 

Public Member Functions

 TrilinearSampler (const TreeOrAccT &acc)
 Protected constructor from a Tree or ReadAccessor.
 
const TreeOrAccT & accessor () const
 
void stencil (CoordT &ijk, ValueT(&v)[2][2][2]) const
 Extract the stencil of 8 values.
 
template<typename RealT , template< typename... > class Vec3T>
TreeOrAccT::ValueType sample (const Vec3T< RealT > &uvw, const ValueT(&v)[2][2][2])
 
template<typename RealT , template< typename... > class Vec3T>
Vec3T< typename TreeOrAccT::ValueType > gradient (const Vec3T< RealT > &uvw, const ValueT(&v)[2][2][2])
 

Static Public Member Functions

template<typename RealT , template< typename... > class Vec3T>
static ValueT sample (const Vec3T< RealT > &uvw, const ValueT(&v)[2][2][2])
 
template<typename RealT , template< typename... > class Vec3T>
static Vec3T< ValueTgradient (const Vec3T< RealT > &uvw, const ValueT(&v)[2][2][2])
 
static bool zeroCrossing (const ValueT(&v)[2][2][2])
 

Static Public Attributes

static const int ORDER = 1
 

Protected Attributes

const TreeOrAccT & mAcc
 

Detailed Description

template<typename TreeOrAccT>
class nanovdb::TrilinearSampler< TreeOrAccT >

Tri-linear sampler, i.e. first order, interpolator.

Member Typedef Documentation

◆ CoordT

template<typename TreeOrAccT >
using CoordT = typename TreeOrAccT::CoordType

◆ ValueT

template<typename TreeOrAccT >
using ValueT = typename TreeOrAccT::ValueType

Constructor & Destructor Documentation

◆ TrilinearSampler()

template<typename TreeOrAccT >
TrilinearSampler ( const TreeOrAccT & acc)
inline

Protected constructor from a Tree or ReadAccessor.

Member Function Documentation

◆ accessor()

template<typename TreeOrAccT >
const TreeOrAccT & accessor ( ) const
inline

◆ gradient() [1/2]

template<typename TreeOrAccT >
template<typename RealT , template< typename... > class Vec3T>
static Vec3T< ValueT > gradient ( const Vec3T< RealT > & uvw,
const ValueT(&) v[2][2][2] )
inlinestatic

◆ gradient() [2/2]

template<typename TreeOrAccT >
template<typename RealT , template< typename... > class Vec3T>
Vec3T< typename TreeOrAccT::ValueType > gradient ( const Vec3T< RealT > & uvw,
const ValueT(&) v[2][2][2] )

◆ sample() [1/2]

template<typename TreeOrAccT >
template<typename RealT , template< typename... > class Vec3T>
static ValueT sample ( const Vec3T< RealT > & uvw,
const ValueT(&) v[2][2][2] )
inlinestatic

◆ sample() [2/2]

template<typename TreeOrAccT >
template<typename RealT , template< typename... > class Vec3T>
TreeOrAccT::ValueType sample ( const Vec3T< RealT > & uvw,
const ValueT(&) v[2][2][2] )

◆ stencil()

template<typename TreeOrAccT >
void stencil ( CoordT & ijk,
ValueT(&) v[2][2][2] ) const
inline

Extract the stencil of 8 values.

◆ zeroCrossing()

template<typename TreeOrAccT >
bool zeroCrossing ( const ValueT(&) v[2][2][2])
inlinestatic

Member Data Documentation

◆ mAcc

template<typename TreeOrAccT >
const TreeOrAccT& mAcc
protected

◆ ORDER

template<typename TreeOrAccT >
const int ORDER = 1
static