10 #ifndef OPENVDB_POINTS_POINT_GROUP_HAS_BEEN_INCLUDED 11 #define OPENVDB_POINTS_POINT_GROUP_HAS_BEEN_INCLUDED 22 #include <tbb/parallel_reduce.h> 39 const AttributeSet::Descriptor& descriptor);
45 template <
typename Po
intDataTreeT>
53 template <
typename Po
intDataTreeT>
55 const std::vector<Name>& groups);
63 template <
typename Po
intDataTreeT>
64 inline void dropGroup( PointDataTreeT& tree,
66 const bool compact =
true);
72 template <
typename Po
intDataTreeT>
74 const std::vector<Name>& groups);
79 template <
typename Po
intDataTreeT>
85 template <
typename Po
intDataTreeT>
97 template <
typename Po
intDataTreeT,
typename Po
intIndexTreeT>
98 inline void setGroup( PointDataTreeT& tree,
99 const PointIndexTreeT& indexTree,
100 const std::vector<short>& membership,
102 const bool remove =
false);
109 template <
typename Po
intDataTreeT>
110 inline void setGroup( PointDataTreeT& tree,
112 const bool member =
true);
119 template <
typename Po
intDataTreeT,
typename FilterT>
122 const FilterT& filter);
130 #endif // OPENVDB_POINTS_POINT_GROUP_HAS_BEEN_INCLUDED void deleteMissingPointGroups(std::vector< std::string > &groups, const AttributeSet::Descriptor &descriptor)
Delete any group that is not present in the Descriptor.
Definition: PointGroupImpl.h:195
Methods for counting points in VDB Point grids.
void appendGroup(PointDataTreeT &tree, const Name &group)
Appends a new empty group to the VDB tree.
Definition: PointGroupImpl.h:209
Point attribute manipulation in a VDB Point Grid.
Index filters primarily designed to be used with a FilterIndexIter.
void appendGroups(PointDataTreeT &tree, const std::vector< Name > &groups)
Appends new empty groups to the VDB tree.
Definition: PointGroupImpl.h:280
void dropGroups(PointDataTreeT &tree)
Drops all existing groups from the VDB tree, the tree is compacted after dropping.
Definition: PointGroupImpl.h:346
void compactGroups(PointDataTreeT &tree)
Compacts existing groups of a VDB Tree to use less memory if possible.
Definition: PointGroupImpl.h:377
Definition: Exceptions.h:13
void dropGroup(PointDataTreeT &tree, const Name &group, const bool compact=true)
Drops an existing group from the VDB tree.
Definition: PointGroupImpl.h:296
void setGroupByFilter(PointDataTreeT &tree, const Name &group, const FilterT &filter)
Sets group membership based on a provided filter.
Definition: PointGroupImpl.h:542
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
void setGroup(PointDataTreeT &tree, const Name &group, const bool member=true)
Sets membership for the specified group for all points (on/off).
Definition: PointGroupImpl.h:508
std::string Name
Definition: Name.h:19
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:121
Set of Attribute Arrays which tracks metadata about each array.
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:218