14 #ifndef OPENVDB_POINTS_POINT_SCATTER_HAS_BEEN_INCLUDED
15 #define OPENVDB_POINTS_POINT_SCATTER_HAS_BEEN_INCLUDED
17 #include <type_traits>
33 #include <tbb/parallel_sort.h>
34 #include <tbb/parallel_for.h>
74 typename RandGenT = std::mt19937,
75 typename PositionArrayT = TypedAttributeArray<Vec3f, NullCodec>,
76 typename PointDataGridT = Grid<
78 typename InterrupterT = util::NullInterrupter>
79 inline typename PointDataGridT::Ptr
82 const unsigned int seed = 0,
83 const float spread = 1.0
f,
84 InterrupterT* interrupter =
nullptr);
103 typename RandGenT = std::mt19937,
104 typename PositionArrayT = TypedAttributeArray<Vec3f, NullCodec>,
105 typename PointDataGridT = Grid<
107 typename InterrupterT = util::NullInterrupter>
108 inline typename PointDataGridT::Ptr
110 const float pointsPerVoxel,
111 const unsigned int seed = 0,
112 const float spread = 1.0
f,
113 InterrupterT* interrupter =
nullptr);
135 typename RandGenT = std::mt19937,
136 typename PositionArrayT = TypedAttributeArray<Vec3f, NullCodec>,
137 typename PointDataGridT = Grid<
139 typename InterrupterT = util::NullInterrupter>
140 inline typename PointDataGridT::Ptr
142 const float pointsPerVoxel,
143 const unsigned int seed = 0,
144 const float spread = 1.0
f,
145 InterrupterT* interrupter =
nullptr);
153 #endif // OPENVDB_POINTS_POINT_SCATTER_HAS_BEEN_INCLUDED
GLdouble GLdouble GLint GLint const GLdouble * points
#define OPENVDB_USE_VERSION_NAMESPACE
Methods for counting points in VDB Point grids.
Defined various multi-threaded utility functions for trees.
PointDataGridT::Ptr nonUniformPointScatter(const GridT &grid, const float pointsPerVoxel, const unsigned int seed, const float spread, InterrupterT *interrupter)
Non uniformly scatter points per active voxel. The pointsPerVoxel value is used to weight each grids ...
PointDataGridT::Ptr uniformPointScatter(const GridT &grid, const Index64 count, const unsigned int seed, const float spread, InterrupterT *interrupter)
The free functions depend on the following class:
A LeafManager manages a linear array of pointers to a given tree's leaf nodes, as well as optional au...
Attribute Array storage templated on type and compression codec.
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
PointDataGridT::Ptr denseUniformPointScatter(const GridT &grid, const float pointsPerVoxel, const unsigned int seed, const float spread, InterrupterT *interrupter)
Uniformly scatter a fixed number of points per active voxel. If the pointsPerVoxel value provided is ...