# osgParticle::SegmentPlacer Class Reference

A segment-shaped particle placer. More...

Inheritance diagram for osgParticle::SegmentPlacer:

[legend]
List of all members.

## Public Member Functions

| SegmentPlacer ()
| SegmentPlacer (const SegmentPlacer &copy, const osg::CopyOp &copyop=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.

## Protected Member Functions

virtual | ~SegmentPlacer ()
SegmentPlacer & | operator= (const SegmentPlacer &)

## Detailed Description

A segment-shaped particle placer.

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.

## Constructor & Destructor Documentation

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

## Member Function Documentation

const osg::Vec3 & osgParticle::SegmentPlacer::getVertexA | ( |  | ) | const`[inline]`

| get vertex A.

const osg::Vec3 & osgParticle::SegmentPlacer::getVertexB | ( |  | ) | const`[inline]`

| get vertex B.

osgParticle::SegmentPlacer::META_Object | ( | osgParticle | ,
|  | SegmentPlacer |
| ) |

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

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.

void osgParticle::SegmentPlacer::setSegment | ( | const osg::Vec3 & | A,
|  | const osg::Vec3 & | B
| ) | `[inline]`

| Set both vertices.

void osgParticle::SegmentPlacer::setVertexA | ( | float | x,
|  | float | y,
|  | float | z
| ) | `[inline]`

| Set vertex A of the segment as three floats.

void osgParticle::SegmentPlacer::setVertexA | ( | const osg::Vec3 & | v | ) | `[inline]`

| Set vertex A 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.

void osgParticle::SegmentPlacer::setVertexB | ( | const osg::Vec3 & | v | ) | `[inline]`

| Set vertex B of the segment as a vector.

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

- SegmentPlacer