
Public Member Functions | |
| SegmentPlacer () | |
| SegmentPlacer (const SegmentPlacer ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| META_Object (osgParticle, SegmentPlacer) | |
| const osg::Vec3 & | getVertexA () const |
| get vertex A. | |
| void | setVertexA (const osg::Vec3 &v) |
| Set vertex A of the segment as a vector. | |
| void | setVertexA (float x, float y, float z) |
| Set vertex A of the segment as three floats. | |
| const osg::Vec3 & | getVertexB () const |
| get vertex B. | |
| void | setVertexB (const osg::Vec3 &v) |
| Set vertex B of the segment as a vector. | |
| void | setVertexB (float x, float y, float z) |
| Set vertex B of the segment as three floats. | |
| void | setSegment (const osg::Vec3 &A, const osg::Vec3 &B) |
| Set both vertices. | |
| void | place (Particle *P) const |
Place a particle. This method is called by ModularEmitter, do not call it manually. | |
| osg::Vec3 | getControlPosition () const |
| return the control position | |
Protected Member Functions | |
| virtual | ~SegmentPlacer () |
| SegmentPlacer & | operator= (const SegmentPlacer &) |
To use this placer you have to define a segment, by setting its two vertices (A and B); when an emitter requests a SegmentPlacer to place a particle, the position is chosen randomly within that segment.
| osgParticle::SegmentPlacer::SegmentPlacer | ( | ) | [inline] |
| osgParticle::SegmentPlacer::SegmentPlacer | ( | const SegmentPlacer & | copy, | |
| const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY | |||
| ) | [inline] |
| virtual osgParticle::SegmentPlacer::~SegmentPlacer | ( | ) | [inline, protected, virtual] |
| osgParticle::SegmentPlacer::META_Object | ( | osgParticle | , | |
| SegmentPlacer | ||||
| ) |
| const osg::Vec3 & osgParticle::SegmentPlacer::getVertexA | ( | ) | const [inline] |
get vertex A.
| void osgParticle::SegmentPlacer::setVertexA | ( | const osg::Vec3 & | v | ) | [inline] |
Set vertex A of the segment as a vector.
| void osgParticle::SegmentPlacer::setVertexA | ( | float | x, | |
| float | y, | |||
| float | z | |||
| ) | [inline] |
Set vertex A of the segment as three floats.
| const osg::Vec3 & osgParticle::SegmentPlacer::getVertexB | ( | ) | const [inline] |
get vertex B.
| void osgParticle::SegmentPlacer::setVertexB | ( | const osg::Vec3 & | v | ) | [inline] |
Set vertex B of the segment as a vector.
| void osgParticle::SegmentPlacer::setVertexB | ( | float | x, | |
| float | y, | |||
| float | z | |||
| ) | [inline] |
Set vertex B of the segment as three floats.
Set both vertices.
| void osgParticle::SegmentPlacer::place | ( | Particle * | P | ) | const [inline, virtual] |
Place a particle. This method is called by ModularEmitter, do not call it manually.
Implements osgParticle::Placer.
| osg::Vec3 osgParticle::SegmentPlacer::getControlPosition | ( | ) | const [inline, virtual] |
| SegmentPlacer& osgParticle::SegmentPlacer::operator= | ( | const SegmentPlacer & | ) | [inline, protected] |