OpenVDB 10.0.1
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
ParticleAtlas< PointIndexGridType > Struct Template Reference

#include <openvdb/tools/ParticleAtlas.h>

Classes

struct  Iterator
 Provides accelerated range and nearest-neighbor searches for particles that are partitioned using the ParticleAtlas. More...
 

Public Types

using Ptr = SharedPtr< ParticleAtlas >
 
using ConstPtr = SharedPtr< const ParticleAtlas >
 
using PointIndexGridPtr = typename PointIndexGridType::Ptr
 
using IndexType = typename PointIndexGridType::ValueType
 

Public Member Functions

 ParticleAtlas ()
 
template<typename ParticleArrayType >
void construct (const ParticleArrayType &particles, double minVoxelSize, size_t maxLevels=50)
 Partitions particle indices. More...
 
size_t levels () const
 Returns the number of resolution levels. More...
 
bool empty () const
 true if the container size is 0, false otherwise. More...
 
double minRadius (size_t n) const
 Returns minimum particle radius for level n. More...
 
double maxRadius (size_t n) const
 Returns maximum particle radius for level n. More...
 
PointIndexGridType & pointIndexGrid (size_t n)
 Returns the PointIndexGrid that represents the given level n. More...
 
const PointIndexGridType & pointIndexGrid (size_t n) const
 Returns the PointIndexGrid that represents the given level n. More...
 

Static Public Member Functions

template<typename ParticleArrayType >
static Ptr create (const ParticleArrayType &particles, double minVoxelSize, size_t maxLevels=50)
 Create a new ParticleAtlas from the given particles. More...
 

Member Typedef Documentation

◆ ConstPtr

◆ IndexType

using IndexType = typename PointIndexGridType::ValueType

◆ PointIndexGridPtr

using PointIndexGridPtr = typename PointIndexGridType::Ptr

◆ Ptr

Constructor & Destructor Documentation

◆ ParticleAtlas()

ParticleAtlas ( )
inline

Member Function Documentation

◆ construct()

void construct ( const ParticleArrayType &  particles,
double  minVoxelSize,
size_t  maxLevels = 50 
)
inline

Partitions particle indices.

Parameters
particlescontainer conforming to the ParticleArray interface
minVoxelSizeminimum voxel size limit
maxLevelsmaximum number of resolution levels

◆ create()

ParticleAtlas< PointIndexGridType >::Ptr create ( const ParticleArrayType &  particles,
double  minVoxelSize,
size_t  maxLevels = 50 
)
inlinestatic

Create a new ParticleAtlas from the given particles.

Parameters
particlescontainer conforming to the ParticleArray interface
minVoxelSizeminimum voxel size limit
maxLevelsmaximum number of resolution levels

◆ empty()

bool empty ( ) const
inline

true if the container size is 0, false otherwise.

◆ levels()

size_t levels ( ) const
inline

Returns the number of resolution levels.

◆ maxRadius()

double maxRadius ( size_t  n) const
inline

Returns maximum particle radius for level n.

◆ minRadius()

double minRadius ( size_t  n) const
inline

Returns minimum particle radius for level n.

◆ pointIndexGrid() [1/2]

PointIndexGridType & pointIndexGrid ( size_t  n)
inline

Returns the PointIndexGrid that represents the given level n.

◆ pointIndexGrid() [2/2]

const PointIndexGridType & pointIndexGrid ( size_t  n) const
inline

Returns the PointIndexGrid that represents the given level n.