10#ifndef OPENVDB_POINTS_POINT_MASK_HAS_BEEN_INCLUDED
11#define OPENVDB_POINTS_POINT_MASK_HAS_BEEN_INCLUDED
20#include <tbb/combinable.h>
34template <
typename PointDataTreeT,
35 typename MaskTreeT =
typename PointDataTreeT::template ValueConverter<bool>::Type,
36 typename FilterT = NullFilter>
37inline typename std::enable_if<std::is_base_of<TreeBase, PointDataTreeT>::value &&
38 std::is_same<typename MaskTreeT::ValueType, bool>::value,
typename MaskTreeT::Ptr>::type
40 const FilterT& filter = NullFilter(),
41 bool threaded =
true);
48template <
typename PointDataGridT,
49 typename MaskGridT =
typename PointDataGridT::template ValueConverter<bool>::Type,
50 typename FilterT = NullFilter>
51inline typename std::enable_if<std::is_base_of<GridBase, PointDataGridT>::value &&
52 std::is_same<typename MaskGridT::ValueType, bool>::value,
typename MaskGridT::Ptr>::type
54 const FilterT& filter = NullFilter(),
55 bool threaded =
true);
63template <
typename PointDataGridT,
64 typename MaskT =
typename PointDataGridT::template ValueConverter<bool>::Type,
65 typename FilterT = NullFilter>
66inline typename std::enable_if<std::is_same<typename MaskT::ValueType, bool>::value,
67 typename MaskT::Ptr>::type
69 const openvdb::math::Transform& transform,
70 const FilterT& filter = NullFilter(),
71 bool threaded =
true);
76 template <
typename LeafT>
77 void reset(LeafT&,
size_t = 0) { }
79 template <
typename IterT>
85template <
typename DeformerT>
Index filters primarily designed to be used with a FilterIndexIter.
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
Vec3< double > Vec3d
Definition Vec3.h:665
std::enable_if< std::is_base_of< TreeBase, PointDataTreeT >::value &&std::is_same< typenameMaskTreeT::ValueType, bool >::value, typenameMaskTreeT::Ptr >::type convertPointsToMask(const PointDataTreeT &tree, const FilterT &filter=NullFilter(), bool threaded=true)
Extract a Mask Tree from a Point Data Tree.
Definition PointMaskImpl.h:302
Definition Exceptions.h:13
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:218