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> 138 template <
typename PointDataGridT,
139 typename SdfT =
typename PointDataGridT::template ValueConverter<float>::Type,
142 rasterizeSdf(
const PointDataGridT& points,
const SettingsT& settings);
154 template <
typename AttributeTs = TypeList<>,
155 typename RadiusAttributeT =
float,
156 typename FilterT = NullFilter>
170 std::string radius =
"";
222 const FilterT* filter =
nullptr;
233 template <
typename AttributeTs = TypeList<>,
234 typename RadiusAttributeT =
float,
235 typename FilterT = NullFilter>
237 :
protected SphereSettings<AttributeTs, RadiusAttributeT, FilterT>
247 using BaseT::radiusScale;
251 using BaseT::halfband;
252 using BaseT::transform;
253 using BaseT::attributes;
255 using BaseT::interrupter;
286 template <
typename AttributeTs = TypeList<>,
287 typename RadiusAttributeT = Vec3f,
288 typename FilterT = NullFilter>
290 :
protected SphereSettings<AttributeTs, RadiusAttributeT, FilterT>
297 using BaseT::halfband;
298 using BaseT::transform;
299 using BaseT::attributes;
301 using BaseT::interrupter;
307 using BaseT::radiusScale;
315 std::string xform =
"xform";
321 std::string pws =
"";
335 #include "impl/PointRasterizeSDFImpl.h" 338 #endif //OPENVDB_POINTS_RASTERIZE_SDF_HAS_BEEN_INCLUDED std::vector< std::string > attributes
Definition: PointRasterizeSDF.h:217
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:188
Framework methods for rasterizing PointDataGrid data to Trees.
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
Anisotropic point rasterization based on the principal component analysis of point neighbours...
Definition: PointRasterizeSDF.h:289
std::vector< GridBase::Ptr > GridPtrVec
Definition: Grid.h:508
RadiusAttributeT RadiusAttributeType
Definition: PointRasterizeSDF.h:160
typename PromoteType< RadiusAttributeT >::Highest RadiusScaleT
Definition: PointRasterizeSDF.h:180
static const Real LEVEL_SET_HALF_WIDTH
Definition: Types.h:528
Defined various multi-threaded utility functions for trees.
FilterT FilterType
Definition: PointRasterizeSDF.h:161
GridPtrVec rasterizeSdf(const PointDataGridT &points, const SettingsT &settings)
Perform point rasterzation to produce a signed distance field.
Definition: PointRasterizeSDFImpl.h:1525
Selectively extract and filter point data using a custom filter operator.
AttributeTs AttributeTypes
Definition: PointRasterizeSDF.h:159
Definition: Exceptions.h:13
Smoothed point distribution based sphere stamping with a uniform radius or varying radius and optiona...
Definition: PointRasterizeSDF.h:236
Base class for interrupters.
Definition: NullInterrupter.h:25
Generic settings for narrow band spherical stamping with a uniform or varying radius and optionally w...
Definition: PointRasterizeSDF.h:157
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:121
Functions to perform multi threaded reductions and analysis of arbitrary point attribute types...
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:218
double Real
Definition: Types.h:40