OpenVDB
12.0.0
|
#include <openvdb/tools/PointPartitioner.h>
Classes | |
class | IndexIterator |
Public Types | |
enum | { LOG2DIM = BucketLog2Dim } |
using | Ptr = SharedPtr< PointPartitioner > |
using | ConstPtr = SharedPtr< const PointPartitioner > |
using | IndexType = PointIndexType |
using | VoxelOffsetType = typename std::conditional<(bits< 16), int16_t, typename std::conditional<(bits< 32), int32_t, int64_t >::type >::type |
using | VoxelOffsetArray = std::unique_ptr< VoxelOffsetType[]> |
Public Member Functions | |
PointPartitioner () | |
template<typename PointArray > | |
void | construct (const PointArray &points, const math::Transform &xform, bool voxelOrder=false, bool recordVoxelOffsets=false, bool cellCenteredTransform=true) |
Partitions point indices into BucketLog2Dim aligned buckets. More... | |
size_t | size () const |
Returns the number of buckets. More... | |
bool | empty () const |
true if the container size is 0, false otherwise. More... | |
void | clear () |
Removes all data and frees up memory. More... | |
void | swap (PointPartitioner &) |
Exchanges the content of the container by another. More... | |
IndexIterator | indices (size_t n) const |
Returns the point indices for bucket n. More... | |
CoordBBox | getBBox (size_t n) const |
Returns the coordinate-aligned bounding box for bucket n. More... | |
const Coord & | origin (size_t n) const |
Returns the origin coordinate for bucket n. More... | |
const VoxelOffsetArray & | voxelOffsets () const |
Returns a list of LeafNode voxel offsets for the points. More... | |
bool | usingCellCenteredTransform () const |
Returns true if this point partitioning was constructed using a cell-centered transform. More... | |
Static Public Member Functions | |
template<typename PointArray > | |
static Ptr | create (const PointArray &points, const math::Transform &xform, bool voxelOrder=false, bool recordVoxelOffsets=false, bool cellCenteredTransform=true) |
Partitions point indices into BucketLog2Dim aligned buckets. More... | |
Static Public Attributes | |
static constexpr Index | bits = 1 + (3 * BucketLog2Dim) |
using ConstPtr = SharedPtr<const PointPartitioner> |
using IndexType = PointIndexType |
using Ptr = SharedPtr<PointPartitioner> |
using VoxelOffsetArray = std::unique_ptr<VoxelOffsetType[]> |
using VoxelOffsetType = typename std::conditional<(bits < 16), int16_t, typename std::conditional<(bits < 32), int32_t, int64_t>::type>::type |
|
inline |
|
inline |
Removes all data and frees up memory.
|
inline |
Partitions point indices into BucketLog2Dim
aligned buckets.
points | list of world space points. |
xform | world to index space transform. |
voxelOrder | sort point indices by local voxel offsets. |
recordVoxelOffsets | construct local voxel offsets |
cellCenteredTransform | toggle the cell-centered interpretation that imagines world space as divided into discrete cells (e.g., cubes) centered on the image of the index-space lattice points. |
|
inlinestatic |
Partitions point indices into BucketLog2Dim
aligned buckets.
points | list of world space points. |
xform | world to index space transform. |
voxelOrder | sort point indices by local voxel offsets. |
recordVoxelOffsets | construct local voxel offsets |
cellCenteredTransform | toggle the cell-centered interpretation that imagines world space as divided into discrete cells (e.g., cubes) centered on the image of the index-space lattice points. |
|
inline |
true if the container size is 0, false otherwise.
|
inline |
Returns the coordinate-aligned bounding box for bucket n.
|
inline |
Returns the point indices for bucket n.
|
inline |
Returns the origin coordinate for bucket n.
|
inline |
Returns the number of buckets.
|
inline |
Exchanges the content of the container by another.
|
inline |
Returns true
if this point partitioning was constructed using a cell-centered transform.
|
inline |
Returns a list of LeafNode
voxel offsets for the points.
|
static |