68 #ifndef OPENVDB_POINTS_RASTERIZE_SDF_HAS_BEEN_INCLUDED 69 #define OPENVDB_POINTS_RASTERIZE_SDF_HAS_BEEN_INCLUDED 79 #include <openvdb/thread/Threading.h> 83 #include <unordered_map> 85 #include <tbb/task_group.h> 86 #include <tbb/parallel_reduce.h> 137 template <
typename PointDataGridT,
138 typename SdfT =
typename PointDataGridT::template ValueConverter<float>::Type,
141 rasterizeSdf(
const PointDataGridT& points,
const SettingsT& settings);
153 template <
typename AttributeTs = TypeList<>,
154 typename RadiusAttributeT =
float,
155 typename FilterT = NullFilter>
169 std::string radius =
"";
221 const FilterT* filter =
nullptr;
232 template <
typename AttributeTs = TypeList<>,
233 typename RadiusAttributeT =
float,
234 typename FilterT = NullFilter>
236 :
protected SphereSettings<AttributeTs, RadiusAttributeT, FilterT>
246 using BaseT::radiusScale;
250 using BaseT::halfband;
251 using BaseT::transform;
252 using BaseT::attributes;
254 using BaseT::interrupter;
281 template <
typename AttributeTs = TypeList<>,
282 typename RadiusAttributeT = Vec3f,
283 typename FilterT = NullFilter>
285 :
protected SphereSettings<AttributeTs, RadiusAttributeT, FilterT>
292 using BaseT::halfband;
293 using BaseT::transform;
294 using BaseT::attributes;
296 using BaseT::interrupter;
302 using BaseT::radiusScale;
314 std::string pws =
"";
324 #endif //OPENVDB_POINTS_RASTERIZE_SDF_HAS_BEEN_INCLUDED Framework methods for rasterizing PointDataGrid data to Trees.
std::vector< GridBase::Ptr > GridPtrVec
Definition: Grid.h:508
GridPtrVec rasterizeSdf(const PointDataGridT &points, const SettingsT &settings)
Perform point rasterzation to produce a signed distance field.
Definition: PointRasterizeSDFImpl.h:1525
Anisotropic point rasterization based on the principal component analysis of point neighbours...
Definition: PointRasterizeSDF.h:284
Defined various multi-threaded utility functions for trees.
Base class for interrupters.
Definition: NullInterrupter.h:25
Selectively extract and filter point data using a custom filter operator.
RadiusAttributeT RadiusAttributeType
Definition: PointRasterizeSDF.h:159
Smoothed point distribution based sphere stamping with a uniform radius or varying radius and optiona...
Definition: PointRasterizeSDF.h:235
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.
Definition: openvdb.h:186
Definition: Exceptions.h:13
static const Real LEVEL_SET_HALF_WIDTH
Definition: Types.h:532
double Real
Definition: Types.h:60
std::vector< std::string > attributes
Definition: PointRasterizeSDF.h:216
typename PromoteType< RadiusAttributeT >::Highest RadiusScaleT
Definition: PointRasterizeSDF.h:179
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
MatType rotation(const Quat< typename MatType::value_type > &q, typename MatType::value_type eps=static_cast< typename MatType::value_type >(1.0e-8))
Return the rotation matrix specified by the given quaternion.
Definition: Mat.h:172
AttributeTs AttributeTypes
Definition: PointRasterizeSDF.h:158
Generic settings for narrow band spherical stamping with a uniform or varying radius and optionally w...
Definition: PointRasterizeSDF.h:156
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:121
FilterT FilterType
Definition: PointRasterizeSDF.h:160
Functions to perform multi threaded reductions and analysis of arbitrary point attribute types...
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:218