Provides accelerated range and nearest-neighbor searches for particles that are partitioned using the ParticleAtlas. More...
#include <openvdb/tools/ParticleAtlas.h>
Public Types | |
| using | TreeType = typename PointIndexGridType::TreeType |
| using | ConstAccessor = tree::ValueAccessor<const TreeType> |
| using | ConstAccessorPtr = std::unique_ptr<ConstAccessor> |
| using | Ptr |
| using | ConstPtr |
| using | PointIndexGridPtr |
| using | IndexType |
Public Member Functions | |
| Iterator (const ParticleAtlas &atlas) | |
| Construct an iterator from the given atlas. | |
| template<typename ParticleArrayType> | |
| void | worldSpaceSearchAndUpdate (const Vec3d ¢er, double radius, const ParticleArrayType &particles) |
| Clear the iterator and update it with the result of the given world-space radial query. | |
| template<typename ParticleArrayType> | |
| void | worldSpaceSearchAndUpdate (const BBoxd &bbox, const ParticleArrayType &particles) |
| Clear the iterator and update it with the result of the given world-space radial query. | |
| size_t | levels () const |
| Returns the total number of resolution levels. | |
| void | updateFromLevel (size_t level) |
| Clear the iterator and update it with all particles that reside at the given resolution level. | |
| void | reset () |
| Reset the iterator to point to the first item. | |
| const IndexType & | operator* () const |
| Return a const reference to the item to which this iterator is pointing. | |
| void | increment () |
| Advance iterator to next item. | |
| void | operator++ () |
| Advance iterator to next item. | |
| bool | next () |
| Advance iterator to next item. | |
| size_t | size () const |
| Return the number of point indices in the iterator range. | |
| bool | operator== (const Iterator &p) const |
Return true if both iterators point to the same element. | |
| bool | operator!= (const Iterator &p) const |
| ParticleAtlas () | |
| void | construct (const ParticleArrayType &particles, double minVoxelSize, size_t maxLevels=50) |
| Partitions particle indices. | |
| size_t | levels () const |
| Returns the number of resolution levels. | |
| bool | empty () const |
| true if the container size is 0, false otherwise. | |
| double | minRadius (size_t n) const |
| Returns minimum particle radius for level n. | |
| double | maxRadius (size_t n) const |
| Returns maximum particle radius for level n. | |
| PointIndexGridType & | pointIndexGrid (size_t n) |
Returns the PointIndexGrid that represents the given level n. | |
| const PointIndexGridType & | pointIndexGrid (size_t n) const |
Returns the PointIndexGrid that represents the given level n. | |
| bool | test () const |
Return true if this iterator is not yet exhausted. | |
| operator bool () const | |
Return true if this iterator is not yet exhausted. | |
Static Public Member Functions | |
| static Ptr | create (const ParticleArrayType &particles, double minVoxelSize, size_t maxLevels=50) |
Create a new ParticleAtlas from the given particles. | |
Provides accelerated range and nearest-neighbor searches for particles that are partitioned using the ParticleAtlas.
| using ConstAccessor = tree::ValueAccessor<const TreeType> |
| using ConstAccessorPtr = std::unique_ptr<ConstAccessor> |
| using ConstPtr |
| using IndexType |
| using PointIndexGridPtr |
| using Ptr |
| using TreeType = typename PointIndexGridType::TreeType |
|
inlineexplicit |
Construct an iterator from the given atlas.
|
inline |
Partitions particle indices.
| particles | container conforming to the ParticleArray interface |
| minVoxelSize | minimum voxel size limit |
| maxLevels | maximum number of resolution levels |
|
inlinestatic |
Create a new ParticleAtlas from the given particles.
| particles | container conforming to the ParticleArray interface |
| minVoxelSize | minimum voxel size limit |
| maxLevels | maximum number of resolution levels |
|
inline |
true if the container size is 0, false otherwise.
|
inline |
Advance iterator to next item.
|
inline |
Returns the number of resolution levels.
|
inline |
Returns the total number of resolution levels.
|
inline |
Returns maximum particle radius for level n.
|
inline |
Returns minimum particle radius for level n.
|
inline |
Advance iterator to next item.
true if this iterator is not yet exhausted.
|
inline |
Return true if this iterator is not yet exhausted.
|
inline |
|
inline |
Return a const reference to the item to which this iterator is pointing.
|
inline |
Advance iterator to next item.
|
inline |
Return true if both iterators point to the same element.
|
inline |
|
inline |
Returns the PointIndexGrid that represents the given level n.
|
inline |
Returns the PointIndexGrid that represents the given level n.
|
inline |
Reset the iterator to point to the first item.
|
inline |
Return the number of point indices in the iterator range.
|
inline |
Return true if this iterator is not yet exhausted.
|
inline |
Clear the iterator and update it with all particles that reside at the given resolution level.
|
inline |
Clear the iterator and update it with the result of the given world-space radial query.
| bbox | world-space bounding box |
| particles | container conforming to the ParticleArray interface |
|
inline |
Clear the iterator and update it with the result of the given world-space radial query.
| center | world-space center |
| radius | world-space search radius |
| particles | container conforming to the ParticleArray interface |