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

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

Constructor & Destructor Documentation

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

Construct an invalid iterator.

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

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

template<bool constant>
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

template<bool constant>
void Partio::ParticleIterator< constant >::addAccessor ( ParticleAccessor newAccessor)
inline
template<bool constant>
bool Partio::ParticleIterator< constant >::operator!= ( const ParticleIterator< constant > &  other)
inline

Iterator comparison not-equals.

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

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

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

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

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

Whether the iterator is valid.

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

Member Data Documentation

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

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

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

template<bool constant>
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==().

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

End of non-interleaved index of contiguous block.

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

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

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