|
HDK
|
#include <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... | |
| template<typename PointArray > | |
| PointPartitioner < PointIndexType, BucketLog2Dim >::Ptr | create (const PointArray &points, const math::Transform &xform, bool voxelOrder, bool recordVoxelOffsets, bool cellCenteredTransform) |
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) |
Definition at line 77 of file PointPartitioner.h.
| using openvdb::OPENVDB_VERSION_NAME::tools::PointPartitioner< PointIndexType, BucketLog2Dim >::ConstPtr = SharedPtr<const PointPartitioner> |
Definition at line 83 of file PointPartitioner.h.
| using openvdb::OPENVDB_VERSION_NAME::tools::PointPartitioner< PointIndexType, BucketLog2Dim >::IndexType = PointIndexType |
Definition at line 85 of file PointPartitioner.h.
| using openvdb::OPENVDB_VERSION_NAME::tools::PointPartitioner< PointIndexType, BucketLog2Dim >::Ptr = SharedPtr<PointPartitioner> |
Definition at line 82 of file PointPartitioner.h.
| using openvdb::OPENVDB_VERSION_NAME::tools::PointPartitioner< PointIndexType, BucketLog2Dim >::VoxelOffsetArray = std::unique_ptr<VoxelOffsetType[]> |
Definition at line 92 of file PointPartitioner.h.
| using openvdb::OPENVDB_VERSION_NAME::tools::PointPartitioner< PointIndexType, BucketLog2Dim >::VoxelOffsetType = typename std::conditional<(bits < 16), int16_t, typename std::conditional<(bits < 32), int32_t, int64_t>::type>::type |
Definition at line 90 of file PointPartitioner.h.
| anonymous enum |
| Enumerator | |
|---|---|
| LOG2DIM | |
Definition at line 80 of file PointPartitioner.h.
|
inline |
Definition at line 945 of file PointPartitioner.h.
|
inline |
Removes all data and frees up memory.
Definition at line 958 of file PointPartitioner.h.
|
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. |
Definition at line 1002 of file PointPartitioner.h.
|
static |
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 |
Definition at line 1031 of file PointPartitioner.h.
|
inline |
true if the container size is 0, false otherwise.
Definition at line 134 of file PointPartitioner.h.
|
inline |
Returns the coordinate-aligned bounding box for bucket n.
Definition at line 146 of file PointPartitioner.h.
|
inline |
Returns the point indices for bucket n.
Definition at line 990 of file PointPartitioner.h.
|
inline |
Returns the origin coordinate for bucket n.
Definition at line 151 of file PointPartitioner.h.
|
inline |
Returns the number of buckets.
Definition at line 131 of file PointPartitioner.h.
|
inline |
Exchanges the content of the container by another.
Definition at line 971 of file PointPartitioner.h.
|
inline |
Returns true if this point partitioning was constructed using a cell-centered transform.
Definition at line 160 of file PointPartitioner.h.
|
inline |
Returns a list of LeafNode voxel offsets for the points.
Definition at line 155 of file PointPartitioner.h.
|
static |
Definition at line 87 of file PointPartitioner.h.