OpenVDB
3.0.0
|
Multi-threaded space-partitioning scheme for points. More...
#include <openvdb/Types.h>
#include <openvdb/math/Transform.h>
#include <vector>
#include <deque>
#include <algorithm>
#include <boost/scoped_array.hpp>
#include <boost/integer.hpp>
#include <boost/math/special_functions/fpclassify.hpp>
#include <tbb/atomic.h>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>
#include <tbb/parallel_sort.h>
#include <tbb/task_group.h>
#include <tbb/task_scheduler_init.h>
Go to the source code of this file.
Classes | |
class | PointPartitioner< PointIndexT, Log2Dim > |
Partitions points into Log2Dim aligned buckets. More... | |
class | PointPartitioner< PointIndexT, Log2Dim >::IndexIterator |
struct | ComputeBBoxOp< PointArray > |
struct | IndexPair< IndexT > |
struct | BucketAndVoxelOffsetOp< PointArray, IndexT, VoxelOffsetT > |
struct | ComputeOffsetOp< PointArray, IndexT, VoxelOffsetT > |
struct | BucketMapOp< IndexT > |
struct | MergeOffsetsOp< IndexT > |
struct | BucketOrderOp< IndexT > |
struct | PageOrderOp< IndexT > |
struct | PageBreakOp< IndexT > |
struct | VoxelOrderOp< IndexT, Log2Dim > |
struct | IndexOrderOp< IndexT > |
struct | LeafNodeOriginOp< PointArray, IndexT > |
Namespaces | |
openvdb | |
openvdb::v3_0_0 | |
openvdb::v3_0_0::tools | |
openvdb::v3_0_0::tools::point_partitioner_internal | |
Typedefs | |
typedef PointPartitioner< uint32_t, 3 > | UInt32PointPartitioner |
Enumerations | |
enum | { LEAF_NODE_LIMIT = 1000000000 } |
Functions | |
template<typename IntType > | |
bool | isVolumeCalculationOverflowSafe (const CoordBBox &bbox) |
template<typename PointArray > | |
CoordBBox | computeLeafBounds (const PointArray &points, const math::Transform &m, unsigned log2dim) |
template<Index Log2Dim, typename IndexT , typename VoxelOffsetT , typename PointArray > | |
void | partition (const PointArray &points, const math::Transform &xform, const CoordBBox &bbox, boost::scoped_array< IndexT > &pointIndices, boost::scoped_array< IndexT > &pageOffsets, IndexT &pageCount, boost::scoped_array< VoxelOffsetT > &voxelOffsets, bool recordVoxelOffsets) |
template<Index Log2Dim, typename IndexT , typename VoxelOffsetT , typename PointArray > | |
void | sortPartition (const PointArray &points, const math::Transform &xform, const CoordBBox &bbox, boost::scoped_array< IndexT > &pointIndices, boost::scoped_array< IndexT > &pageOffsets, IndexT &pageCount, boost::scoped_array< VoxelOffsetT > &voxelOffsets, bool recordVoxelOffsets) |
Multi-threaded space-partitioning scheme for points.