|
OpenVDB 13.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 |
| 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. | |
| size_t | size () const |
| Returns the number of buckets. | |
| bool | empty () const |
| true if the container size is 0, false otherwise. | |
| void | clear () |
| Removes all data and frees up memory. | |
| void | swap (PointPartitioner &) |
| Exchanges the content of the container by another. | |
| IndexIterator | indices (size_t n) const |
| Returns the point indices for bucket n. | |
| CoordBBox | getBBox (size_t n) const |
| Returns the coordinate-aligned bounding box for bucket n. | |
| const Coord & | origin (size_t n) const |
| Returns the origin coordinate for bucket n. | |
| const VoxelOffsetArray & | voxelOffsets () const |
Returns a list of LeafNode voxel offsets for the points. | |
| bool | usingCellCenteredTransform () const |
Returns true if this point partitioning was constructed using a cell-centered transform. | |
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. | |
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 |
| anonymous enum |
|
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. |
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.