10 #ifndef OPENVDB_POINTS_POINT_MASK_HAS_BEEN_INCLUDED 11 #define OPENVDB_POINTS_POINT_MASK_HAS_BEEN_INCLUDED 19 #include <tbb/combinable.h> 21 #include <type_traits> 33 template <
typename PointDataTreeT,
34 typename MaskTreeT =
typename PointDataTreeT::template ValueConverter<bool>::Type,
35 typename FilterT = NullFilter>
36 inline typename std::enable_if<std::is_base_of<TreeBase, PointDataTreeT>::value &&
37 std::is_same<typename MaskTreeT::ValueType, bool>::value,
typename MaskTreeT::Ptr>::type
39 const FilterT& filter = NullFilter(),
40 bool threaded =
true);
47 template <
typename PointDataGridT,
48 typename MaskGridT =
typename PointDataGridT::template ValueConverter<bool>::Type,
49 typename FilterT = NullFilter>
50 inline typename std::enable_if<std::is_base_of<GridBase, PointDataGridT>::value &&
51 std::is_same<typename MaskGridT::ValueType, bool>::value,
typename MaskGridT::Ptr>::type
53 const FilterT& filter = NullFilter(),
54 bool threaded =
true);
62 template <
typename PointDataGridT,
63 typename MaskT =
typename PointDataGridT::template ValueConverter<bool>::Type,
64 typename FilterT = NullFilter>
65 inline typename std::enable_if<std::is_same<typename MaskT::ValueType, bool>::value,
66 typename MaskT::Ptr>::type
68 const openvdb::math::Transform& transform,
69 const FilterT& filter = NullFilter(),
70 bool threaded =
true);
75 template <
typename LeafT>
76 void reset(LeafT&,
size_t = 0) { }
78 template <
typename IterT>
79 void apply(Vec3d&, IterT&)
const { }
84 template <
typename DeformerT>
87 static const bool IndexSpace =
false;
96 #endif // OPENVDB_POINTS_POINT_MASK_HAS_BEEN_INCLUDED
Index filters primarily designed to be used with a FilterIndexIter.
Definition: Exceptions.h:13
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
std::enable_if< std::is_same< typename MaskT::ValueType, bool >::value, typename MaskT::Ptr >::type convertPointsToMask(const PointDataGridT &grid, const openvdb::math::Transform &transform, const FilterT &filter=NullFilter(), bool threaded=true)
Extract a Mask Grid from a Point Data Grid using a new transform.
Definition: PointMaskImpl.h:335
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:212