OpenVDB
12.0.1
|
Space-partitioning acceleration structure for points. Partitions the points into voxels to accelerate range and nearest neighbor searches. More...
#include "PointPartitioner.h"
#include <openvdb/thread/Threading.h>
#include <openvdb/version.h>
#include <openvdb/Exceptions.h>
#include <openvdb/Grid.h>
#include <openvdb/Types.h>
#include <openvdb/math/Transform.h>
#include <openvdb/tree/LeafManager.h>
#include <openvdb/tree/LeafNode.h>
#include <openvdb/tree/Tree.h>
#include <openvdb/util/Assert.h>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <atomic>
#include <algorithm>
#include <cmath>
#include <deque>
#include <iostream>
#include <type_traits>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
struct | SameLeafConfig< Dim1, NodeT2 > |
struct | PointIndexLeafNode< T, Log2Dim > |
struct | PointIndexIterator< TreeType > |
Accelerated range and nearest-neighbor searches for point index grids. More... | |
struct | PointIndexFilter< PointArray, TreeType > |
struct | PointIndexLeafNode< T, Log2Dim > |
struct | SameLeafConfig< Dim1, openvdb::tools::PointIndexLeafNode< T2, Dim1 > > |
Namespaces | |
openvdb | |
openvdb::v12_0 | |
openvdb::v12_0::tree | |
openvdb::v12_0::tools | |
Macros | |
#define | VMASK_ this->getValueMask() |
Typedefs | |
using | PointIndexTree = tree::Tree< tree::RootNode< tree::InternalNode< tree::InternalNode< PointIndexLeafNode< PointIndex32, 3 >, 4 >, 5 >>> |
Point index tree configured to match the default OpenVDB tree configuration. More... | |
using | PointIndexGrid = Grid< PointIndexTree > |
Point index grid. More... | |
Functions | |
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.
#define VMASK_ this->getValueMask() |