OpenVDB
9.0.1
|
Accelerated range and nearest-neighbor searches for point index grids. More...
#include <openvdb/tools/PointIndexGrid.h>
Public Types | |
using | ConstAccessor = tree::ValueAccessor< const TreeType > |
using | LeafNodeType = typename TreeType::LeafNodeType |
using | ValueType = typename TreeType::ValueType |
Public Member Functions | |
PointIndexIterator () | |
PointIndexIterator (const PointIndexIterator &rhs) | |
PointIndexIterator & | operator= (const PointIndexIterator &rhs) |
PointIndexIterator (const Coord &ijk, ConstAccessor &acc) | |
Construct an iterator over the indices of the points contained in voxel (i, j, k). More... | |
PointIndexIterator (const CoordBBox &bbox, ConstAccessor &acc) | |
Construct an iterator over the indices of the points contained in the given bounding box. More... | |
void | searchAndUpdate (const Coord &ijk, ConstAccessor &acc) |
Clear the iterator and update it with the result of the given voxel query. More... | |
void | searchAndUpdate (const CoordBBox &bbox, ConstAccessor &acc) |
Clear the iterator and update it with the result of the given voxel region query. More... | |
template<typename PointArray > | |
void | searchAndUpdate (const BBoxd &bbox, ConstAccessor &acc, const PointArray &points, const math::Transform &xform) |
Clear the iterator and update it with the result of the given index-space bounding box query. More... | |
template<typename PointArray > | |
void | searchAndUpdate (const Vec3d ¢er, double radius, ConstAccessor &acc, const PointArray &points, const math::Transform &xform, bool subvoxelAccuracy=true) |
Clear the iterator and update it with the result of the given index-space radial query. More... | |
template<typename PointArray > | |
void | worldSpaceSearchAndUpdate (const BBoxd &bbox, ConstAccessor &acc, const PointArray &points, const math::Transform &xform) |
Clear the iterator and update it with the result of the given world-space bounding box query. More... | |
template<typename PointArray > | |
void | worldSpaceSearchAndUpdate (const Vec3d ¢er, double radius, ConstAccessor &acc, const PointArray &points, const math::Transform &xform, bool subvoxelAccuracy=true) |
Clear the iterator and update it with the result of the given world-space radial query. More... | |
void | reset () |
Reset the iterator to point to the first item. More... | |
const ValueType & | operator* () const |
Return a const reference to the item to which this iterator is pointing. More... | |
void | increment () |
Advance iterator to next item. More... | |
void | operator++ () |
Advance iterator to next item. More... | |
bool | next () |
Advance iterator to next item. More... | |
size_t | size () const |
Return the number of point indices in the iterator range. More... | |
bool | operator== (const PointIndexIterator &p) const |
Return true if both iterators point to the same element. More... | |
bool | operator!= (const PointIndexIterator &p) const |
bool | test () const |
Return true if this iterator is not yet exhausted. More... | |
operator bool () const | |
Return true if this iterator is not yet exhausted. More... | |
Accelerated range and nearest-neighbor searches for point index grids.
using ConstAccessor = tree::ValueAccessor<const TreeType> |
using LeafNodeType = typename TreeType::LeafNodeType |
using ValueType = typename TreeType::ValueType |
|
inline |
|
inline |
|
inline |
Construct an iterator over the indices of the points contained in voxel (i, j, k).
ijk | the voxel containing the points over which to iterate |
acc | an accessor for the grid or tree that holds the point indices |
|
inline |
Construct an iterator over the indices of the points contained in the given bounding box.
bbox | the bounding box of the voxels containing the points over which to iterate |
acc | an accessor for the grid or tree that holds the point indices |
|
inline |
Advance iterator to next item.
|
inline |
Advance iterator to next item.
true
if this iterator is not yet exhausted.
|
inline |
Return true
if this iterator is not yet exhausted.
|
inline |
|
inline |
Return a const reference to the item to which this iterator is pointing.
|
inline |
Advance iterator to next item.
|
inline |
|
inline |
Return true
if both iterators point to the same element.
|
inline |
Reset the iterator to point to the first item.
|
inline |
Clear the iterator and update it with the result of the given voxel query.
ijk | the voxel containing the points over which to iterate |
acc | an accessor for the grid or tree that holds the point indices |
|
inline |
Clear the iterator and update it with the result of the given voxel region query.
bbox | the bounding box of the voxels containing the points over which to iterate |
acc | an accessor for the grid or tree that holds the point indices |
|
inline |
Clear the iterator and update it with the result of the given index-space bounding box query.
bbox | index-space bounding box |
acc | an accessor for the grid or tree that holds the point indices |
points | world-space point array conforming to the PointArray interface |
xform | linear, uniform-scale transform (i.e., cubical voxels) |
|
inline |
Clear the iterator and update it with the result of the given index-space radial query.
center | index-space center |
radius | index-space radius |
acc | an accessor for the grid or tree that holds the point indices |
points | world-space point array conforming to the PointArray interface |
xform | linear, uniform-scale transform (i.e., cubical voxels) |
subvoxelAccuracy | if true, check individual points against the search region, otherwise return all points that reside in voxels that are inside or intersect the search region |
|
inline |
Return the number of point indices in the iterator range.
|
inline |
Return true
if this iterator is not yet exhausted.
|
inline |
Clear the iterator and update it with the result of the given world-space bounding box query.
bbox | world-space bounding box |
acc | an accessor for the grid or tree that holds the point indices |
points | world-space point array conforming to the PointArray interface |
xform | linear, uniform-scale transform (i.e., cubical voxels) |
|
inline |
Clear the iterator and update it with the result of the given world-space radial query.
center | world-space center |
radius | world-space radius |
acc | an accessor for the grid or tree that holds the point indices |
points | world-space point array conforming to the PointArray interface |
xform | linear, uniform-scale transform (i.e., cubical voxels) |
subvoxelAccuracy | if true, check individual points against the search region, otherwise return all points that reside in voxels that are inside or intersect the search region |