OpenVDB  12.0.0
Classes | Namespaces | Functions
FindActiveValues.h File Reference

Finds the active values and tiles in a tree that intersects a bounding box. Methods are provided that count the number of active values and tiles, test for the existence of active values and tiles, and return a list of the active tiles that intersect a bbox. More...

#include <vector>
#include <openvdb/version.h>
#include <openvdb/Types.h>
#include <openvdb/tree/ValueAccessor.h>
#include <openvdb/openvdb.h>
#include "Count.h"
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>

Go to the source code of this file.

Classes

struct  TileData< ValueType >
 Struct that encodes a bounding box, value and level of a tile. More...
 
class  FindActiveValues< TreeT >
 Finds the active values in a tree which intersects a bounding box. More...
 
struct  FindActiveValues< TreeT >::RootChild
 
struct  TileData< ValueType >
 Struct that encodes a bounding box, value and level of a tile. More...
 

Namespaces

 openvdb
 
 openvdb::v12_0
 
 openvdb::v12_0::tools
 

Functions

template<typename TreeT >
bool anyActiveValues (const TreeT &tree, const CoordBBox &bbox)
 Returns true if the bounding box intersects any of the active values in a tree, i.e. either active voxels or active tiles. More...
 
template<typename TreeT >
bool anyActiveVoxels (const TreeT &tree, const CoordBBox &bbox)
 Returns true if the bounding box intersects any of the active voxels in a tree, i.e. ignores active tile values. More...
 
template<typename TreeT >
bool anyActiveTiles (const TreeT &tree, const CoordBBox &bbox)
 Returns true if the bounding box intersects any of the active tiles in a tree, i.e. ignores active leaf values. More...
 
template<typename TreeT >
bool noActiveValues (const TreeT &tree, const CoordBBox &bbox)
 Returns true if the bounding box intersects none of the active values in a tree, i.e. neither active voxels or active tiles. More...
 
template<typename TreeT >
Index64 countActiveValues (const TreeT &tree, const CoordBBox &bbox)
 Returns the number of active values that intersects a bounding box intersects, i.e. the count includes both active voxels and virtual voxels in active tiles. More...
 
template<typename TreeT >
std::vector< TileData< typename TreeT::ValueType > > activeTiles (const TreeT &tree, const CoordBBox &bbox)
 Return a vector with bounding boxes that represents all the intersections between active tiles in the tree and the specified bounding box. More...
 

Detailed Description

Finds the active values and tiles in a tree that intersects a bounding box. Methods are provided that count the number of active values and tiles, test for the existence of active values and tiles, and return a list of the active tiles that intersect a bbox.

Author
Ken Museth
Warning
For repeated calls to the free-standing functions defined below consider instead creating an instance of FindActiveValues and then repeatedly call its member methods. This assumes the tree to be constant between calls but is sightly faster.