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] |