HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 "Count.h"
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>
+ Include dependency graph for FindActiveValues.h:

Go to the source code of this file.

Classes

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

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::tools
 

Functions

template<typename TreeT >
bool openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 > > 
openvdb::OPENVDB_VERSION_NAME::tools::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.

Definition in file FindActiveValues.h.