OpenVDB 11.0.0
Loading...
Searching...
No Matches
ParticlesToLevelSet< SdfGridT, AttributeT, InterrupterT >::Raster< ParticleListT, GridT > Struct Template Reference

Class with multi-threaded implementation of particle rasterization. More...

#include <openvdb/tools/ParticlesToLevelSet.h>

Public Types

using DisableT = typename std::is_void<AttributeT>::type
 
using ParticlesToLevelSetT = ParticlesToLevelSet<SdfGridT, AttributeT, InterrupterT>
 
using SdfT = typename ParticlesToLevelSetT::SdfType
 
using AttT = typename ParticlesToLevelSetT::AttType
 
using ValueT = typename GridT::ValueType
 
using AccessorT = typename GridT::Accessor
 
using TreeT = typename GridT::TreeType
 
using LeafNodeT = typename TreeT::LeafNodeType
 
using PointPartitionerT = PointPartitioner<Index32, LeafNodeT::LOG2DIM>
 

Public Member Functions

 Raster (ParticlesToLevelSetT &parent, GridT *grid, const ParticleListT &particles)
 Main constructor.
 
 Raster (Raster &other, tbb::split)
 Copy constructor called by tbb threads.
 
virtual ~Raster ()
 
void rasterizeSpheres ()
 
void rasterizeSpheres (Real radius)
 
void rasterizeTrails (Real delta=1.0)
 
void operator() (const tbb::blocked_range< size_t > &r)
 Kick off the optionally multithreaded computation.
 
void join (Raster &other)
 Required by tbb::parallel_reduce.
 

Static Public Attributes

static const bool OutputIsMask = std::is_same<SdfT, bool>::value
 
static const bool DoAttrXfer = !DisableT::value
 

Detailed Description

template<typename SdfGridT, typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT, typename GridT>
struct openvdb::v11_0::tools::ParticlesToLevelSet< SdfGridT, AttributeT, InterrupterT >::Raster< ParticleListT, GridT >

Class with multi-threaded implementation of particle rasterization.

Member Typedef Documentation

◆ AccessorT

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
using AccessorT = typename GridT::Accessor

◆ AttT

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
using AttT = typename ParticlesToLevelSetT::AttType

◆ DisableT

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
using DisableT = typename std::is_void<AttributeT>::type

◆ LeafNodeT

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
using LeafNodeT = typename TreeT::LeafNodeType

◆ ParticlesToLevelSetT

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
using ParticlesToLevelSetT = ParticlesToLevelSet<SdfGridT, AttributeT, InterrupterT>

◆ PointPartitionerT

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
using PointPartitionerT = PointPartitioner<Index32, LeafNodeT::LOG2DIM>

◆ SdfT

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
using SdfT = typename ParticlesToLevelSetT::SdfType

◆ TreeT

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
using TreeT = typename GridT::TreeType

◆ ValueT

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
using ValueT = typename GridT::ValueType

Constructor & Destructor Documentation

◆ Raster() [1/2]

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
Raster ( ParticlesToLevelSetT & parent,
GridT * grid,
const ParticleListT & particles )
inline

Main constructor.

◆ Raster() [2/2]

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
Raster ( Raster< ParticleListT, GridT > & other,
tbb::split  )
inline

Copy constructor called by tbb threads.

◆ ~Raster()

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
virtual ~Raster ( )
inlinevirtual

Member Function Documentation

◆ join()

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
void join ( Raster< ParticleListT, GridT > & other)
inline

Required by tbb::parallel_reduce.

◆ operator()()

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
void operator() ( const tbb::blocked_range< size_t > & r)
inline

Kick off the optionally multithreaded computation.

◆ rasterizeSpheres() [1/2]

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
void rasterizeSpheres ( )
inline

◆ rasterizeSpheres() [2/2]

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
void rasterizeSpheres ( Real radius)
inline

◆ rasterizeTrails()

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
void rasterizeTrails ( Real delta = 1.0)
inline

Member Data Documentation

◆ DoAttrXfer

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
const bool DoAttrXfer = !DisableT::value
static

◆ OutputIsMask

template<typename SdfGridT , typename AttributeT = void, typename InterrupterT = util::NullInterrupter>
template<typename ParticleListT , typename GridT >
const bool OutputIsMask = std::is_same<SdfT, bool>::value
static