Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# osgParticle::Placer Class Reference

An abstract base class for implementing particle placers. More...

Inheritance diagram for osgParticle::Placer:

[legend]
List of all members.

## Public Member Functions
| Placer ()
| Placer (const Placer &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
virtual const char * | libraryName () const
| return the name of the object's library.
virtual const char * | className () const
| return the name of the object's class type.
virtual bool | isSameKindAs (const osg::Object *obj) const
virtual void | place (Particle *P) const=0
| Place a particle. Must be implemented in descendant classes.
virtual osg::Vec3 | getControlPosition () const=0
| Return the control position of particles that placer will generate. Must be implemented in descendant classes.
## Protected Member Functions
| ~Placer ()
Placer & | operator= (const Placer &)

## Detailed Description

An abstract base class for implementing particle placers.

A placer is an object which take a particle as input, and places it somewhere by setting its position vector. Placer objects are used by the `ModularEmitter` class as part of the particle emission process.

## Constructor & Destructor Documentation

osgParticle::Placer::Placer | ( |  | ) | `[inline]`

osgParticle::Placer::Placer | ( | const Placer & | copy,
|  | const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY
| ) | `[inline]`

osgParticle::Placer::~Placer | ( |  | ) | `[inline, protected]`

## Member Function Documentation

virtual const char* osgParticle::Placer::className | ( |  | ) | const`[inline, virtual]`

| return the name of the object's class type. Must be defined by derived classes. Implements osg::Object. Reimplemented in osgParticle::CenteredPlacer.

virtual osg::Vec3 osgParticle::Placer::getControlPosition | ( |  | ) | const`[pure virtual]`

| Return the control position of particles that placer will generate. Must be implemented in descendant classes. Implemented in osgParticle::MultiSegmentPlacer, osgParticle::PointPlacer, osgParticle::SectorPlacer, and osgParticle::SegmentPlacer.

virtual bool osgParticle::Placer::isSameKindAs | ( | const osg::Object * | obj | ) | const`[inline, virtual]`

| Reimplemented in osgParticle::CenteredPlacer.

virtual const char* osgParticle::Placer::libraryName | ( |  | ) | const`[inline, virtual]`

| return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. Implements osg::Object. Reimplemented in osgParticle::CenteredPlacer.

Placer& osgParticle::Placer::operator= | ( | const Placer & |  | ) | `[inline, protected]`

virtual void osgParticle::Placer::place | ( | Particle * | P | ) | const`[pure virtual]`

| Place a particle. Must be implemented in descendant classes. Implemented in osgParticle::MultiSegmentPlacer, osgParticle::PointPlacer, osgParticle::SectorPlacer, and osgParticle::SegmentPlacer.

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

- Placer