40 #ifndef OPENVDB_POINTS_RASTERIZE_SDF_HAS_BEEN_INCLUDED
41 #define OPENVDB_POINTS_RASTERIZE_SDF_HAS_BEEN_INCLUDED
55 #include <unordered_map>
57 #include <tbb/task_group.h>
58 #include <tbb/parallel_reduce.h>
77 template <
typename PointDataGridT,
79 typename FilterT = NullFilter,
80 typename InterrupterT = util::NullInterrupter>
84 const Real halfband = LEVEL_SET_HALF_WIDTH,
86 const FilterT&
filter = NullFilter(),
87 InterrupterT* interrupter =
nullptr);
101 template <
typename PointDataGridT,
102 typename RadiusT =
float,
104 typename FilterT = NullFilter,
105 typename InterrupterT = util::NullInterrupter>
108 const std::string& radius,
109 const Real
scale = 1.0,
110 const Real halfband = LEVEL_SET_HALF_WIDTH,
112 const FilterT&
filter = NullFilter(),
113 InterrupterT* interrupter =
nullptr);
139 template <
typename PointDataGridT,
142 typename FilterT = NullFilter,
143 typename InterrupterT = util::NullInterrupter>
147 const std::vector<std::string>& attributes,
148 const Real halfband = LEVEL_SET_HALF_WIDTH,
150 const FilterT&
filter = NullFilter(),
151 InterrupterT* interrupter =
nullptr);
177 template <
typename PointDataGridT,
179 typename RadiusT =
float,
181 typename FilterT = NullFilter,
182 typename InterrupterT = util::NullInterrupter>
185 const std::string& radius,
186 const std::vector<std::string>& attributes,
187 const Real
scale = 1.0,
188 const Real halfband = LEVEL_SET_HALF_WIDTH,
190 const FilterT&
filter = NullFilter(),
191 InterrupterT* interrupter =
nullptr);
211 template <
typename PointDataGridT,
213 typename FilterT = NullFilter,
214 typename InterrupterT = util::NullInterrupter>
218 const Real searchRadius,
219 const Real halfband = LEVEL_SET_HALF_WIDTH,
221 const FilterT&
filter = NullFilter(),
222 InterrupterT* interrupter =
nullptr);
247 template <
typename PointDataGridT,
248 typename RadiusT =
float,
250 typename FilterT = NullFilter,
251 typename InterrupterT = util::NullInterrupter>
254 const std::string& radius,
255 const Real radiusScale,
256 const Real searchRadius,
257 const Real halfband = LEVEL_SET_HALF_WIDTH,
259 const FilterT&
filter = NullFilter(),
260 InterrupterT* interrupter =
nullptr);
293 template <
typename PointDataGridT,
296 typename FilterT = NullFilter,
297 typename InterrupterT = util::NullInterrupter>
301 const Real searchRadius,
302 const std::vector<std::string>& attributes,
303 const Real halfband = LEVEL_SET_HALF_WIDTH,
305 const FilterT&
filter = NullFilter(),
306 InterrupterT* interrupter =
nullptr);
343 template <
typename PointDataGridT,
345 typename RadiusT =
float,
347 typename FilterT = NullFilter,
348 typename InterrupterT = util::NullInterrupter>
351 const std::string& radius,
352 const Real radiusScale,
353 const Real searchRadius,
354 const std::vector<std::string>& attributes,
355 const Real halfband = LEVEL_SET_HALF_WIDTH,
357 const FilterT&
filter = NullFilter(),
358 InterrupterT* interrupter =
nullptr);
366 #endif //OPENVDB_POINTS_RASTERIZE_SDF_HAS_BEEN_INCLUDED
GLdouble GLdouble GLint GLint const GLdouble * points
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
Defined various multi-threaded utility functions for trees.
GA_API const UT_StringHolder transform
IMATH_NAMESPACE::V2f IMATH_NAMESPACE::Box2i std::string this attribute is obsolete as of OpenEXR v3 float
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