Space-partitioning acceleration structure for points. Partitions the points into voxels to accelerate range and nearest neighbor searches.
More...
|
template<typename GridT , typename PointArrayT > |
GridT::Ptr | createPointIndexGrid (const PointArrayT &points, double voxelSize) |
| Partition points into a point index grid to accelerate range and nearest-neighbor searches. More...
|
|
template<typename GridT , typename PointArrayT > |
GridT::Ptr | createPointIndexGrid (const PointArrayT &points, const math::Transform &xform) |
| Partition points into a point index grid to accelerate range and nearest-neighbor searches. More...
|
|
template<typename PointArrayT , typename GridT > |
bool | isValidPartition (const PointArrayT &points, const GridT &grid) |
| Return true if the given point index grid represents a valid partitioning of the given point array. More...
|
|
template<typename GridT , typename PointArrayT > |
GridT::ConstPtr | getValidPointIndexGrid (const PointArrayT &points, const typename GridT::ConstPtr &grid) |
| Repartition the points if needed, otherwise return the input grid. More...
|
|
template<typename GridT , typename PointArrayT > |
GridT::Ptr | getValidPointIndexGrid (const PointArrayT &points, const typename GridT::Ptr &grid) |
| Repartition the points if needed, otherwise return the input grid. More...
|
|
template<typename TreeType , typename PointArray > |
void | constructPointTree (TreeType &tree, const math::Transform &xform, const PointArray &points) |
| Construct a PointIndexTree . More...
|
|
template<typename T > |
void | dequeToArray (const std::deque< T > &d, std::unique_ptr< T[]> &a, size_t &size) |
|
void | constructExclusiveRegions (std::vector< CoordBBox > ®ions, const CoordBBox &bbox, const CoordBBox &ibox) |
|
template<typename RangeFilterType , typename LeafNodeType > |
void | filteredPointIndexSearchVoxels (RangeFilterType &filter, const LeafNodeType &leaf, const Coord &min, const Coord &max) |
|
template<typename RangeFilterType , typename ConstAccessor > |
void | filteredPointIndexSearch (RangeFilterType &filter, ConstAccessor &acc, const CoordBBox &bbox) |
|
template<typename RangeDeque , typename LeafNodeType > |
void | pointIndexSearchVoxels (RangeDeque &rangeList, const LeafNodeType &leaf, const Coord &min, const Coord &max) |
|
template<typename RangeDeque , typename ConstAccessor > |
void | pointIndexSearch (RangeDeque &rangeList, ConstAccessor &acc, const CoordBBox &bbox) |
|
Space-partitioning acceleration structure for points. Partitions the points into voxels to accelerate range and nearest neighbor searches.
- Note
- Leaf nodes store a single point-index array and the voxels are only integer offsets into that array. The actual points are never stored in the acceleration structure, only offsets into an external array.
- Author
- Mihai Alden