Partio
Public Member Functions | Public Attributes | Private Types | Private Attributes | List of all members
Partio::ParticleIterator< constant > Class Template Reference

#include <PartioIterator.h>

Public Member Functions

 ParticleIterator ()
 Construct an invalid iterator. More...
 
 ParticleIterator (const ParticleIterator &other)
 Copy constructor. NOTE: Invalidates any accessors that have been registered with it. More...
 
 ParticleIterator (PROVIDER *particles, size_t index, size_t indexEnd)
 
bool valid () const
 Whether the iterator is valid. More...
 
ParticleIterator operator++ (int)
 Increment the iterator (postfix). Prefer the prefix form below to this one. More...
 
ParticleIteratoroperator++ ()
 Increment the iterator (prefix). More...
 
bool operator== (const ParticleIterator &other)
 Iterator comparison equals. More...
 
bool operator!= (const ParticleIterator &other)
 Iterator comparison not-equals. More...
 
void addAccessor (ParticleAccessor &newAccessor)
 

Public Attributes

size_t index
 Start of non-interleaved index of contiguous block. More...
 

Private Types

typedef PROVIDER< constant >::TYPE PROVIDER
 

Private Attributes

PROVIDERparticles
 Delegate, null if the iterator is false. More...
 
size_t indexEnd
 End of non-interleaved index of contiguous block. More...
 
ParticleAccessoraccessors
 This is used for both non-interleaved and interleaved particle attributes. More...
 

Member Typedef Documentation

◆ PROVIDER

template<bool constant = false>
typedef PROVIDER<constant>::TYPE Partio::ParticleIterator< constant >::PROVIDER
private

Constructor & Destructor Documentation

◆ ParticleIterator() [1/3]

template<bool constant = false>
Partio::ParticleIterator< constant >::ParticleIterator ( )
inline

Construct an invalid iterator.

◆ ParticleIterator() [2/3]

template<bool constant = false>
Partio::ParticleIterator< constant >::ParticleIterator ( const ParticleIterator< constant > &  other)
inline

Copy constructor. NOTE: Invalidates any accessors that have been registered with it.

◆ ParticleIterator() [3/3]

template<bool constant = false>
Partio::ParticleIterator< constant >::ParticleIterator ( PROVIDER particles,
size_t  index,
size_t  indexEnd 
)
inline

Construct an iterator with iteration parameters. This is typically only called by implementations of Particle (not by users). For users, use begin() and end() on the particle type

Member Function Documentation

◆ addAccessor()

template<bool constant = false>
void Partio::ParticleIterator< constant >::addAccessor ( ParticleAccessor newAccessor)
inline

◆ operator!=()

template<bool constant = false>
bool Partio::ParticleIterator< constant >::operator!= ( const ParticleIterator< constant > &  other)
inline

Iterator comparison not-equals.

References Partio::ParticleIterator< constant >::particles.

◆ operator++() [1/2]

template<bool constant = false>
ParticleIterator& Partio::ParticleIterator< constant >::operator++ ( )
inline

◆ operator++() [2/2]

template<bool constant = false>
ParticleIterator Partio::ParticleIterator< constant >::operator++ ( int  )
inline

Increment the iterator (postfix). Prefer the prefix form below to this one.

References Partio::ParticleIterator< constant >::index.

◆ operator==()

template<bool constant = false>
bool Partio::ParticleIterator< constant >::operator== ( const ParticleIterator< constant > &  other)
inline

◆ valid()

template<bool constant = false>
bool Partio::ParticleIterator< constant >::valid ( ) const
inline

Whether the iterator is valid.

References Partio::ParticleIterator< constant >::particles.

Member Data Documentation

◆ accessors

template<bool constant = false>
ParticleAccessor* Partio::ParticleIterator< constant >::accessors
private

This is used for both non-interleaved and interleaved particle attributes.

Referenced by Partio::ParticleIterator< constant >::addAccessor().

◆ index

template<bool constant = false>
size_t Partio::ParticleIterator< constant >::index

Start of non-interleaved index of contiguous block.

Referenced by Partio::ParticleIterator< constant >::operator++(), and Partio::ParticleIterator< constant >::operator==().

◆ indexEnd

template<bool constant = false>
size_t Partio::ParticleIterator< constant >::indexEnd
private

End of non-interleaved index of contiguous block.

Referenced by Partio::ParticleIterator< constant >::operator++().

◆ particles

template<bool constant = false>
PROVIDER* Partio::ParticleIterator< constant >::particles
private

The documentation for this class was generated from the following file: