OpenVDB  6.1.0
Classes | Namespaces | Functions
PointGroup.h File Reference

Point group manipulation in a VDB Point Grid. More...

#include <openvdb/openvdb.h>
#include "IndexIterator.h"
#include "IndexFilter.h"
#include "AttributeSet.h"
#include "PointDataGrid.h"
#include "PointAttribute.h"
#include "PointCount.h"
#include <tbb/parallel_reduce.h>
#include <algorithm>
#include <random>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  CopyGroupOp< PointDataTreeType >
 Copy a group attribute value from one group offset to another. More...
 
struct  SetGroupOp< PointDataTree, Member >
 Set membership on or off for the specified group. More...
 
struct  SetGroupFromIndexOp< PointDataTree, PointIndexTree, Remove >
 
struct  SetGroupByFilterOp< PointDataTree, FilterT, IterT >
 
class  GroupInfo
 Convenience class with methods for analyzing group data. More...
 

Namespaces

 openvdb
 
 openvdb::v6_1
 
 openvdb::v6_1::points
 
 openvdb::v6_1::points::point_group_internal
 

Functions

void deleteMissingPointGroups (std::vector< std::string > &groups, const AttributeSet::Descriptor &descriptor)
 Delete any group that is not present in the Descriptor. More...
 
template<typename PointDataTree >
void appendGroup (PointDataTree &tree, const Name &group)
 Appends a new empty group to the VDB tree. More...
 
template<typename PointDataTree >
void appendGroups (PointDataTree &tree, const std::vector< Name > &groups)
 Appends new empty groups to the VDB tree. More...
 
template<typename PointDataTree >
void dropGroup (PointDataTree &tree, const Name &group, const bool compact=true)
 Drops an existing group from the VDB tree. More...
 
template<typename PointDataTree >
void dropGroups (PointDataTree &tree, const std::vector< Name > &groups)
 Drops existing groups from the VDB tree, the tree is compacted after dropping. More...
 
template<typename PointDataTree >
void dropGroups (PointDataTree &tree)
 Drops all existing groups from the VDB tree, the tree is compacted after dropping. More...
 
template<typename PointDataTree >
void compactGroups (PointDataTree &tree)
 Compacts existing groups of a VDB Tree to use less memory if possible. More...
 
template<typename PointDataTree , typename PointIndexTree >
void setGroup (PointDataTree &tree, const PointIndexTree &indexTree, const std::vector< short > &membership, const Name &group, const bool remove=false)
 Sets group membership from a PointIndexTree-ordered vector. More...
 
template<typename PointDataTree >
void setGroup (PointDataTree &tree, const Name &group, const bool member=true)
 Sets membership for the specified group for all points (on/off). More...
 
template<typename PointDataTree , typename FilterT >
void setGroupByFilter (PointDataTree &tree, const Name &group, const FilterT &filter)
 Sets group membership based on a provided filter. More...
 
template<typename PointDataTree >
void setGroupByRandomTarget (PointDataTree &tree, const Name &group, const Index64 targetPoints, const unsigned int seed=0)
 
template<typename PointDataTree >
void setGroupByRandomPercentage (PointDataTree &tree, const Name &group, const float percentage=10.0f, const unsigned int seed=0)
 

Detailed Description

Point group manipulation in a VDB Point Grid.

Author
Dan Bailey