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);
 
   45template <
typename Po
intDataTreeT>
 
   53template <
typename Po
intDataTreeT>
 
   55                         const std::vector<Name>& groups);
 
   63template <
typename Po
intDataTreeT>
 
   64inline void dropGroup(  PointDataTreeT& tree,
 
   66                        const bool compact = 
true);
 
   72template <
typename Po
intDataTreeT>
 
   74                        const std::vector<Name>& groups);
 
   79template <
typename Po
intDataTreeT>
 
   85template <
typename Po
intDataTreeT>
 
   97template <
typename Po
intDataTreeT, 
typename Po
intIndexTreeT>
 
   98inline void setGroup(   PointDataTreeT& tree,
 
   99                        const PointIndexTreeT& indexTree,
 
  100                        const std::vector<short>& membership,
 
  102                        const bool remove = 
false);
 
  109template <
typename Po
intDataTreeT>
 
  110inline void setGroup(   PointDataTreeT& tree,
 
  112                        const bool member = 
true);
 
  119template <
typename Po
intDataTreeT, 
typename FilterT>
 
  122                                const FilterT& filter);
 
Set of Attribute Arrays which tracks metadata about each array.
Index filters primarily designed to be used with a FilterIndexIter.
Point attribute manipulation in a VDB Point Grid.
Methods for counting points in VDB Point grids.
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
void dropGroups(PointDataTreeT &tree, const std::vector< Name > &groups)
Drops existing groups from the VDB tree, the tree is compacted after dropping.
Definition PointGroupImpl.h:329
void setGroup(PointDataTreeT &tree, const PointIndexTreeT &indexTree, const std::vector< short > &membership, const Name &group, const bool remove=false)
Sets group membership from a PointIndexTree-ordered vector.
Definition PointGroupImpl.h:438
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
void compactGroups(PointDataTreeT &tree)
Compacts existing groups of a VDB Tree to use less memory if possible.
Definition PointGroupImpl.h:377
void appendGroup(PointDataTreeT &tree, const Name &group)
Appends a new empty group to the VDB tree.
Definition PointGroupImpl.h:209
void appendGroups(PointDataTreeT &tree, const std::vector< Name > &groups)
Appends new empty groups to the VDB tree.
Definition PointGroupImpl.h:280
void setGroupByFilter(PointDataTreeT &tree, const Name &group, const FilterT &filter)
Sets group membership based on a provided filter.
Definition PointGroupImpl.h:542
void dropGroup(PointDataTreeT &tree, const Name &group, const bool compact=true)
Drops an existing group from the VDB tree.
Definition PointGroupImpl.h:296
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