![]() |
VR-Forces 4.0.4 Class Documentation
|
A ribbon with some particle system features, such as expansion rate texture, and fading out. More...

Classes | |
| struct | Particle |
| Definition for a particle in the ribbon. More... | |
Public Member Functions | |
| DtOsgParticleRibbon (float segmentSpacing, const osg::Vec4 &color, osg::Texture *texture, float expansionRate, float maxLength=2000) | |
| CTOR. | |
| virtual void | update (double dt, double simTime) |
| Override the behavior of the osg ribbon. | |
| virtual void | setAlphaVelocity (float alphaVelocity) |
| Set the rate in units/second at which the alpha values of particles change. | |
| virtual void | setTextureRepeat (float textureRepeat) |
| Set the number of copies of the texture to repeat into each quad. | |
Protected Member Functions | |
| virtual | ~DtOsgParticleRibbon () |
| DTOR. | |
| virtual void | addParticle (osg::Vec3d const &left, osg::Vec3d const &right, double simTime) |
| Add a particle to the ribbon. | |
| virtual float | currentSegmentLength () |
| Find the length of the current ribbon segment. | |
| virtual void | extendCurrentSegment (osg::Vec3d const &left, osg::Vec3d const &right, double simTime) |
| Extend the current segment to left and right points. | |
| virtual osg::Drawable * | getDrawable () |
| Create or get the ribbon drawable. | |
| virtual int | particleIndexAtOffset (int offset) |
| Get index of particle at offset from current particle. | |
| virtual void | updateParticles (double dt) |
| Update the particles with given time change. | |
| virtual void | updateGeometry (double dt) |
| Update the geometry with the given time change. | |
| virtual osg::Vec2 | getTextureCoordinateFor (int pointIndex, float vScale) |
| Get the texture coordinate for a vertex. | |
| virtual osg::Geode * | createGeode () |
| Create the geode to reender the ribbon. | |
Private Types | |
| typedef std::list< Particle > | Particles |
Private Attributes | |
| osg::ref_ptr< osg::Vec3Array > | myPoints |
| osg::ref_ptr< osg::Vec4Array > | myColors |
| osg::ref_ptr< osg::Vec2Array > | myTextureCoordinates |
| osg::ref_ptr< osg::Texture > | myTexture |
| bool | myWrappingVertices |
| int | myParticleIndex |
| float | myTextureRepeat |
| double | myLastAddTime |
| Particles | myParticles |
| float | myAlphaVelocity |
| float | myExpansionRate |
| speed at which alpha decreases | |
| float | myRotationalVelocity |
| speed at which particles move apart | |
| double | myLastUpdateTime |
A ribbon with some particle system features, such as expansion rate texture, and fading out.
typedef std::list<Particle> makVrv::DtOsgParticleRibbon::Particles [private] |
| makVrv::DtOsgParticleRibbon::DtOsgParticleRibbon | ( | float | segmentSpacing, |
| const osg::Vec4 & | color, | ||
| osg::Texture * | texture, | ||
| float | expansionRate, | ||
| float | maxLength = 2000 |
||
| ) |
CTOR.
| virtual makVrv::DtOsgParticleRibbon::~DtOsgParticleRibbon | ( | ) | [protected, virtual] |
DTOR.
| virtual void makVrv::DtOsgParticleRibbon::update | ( | double | dt, |
| double | simTime | ||
| ) | [virtual] |
Override the behavior of the osg ribbon.
Reimplemented from makVrv::DtOsgRibbon.
| virtual void makVrv::DtOsgParticleRibbon::setAlphaVelocity | ( | float | alphaVelocity | ) | [virtual] |
Set the rate in units/second at which the alpha values of particles change.
| virtual void makVrv::DtOsgParticleRibbon::setTextureRepeat | ( | float | textureRepeat | ) | [virtual] |
Set the number of copies of the texture to repeat into each quad.
Textures are tiled in their v coordinate only.
| virtual void makVrv::DtOsgParticleRibbon::addParticle | ( | osg::Vec3d const & | left, |
| osg::Vec3d const & | right, | ||
| double | simTime | ||
| ) | [protected, virtual] |
Add a particle to the ribbon.
Implements makVrv::DtOsgRibbon.
| virtual float makVrv::DtOsgParticleRibbon::currentSegmentLength | ( | ) | [protected, virtual] |
Find the length of the current ribbon segment.
Implements makVrv::DtOsgRibbon.
| virtual void makVrv::DtOsgParticleRibbon::extendCurrentSegment | ( | osg::Vec3d const & | left, |
| osg::Vec3d const & | right, | ||
| double | simTime | ||
| ) | [protected, virtual] |
Extend the current segment to left and right points.
Implements makVrv::DtOsgRibbon.
| virtual osg::Drawable* makVrv::DtOsgParticleRibbon::getDrawable | ( | ) | [protected, virtual] |
Create or get the ribbon drawable.
Implements makVrv::DtOsgRibbon.
| virtual int makVrv::DtOsgParticleRibbon::particleIndexAtOffset | ( | int | offset | ) | [protected, virtual] |
Get index of particle at offset from current particle.
| virtual void makVrv::DtOsgParticleRibbon::updateParticles | ( | double | dt | ) | [protected, virtual] |
Update the particles with given time change.
| virtual void makVrv::DtOsgParticleRibbon::updateGeometry | ( | double | dt | ) | [protected, virtual] |
Update the geometry with the given time change.
| virtual osg::Vec2 makVrv::DtOsgParticleRibbon::getTextureCoordinateFor | ( | int | pointIndex, |
| float | vScale | ||
| ) | [protected, virtual] |
Get the texture coordinate for a vertex.
| virtual osg::Geode* makVrv::DtOsgParticleRibbon::createGeode | ( | ) | [protected, virtual] |
Create the geode to reender the ribbon.
Reimplemented from makVrv::DtOsgRibbon.
osg::ref_ptr<osg::Vec3Array> makVrv::DtOsgParticleRibbon::myPoints [private] |
osg::ref_ptr<osg::Vec4Array> makVrv::DtOsgParticleRibbon::myColors [private] |
osg::ref_ptr<osg::Vec2Array> makVrv::DtOsgParticleRibbon::myTextureCoordinates [private] |
osg::ref_ptr<osg::Texture> makVrv::DtOsgParticleRibbon::myTexture [private] |
int makVrv::DtOsgParticleRibbon::myParticleIndex [private] |
float makVrv::DtOsgParticleRibbon::myTextureRepeat [private] |
double makVrv::DtOsgParticleRibbon::myLastAddTime [private] |
float makVrv::DtOsgParticleRibbon::myAlphaVelocity [private] |
float makVrv::DtOsgParticleRibbon::myExpansionRate [private] |
speed at which alpha decreases
float makVrv::DtOsgParticleRibbon::myRotationalVelocity [private] |
speed at which particles move apart
double makVrv::DtOsgParticleRibbon::myLastUpdateTime [private] |
Reimplemented from makVrv::DtOsgRibbon.