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.
|
float | volume () const |
| return the length of the segment
|
osg::Vec3 | getControlPosition () const |
| return the control position
|
Public Member Functions inherited from osgParticle::Placer |
| Placer () |
| Placer (const Placer ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) |
virtual const char * | libraryName () const |
virtual const char * | className () const |
virtual bool | isSameKindAs (const osg::Object *obj) const |
| Object () |
| Object (bool threadSafeRefUnref) |
| Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
virtual Object * | cloneType () const =0 |
virtual Object * | clone (const CopyOp &) const =0 |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
void | setDataVariance (DataVariance dv) |
DataVariance | getDataVariance () const |
virtual void | computeDataVariance () |
void | setUserDataContainer (osg::UserDataContainer *udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
virtual Referenced * | getUserData () |
virtual const Referenced * | getUserData () const |
template<typename T > |
bool | getUserValue (const std::string &name, T &value) const |
template<typename T > |
void | setUserValue (const std::string &name, const T &value) |
virtual void | resizeGLObjectBuffers (unsigned int) |
virtual void | releaseGLObjects (osg::State *=0) const |
| Referenced () |
| Referenced (bool threadSafeRefUnref) |
| Referenced (const Referenced &) |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
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.