Non-uniform scatters of point in the active voxels. The local point count is implicitly defined as a product of of a global density (called pointsPerVolume) and the local voxel (or tile) value. More...
#include <openvdb/tools/PointScatter.h>
Public Types | |
using | BaseT = BasePointScatter<PointAccessorType, RandomGenerator, InterruptType> |
Public Member Functions | |
NonUniformPointScatter (PointAccessorType &points, float pointsPerVolume, 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. | |
void | print (const std::string &name, std::ostream &os=std::cout) const |
float | getPointPerVolume () 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. | |
double | getRand () |
Return a random floating point number between 0.5 -+ mSpread/2. | |
void | addPoint (const GridT &grid, const Vec3R &dmin) |
void | addPoint (const GridT &grid, const Vec3R &dmin, const Coord &size) |
Protected Attributes | |
PointAccessorType & | mPoints |
util::NullInterrupter * | mInterrupter |
Index64 | mInterruptCount |
const double | mSpread |
math::Rand01< double, RandomGenerator > | mRand01 |
Non-uniform scatters of point in the active voxels. The local point count is implicitly defined as a product of of a global density (called pointsPerVolume) and the local voxel (or tile) value.
using BaseT = BasePointScatter<PointAccessorType, RandomGenerator, InterruptType> |
|
inline |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
|
inline |
|
inlineprotectedinherited |
Return a random floating point number between 0.5 -+ mSpread/2.
|
inlineprotectedinherited |
Return a random floating point number between zero and one.
|
inlineinherited |
|
inlineprotectedinherited |
|
inline |
This is the main functor method implementing the actual scattering of points.
|
inline |
|
inlineprotectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |