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