HDK
|
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 <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 | openvdb::OPENVDB_VERSION_NAME::tree::SameLeafConfig< Index, typename > |
struct | openvdb::OPENVDB_VERSION_NAME::tools::PointIndexLeafNode< T, Log2Dim > |
struct | openvdb::OPENVDB_VERSION_NAME::tools::PointIndexIterator< TreeType > |
Accelerated range and nearest-neighbor searches for point index grids. More... | |
struct | openvdb::OPENVDB_VERSION_NAME::tools::PointIndexFilter< PointArray, TreeType > |
struct | openvdb::OPENVDB_VERSION_NAME::tools::PointIndexLeafNode< T, Log2Dim > |
struct | openvdb::OPENVDB_VERSION_NAME::tree::SameLeafConfig< Dim1, openvdb::tools::PointIndexLeafNode< T2, Dim1 > > |
Namespaces | |
openvdb | |
openvdb::OPENVDB_VERSION_NAME | |
openvdb::OPENVDB_VERSION_NAME::tree | |
openvdb::OPENVDB_VERSION_NAME::tools | |
Macros | |
#define | VMASK_ this->getValueMask() |
Typedefs | |
using | openvdb::OPENVDB_VERSION_NAME::tools::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 | openvdb::OPENVDB_VERSION_NAME::tools::PointIndexGrid = Grid< PointIndexTree > |
Point index grid. More... | |
Functions | |
template<typename GridT , typename PointArrayT > | |
GridT::Ptr | openvdb::OPENVDB_VERSION_NAME::tools::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 | openvdb::OPENVDB_VERSION_NAME::tools::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 | openvdb::OPENVDB_VERSION_NAME::tools::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 | openvdb::OPENVDB_VERSION_NAME::tools::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 | openvdb::OPENVDB_VERSION_NAME::tools::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.
Definition in file PointIndexGrid.h.
#define VMASK_ this->getValueMask() |
Definition at line 1610 of file PointIndexGrid.h.