40 #ifndef OPENVDB_POINTS_RASTERIZE_SDF_HAS_BEEN_INCLUDED
41 #define OPENVDB_POINTS_RASTERIZE_SDF_HAS_BEEN_INCLUDED
54 #include <unordered_map>
56 #include <tbb/task_group.h>
57 #include <tbb/parallel_reduce.h>
76 template <
typename PointDataGridT,
78 typename FilterT = NullFilter,
79 typename InterrupterT = util::NullInterrupter>
83 const Real halfband = LEVEL_SET_HALF_WIDTH,
85 const FilterT&
filter = NullFilter(),
86 InterrupterT* interrupter =
nullptr);
100 template <
typename PointDataGridT,
101 typename RadiusT =
float,
103 typename FilterT = NullFilter,
104 typename InterrupterT = util::NullInterrupter>
109 const Real halfband = LEVEL_SET_HALF_WIDTH,
111 const FilterT&
filter = NullFilter(),
112 InterrupterT* interrupter =
nullptr);
138 template <
typename PointDataGridT,
141 typename FilterT = NullFilter,
142 typename InterrupterT = util::NullInterrupter>
146 const std::vector<std::string>& attributes,
147 const Real halfband = LEVEL_SET_HALF_WIDTH,
149 const FilterT&
filter = NullFilter(),
150 InterrupterT* interrupter =
nullptr);
176 template <
typename PointDataGridT,
178 typename RadiusT =
float,
180 typename FilterT = NullFilter,
181 typename InterrupterT = util::NullInterrupter>
185 const std::vector<std::string>& attributes,
187 const Real halfband = LEVEL_SET_HALF_WIDTH,
189 const FilterT&
filter = NullFilter(),
190 InterrupterT* interrupter =
nullptr);
210 template <
typename PointDataGridT,
212 typename FilterT = NullFilter,
213 typename InterrupterT = util::NullInterrupter>
217 const Real searchRadius,
218 const Real halfband = LEVEL_SET_HALF_WIDTH,
220 const FilterT&
filter = NullFilter(),
221 InterrupterT* interrupter =
nullptr);
246 template <
typename PointDataGridT,
247 typename RadiusT =
float,
249 typename FilterT = NullFilter,
250 typename InterrupterT = util::NullInterrupter>
254 const Real radiusScale,
255 const Real searchRadius,
256 const Real halfband = LEVEL_SET_HALF_WIDTH,
258 const FilterT&
filter = NullFilter(),
259 InterrupterT* interrupter =
nullptr);
292 template <
typename PointDataGridT,
295 typename FilterT = NullFilter,
296 typename InterrupterT = util::NullInterrupter>
300 const Real searchRadius,
301 const std::vector<std::string>& attributes,
302 const Real halfband = LEVEL_SET_HALF_WIDTH,
304 const FilterT&
filter = NullFilter(),
305 InterrupterT* interrupter =
nullptr);
342 template <
typename PointDataGridT,
344 typename RadiusT =
float,
346 typename FilterT = NullFilter,
347 typename InterrupterT = util::NullInterrupter>
351 const Real radiusScale,
352 const Real searchRadius,
353 const std::vector<std::string>& attributes,
354 const Real halfband = LEVEL_SET_HALF_WIDTH,
356 const FilterT&
filter = NullFilter(),
357 InterrupterT* interrupter =
nullptr);
365 #endif //OPENVDB_POINTS_RASTERIZE_SDF_HAS_BEEN_INCLUDED
GLdouble GLdouble GLint GLint const GLdouble * points
GLsizei const GLchar *const * string
SdfT::Ptr rasterizeSmoothSpheres(const PointDataGridT &points, const Real radius, const Real searchRadius, const Real halfband, math::Transform::Ptr transform, const FilterT &filter, InterrupterT *interrupter)
Smoothed point distribution based sphere stamping with a uniform radius.
NumericAttributeTypes::Append< Vec3AttributeTypes >::Append< Mat3AttributeTypes >::Append< Mat4AttributeTypes >::Append< QuatAttributeTypes >::Append< points::GroupAttributeArray >::Append< points::StringAttributeArray >::Append< points::TypedAttributeArray< bool >> AttributeTypes
The attribute array types which OpenVDB will register by default.
Framework methods for rasterizing PointDataGrid data to Trees.
#define OPENVDB_USE_VERSION_NAMESPACE
std::vector< GridBase::Ptr > GridPtrVec
GA_API const UT_StringHolder scale
IMATH_NAMESPACE::V2f float
Defined various multi-threaded utility functions for trees.
GA_API const UT_StringHolder transform
Functions to perform multi threaded reductions and analysis of arbitrary point attribute types...
SdfT::Ptr rasterizeSpheres(const PointDataGridT &points, const Real radius, const Real halfband, math::Transform::Ptr transform, const FilterT &filter, InterrupterT *interrupter)
Narrow band sphere stamping with a uniform radius.
#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...
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter