OpenVDB  6.0.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DenseUniformPointScatter< PointAccessorType, RandomGenerator, InterruptType > Class Template Reference

Scatters a fixed (and integer) number of points in all active voxels and tiles. More...

#include <PointScatter.h>

Inherits BasePointScatter< PointAccessorType, RandomGenerator, InterruptType >.

Public Types

using BaseT = BasePointScatter< PointAccessorType, RandomGenerator, InterruptType >
 

Public Member Functions

 DenseUniformPointScatter (PointAccessorType &points, float pointsPerVoxel, RandomGenerator &randGen, double spread=1.0, InterruptType *interrupt=nullptr)
 
template<typename GridT >
bool operator() (const GridT &grid)
 This is the main functor method implementing the actual scattering of points. More...
 
void print (const std::string &name, std::ostream &os=std::cout) const
 
float getPointsPerVoxel () const
 
Index64 getPointCount () const
 
Index64 getVoxelCount () const
 

Protected Member Functions

void start (const char *name)
 
void end ()
 
bool interrupt ()
 
double getRand01 ()
 Return a random floating point number between zero and one. More...
 
double getRand ()
 Return a random floating point number between 0.5 -+ mSpread/2. More...
 
template<typename GridT >
void addPoint (const GridT &grid, const Vec3R &dmin)
 
template<typename GridT >
void addPoint (const GridT &grid, const Vec3R &dmin, const Coord &size)
 

Protected Attributes

PointAccessorType & mPoints
 
InterruptType * mInterrupter
 
Index64 mInterruptCount
 
const double mSpread
 
math::Rand01< double, RandomGenerator > mRand01
 

Detailed Description

template<typename PointAccessorType, typename RandomGenerator, typename InterruptType = util::NullInterrupter>
class openvdb::v6_0::tools::DenseUniformPointScatter< PointAccessorType, RandomGenerator, InterruptType >

Scatters a fixed (and integer) number of points in all active voxels and tiles.

Member Typedef Documentation

◆ BaseT

using BaseT = BasePointScatter<PointAccessorType, RandomGenerator, InterruptType>

Constructor & Destructor Documentation

◆ DenseUniformPointScatter()

DenseUniformPointScatter ( PointAccessorType &  points,
float  pointsPerVoxel,
RandomGenerator &  randGen,
double  spread = 1.0,
InterruptType *  interrupt = nullptr 
)
inline

Member Function Documentation

◆ addPoint() [1/2]

void addPoint ( const GridT &  grid,
const Vec3R dmin 
)
inlineprotectedinherited

◆ addPoint() [2/2]

void addPoint ( const GridT &  grid,
const Vec3R dmin,
const Coord size 
)
inlineprotectedinherited

◆ end()

void end ( )
inlineprotectedinherited

◆ getPointCount()

Index64 getPointCount ( ) const
inlineinherited

◆ getPointsPerVoxel()

float getPointsPerVoxel ( ) const
inline

◆ getRand()

double getRand ( )
inlineprotectedinherited

Return a random floating point number between 0.5 -+ mSpread/2.

◆ getRand01()

double getRand01 ( )
inlineprotectedinherited

Return a random floating point number between zero and one.

◆ getVoxelCount()

Index64 getVoxelCount ( ) const
inlineinherited

◆ interrupt()

bool interrupt ( )
inlineprotectedinherited

◆ operator()()

bool operator() ( const GridT &  grid)
inline

This is the main functor method implementing the actual scattering of points.

◆ print()

void print ( const std::string &  name,
std::ostream &  os = std::cout 
) const
inline

◆ start()

void start ( const char *  name)
inlineprotectedinherited

Member Data Documentation

◆ mInterruptCount

Index64 mInterruptCount
protectedinherited

◆ mInterrupter

InterruptType* mInterrupter
protectedinherited

◆ mPoints

PointAccessorType& mPoints
protectedinherited

◆ mRand01

math::Rand01<double, RandomGenerator> mRand01
protectedinherited

◆ mSpread

const double mSpread
protectedinherited

The documentation for this class was generated from the following file: