OpenVDB 13.0.0

Loading...
Searching...
No Matches
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
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
namespace | openvdb
namespace | openvdb::v13_0
namespace | openvdb::v13_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.
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.
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.
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.
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.
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.

## 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.