ESyS-Particle  4.0.1
Classes | Public Types | Public Member Functions | Protected Member Functions
esys::lsm::ParticleCollection< TmplParticle > Class Template Reference
Inheritance diagram for esys::lsm::ParticleCollection< TmplParticle >:
Inheritance graph
[legend]

List of all members.

Classes

class  ParticleConstIterator
class  ParticleIterator

Public Types

typedef TmplParticle Particle
typedef boost::object_pool
< Particle > 
ParticlePool
typedef boost::shared_ptr
< ParticlePool > 
ParticlePoolPtr

Public Member Functions

 ParticleCollection (ParticlePoolPtr particlePoolPtr)
 ParticleCollection (const ParticleCollection &p)
ParticleCollectionoperator= (const ParticleCollection &p)
int getNumParticles () const
BoundingBox getParticleBBox () const
ParticleIterator getParticleIterator ()
ParticleConstIterator getParticleIterator () const
void translateBy (const Vec3 &vec)
void rotate (const Vec3 &rotation, const Vec3 &posn)
void incrementIdBy (typename Particle::Id idIncr)
void insertRef (Particle &p)
Particle & createParticle (const Particle &p)

Protected Member Functions

void noCheckInsertRef (Particle &p)

Member Function Documentation

template<typename TmplParticle >
ParticleCollection< TmplParticle >::Particle & esys::lsm::ParticleCollection< TmplParticle >::createParticle ( const Particle &  p)

Creates a new particle constructed particle from p.

Parameters:
pCreate particle copy constructed from p.
Returns:
returns reference to newly constructed particle.

References esys::lsm::ParticleCollection< TmplParticle >::noCheckInsertRef().

Here is the call graph for this function:

template<typename TmplParticle >
void esys::lsm::ParticleCollection< TmplParticle >::incrementIdBy ( typename Particle::Id  idIncr)

Increments all particle Id's by the specifed amount.

Parameters:
idIncrIncrement.
template<typename TmplParticle >
void esys::lsm::ParticleCollection< TmplParticle >::insertRef ( Particle &  p)

Adds the specifed particle reference to this collection.

Parameters:
pReference to p is inserted.

References esys::lsm::ParticleCollection< TmplParticle >::noCheckInsertRef().

Here is the call graph for this function:

template<typename TmplParticle >
void esys::lsm::ParticleCollection< TmplParticle >::noCheckInsertRef ( Particle &  p)
protected

Adds the specifed particle reference to this collection.

Parameters:
pReference to p is inserted.

Referenced by esys::lsm::ParticleCollection< TmplParticle >::createParticle(), and esys::lsm::ParticleCollection< TmplParticle >::insertRef().

Here is the caller graph for this function:

template<typename TmplParticle >
void esys::lsm::ParticleCollection< TmplParticle >::rotate ( const Vec3 rotation,
const Vec3 posn 
)

Rotates all particles according to the specified rotation.

Parameters:
rotationSpecifies rotation-axis and magnitude, ie angle = rotation.norm() radians.
posnSpecifies position of the rotation vector.
template<typename TmplParticle >
void esys::lsm::ParticleCollection< TmplParticle >::translateBy ( const Vec3 vec)

Translates all particle positions by the specified mount.

Parameters:
vecTranslation increment.

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