
Public Member Functions | |
| PrecipitationEffect () | |
| PrecipitationEffect (const PrecipitationEffect ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| virtual const char * | libraryName () const |
| return the name of the node's library. | |
| virtual const char * | className () const |
| return the name of the node's class type. | |
| virtual bool | isSameKindAs (const osg::Object *obj) const |
| return true if this and obj are of the same kind of object. | |
| virtual void | accept (osg::NodeVisitor &nv) |
| Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. | |
| virtual void | traverse (osg::NodeVisitor &nv) |
| Traverse downwards : calls children's accept method with NodeVisitor. | |
| void | rain (float intensity) |
| Set all the parameters to create an rain effect of specified intensity. | |
| void | snow (float intensity) |
| Set all the parameters to create an snow effect of specified intensity. | |
| void | setMaximumParticleDensity (float density) |
| float | setMaximumParticleDensity () const |
| void | setWind (const osg::Vec3 &wind) |
| const osg::Vec3 & | getWind () const |
| void | setPosition (const osg::Vec3 &position) |
| const osg::Vec3 & | getPosition () const |
| void | setCellSize (const osg::Vec3 &cellSize) |
| const osg::Vec3 & | getCellSize () const |
| void | setParticleSpeed (float particleSpeed) |
| float | getParticleSpeed () const |
| void | setParticleSize (float particleSize) |
| float | getParticleSize () const |
| void | setParticleColor (const osg::Vec4 &color) |
| const osg::Vec4 & | getParticleColor () const |
| void | setNearTransition (float nearTransition) |
| float | getNearTransition () const |
| void | setFarTransition (float farTransition) |
| float | getFarTransition () const |
| void | setUseFarLineSegments (bool useFarLineSegments) |
| bool | getUseFarLineSegments () const |
| void | setFog (osg::Fog *fog) |
| osg::Fog * | getFog () |
| const osg::Fog * | getFog () const |
| osg::Geometry * | getQuadGeometry () |
| osg::StateSet * | getQuadStateSet () |
| osg::Geometry * | getLineGeometry () |
| osg::StateSet * | getLineStateSet () |
| osg::Geometry * | getPointGeometry () |
| osg::StateSet * | getPointStateSet () |
Protected Types | |
| typedef std::pair < osg::NodeVisitor *, osg::NodePath > | ViewIdentifier |
| typedef std::map < ViewIdentifier, PrecipitationDrawableSet > | ViewDrawableMap |
Protected Member Functions | |
| virtual | ~PrecipitationEffect () |
| void | compileGLObjects (osg::RenderInfo &renderInfo) const |
| void | update () |
| void | createGeometry (unsigned int numParticles, osg::Geometry *quad_geometry, osg::Geometry *line_geometry, osg::Geometry *point_geometry) |
| void | setUpGeometries (unsigned int numParticles) |
| void | cull (PrecipitationDrawableSet &pds, osgUtil::CullVisitor *cv) const |
| bool | build (const osg::Vec3 eyeLocal, int i, int j, int k, float startTime, PrecipitationDrawableSet &pds, osg::Polytope &frustum, osgUtil::CullVisitor *cv) const |
Protected Attributes | |
| bool | _dirty |
| osg::Vec3 | _wind |
| float | _particleSpeed |
| float | _particleSize |
| osg::Vec4 | _particleColor |
| float | _maximumParticleDensity |
| osg::Vec3 | _cellSize |
| float | _nearTransition |
| float | _farTransition |
| bool | _useFarLineSegments |
| osg::ref_ptr< osg::Fog > | _fog |
| osg::ref_ptr < osg::Uniform > | _inversePeriodUniform |
| osg::ref_ptr < osg::Uniform > | _particleSizeUniform |
| osg::ref_ptr < osg::Uniform > | _particleColorUniform |
| OpenThreads::Mutex | _mutex |
| ViewDrawableMap | _viewDrawableMap |
| osg::ref_ptr < osg::Geometry > | _quadGeometry |
| osg::ref_ptr < osg::StateSet > | _quadStateSet |
| osg::ref_ptr < osg::Geometry > | _lineGeometry |
| osg::ref_ptr < osg::StateSet > | _lineStateSet |
| osg::ref_ptr < osg::Geometry > | _pointGeometry |
| osg::ref_ptr < osg::StateSet > | _pointStateSet |
| float | _period |
| osg::Vec3 | _origin |
| osg::Vec3 | _du |
| osg::Vec3 | _dv |
| osg::Vec3 | _dw |
| osg::Vec3 | _inverse_du |
| osg::Vec3 | _inverse_dv |
| osg::Vec3 | _inverse_dw |
Classes | |
| class | PrecipitationDrawable |
| Internal drawable used to render batches of cells. More... | |
| struct | PrecipitationDrawableSet |
typedef std::pair< osg::NodeVisitor*, osg::NodePath > osgParticle::PrecipitationEffect::ViewIdentifier [protected] |
typedef std::map< ViewIdentifier, PrecipitationDrawableSet > osgParticle::PrecipitationEffect::ViewDrawableMap [protected] |
| osgParticle::PrecipitationEffect::PrecipitationEffect | ( | ) |
| osgParticle::PrecipitationEffect::PrecipitationEffect | ( | const PrecipitationEffect & | copy, | |
| const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY | |||
| ) |
| virtual osgParticle::PrecipitationEffect::~PrecipitationEffect | ( | ) | [inline, protected, virtual] |
| virtual const char* osgParticle::PrecipitationEffect::libraryName | ( | ) | const [inline, virtual] |
| virtual const char* osgParticle::PrecipitationEffect::className | ( | ) | const [inline, virtual] |
| virtual bool osgParticle::PrecipitationEffect::isSameKindAs | ( | const osg::Object * | obj | ) | const [inline, virtual] |
| virtual void osgParticle::PrecipitationEffect::accept | ( | osg::NodeVisitor & | nv | ) | [inline, virtual] |
Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.
Reimplemented from osg::Node.
| virtual void osgParticle::PrecipitationEffect::traverse | ( | osg::NodeVisitor & | ) | [virtual] |
| void osgParticle::PrecipitationEffect::rain | ( | float | intensity | ) |
Set all the parameters to create an rain effect of specified intensity.
| void osgParticle::PrecipitationEffect::snow | ( | float | intensity | ) |
Set all the parameters to create an snow effect of specified intensity.
| void osgParticle::PrecipitationEffect::setMaximumParticleDensity | ( | float | density | ) | [inline] |
| float osgParticle::PrecipitationEffect::setMaximumParticleDensity | ( | ) | const [inline] |
| void osgParticle::PrecipitationEffect::setWind | ( | const osg::Vec3 & | wind | ) | [inline] |
| const osg::Vec3& osgParticle::PrecipitationEffect::getWind | ( | ) | const [inline] |
| void osgParticle::PrecipitationEffect::setPosition | ( | const osg::Vec3 & | position | ) | [inline] |
| const osg::Vec3& osgParticle::PrecipitationEffect::getPosition | ( | ) | const [inline] |
| void osgParticle::PrecipitationEffect::setCellSize | ( | const osg::Vec3 & | cellSize | ) | [inline] |
| const osg::Vec3& osgParticle::PrecipitationEffect::getCellSize | ( | ) | const [inline] |
| void osgParticle::PrecipitationEffect::setParticleSpeed | ( | float | particleSpeed | ) | [inline] |
| float osgParticle::PrecipitationEffect::getParticleSpeed | ( | ) | const [inline] |
| void osgParticle::PrecipitationEffect::setParticleSize | ( | float | particleSize | ) | [inline] |
| float osgParticle::PrecipitationEffect::getParticleSize | ( | ) | const [inline] |
| void osgParticle::PrecipitationEffect::setParticleColor | ( | const osg::Vec4 & | color | ) | [inline] |
| const osg::Vec4& osgParticle::PrecipitationEffect::getParticleColor | ( | ) | const [inline] |
| void osgParticle::PrecipitationEffect::setNearTransition | ( | float | nearTransition | ) | [inline] |
| float osgParticle::PrecipitationEffect::getNearTransition | ( | ) | const [inline] |
| void osgParticle::PrecipitationEffect::setFarTransition | ( | float | farTransition | ) | [inline] |
| float osgParticle::PrecipitationEffect::getFarTransition | ( | ) | const [inline] |
| void osgParticle::PrecipitationEffect::setUseFarLineSegments | ( | bool | useFarLineSegments | ) | [inline] |
| bool osgParticle::PrecipitationEffect::getUseFarLineSegments | ( | ) | const [inline] |
| void osgParticle::PrecipitationEffect::setFog | ( | osg::Fog * | fog | ) | [inline] |
| osg::Fog* osgParticle::PrecipitationEffect::getFog | ( | ) | [inline] |
| const osg::Fog* osgParticle::PrecipitationEffect::getFog | ( | ) | const [inline] |
| osg::Geometry* osgParticle::PrecipitationEffect::getQuadGeometry | ( | ) | [inline] |
| osg::StateSet* osgParticle::PrecipitationEffect::getQuadStateSet | ( | ) | [inline] |
| osg::Geometry* osgParticle::PrecipitationEffect::getLineGeometry | ( | ) | [inline] |
| osg::StateSet* osgParticle::PrecipitationEffect::getLineStateSet | ( | ) | [inline] |
| osg::Geometry* osgParticle::PrecipitationEffect::getPointGeometry | ( | ) | [inline] |
| osg::StateSet* osgParticle::PrecipitationEffect::getPointStateSet | ( | ) | [inline] |
| void osgParticle::PrecipitationEffect::compileGLObjects | ( | osg::RenderInfo & | renderInfo | ) | const [protected] |
| void osgParticle::PrecipitationEffect::update | ( | ) | [protected] |
| void osgParticle::PrecipitationEffect::createGeometry | ( | unsigned int | numParticles, | |
| osg::Geometry * | quad_geometry, | |||
| osg::Geometry * | line_geometry, | |||
| osg::Geometry * | point_geometry | |||
| ) | [protected] |
| void osgParticle::PrecipitationEffect::setUpGeometries | ( | unsigned int | numParticles | ) | [protected] |
| void osgParticle::PrecipitationEffect::cull | ( | PrecipitationDrawableSet & | pds, | |
| osgUtil::CullVisitor * | cv | |||
| ) | const [protected] |
| bool osgParticle::PrecipitationEffect::build | ( | const osg::Vec3 | eyeLocal, | |
| int | i, | |||
| int | j, | |||
| int | k, | |||
| float | startTime, | |||
| PrecipitationDrawableSet & | pds, | |||
| osg::Polytope & | frustum, | |||
| osgUtil::CullVisitor * | cv | |||
| ) | const [protected] |
bool osgParticle::PrecipitationEffect::_dirty [protected] |
osg::Vec3 osgParticle::PrecipitationEffect::_wind [protected] |
float osgParticle::PrecipitationEffect::_particleSpeed [protected] |
float osgParticle::PrecipitationEffect::_particleSize [protected] |
float osgParticle::PrecipitationEffect::_maximumParticleDensity [protected] |
osg::Vec3 osgParticle::PrecipitationEffect::_cellSize [protected] |
float osgParticle::PrecipitationEffect::_nearTransition [protected] |
float osgParticle::PrecipitationEffect::_farTransition [protected] |
bool osgParticle::PrecipitationEffect::_useFarLineSegments [protected] |
osg::ref_ptr<osg::Fog> osgParticle::PrecipitationEffect::_fog [protected] |
OpenThreads::Mutex osgParticle::PrecipitationEffect::_mutex [protected] |
float osgParticle::PrecipitationEffect::_period [protected] |
osg::Vec3 osgParticle::PrecipitationEffect::_origin [protected] |
osg::Vec3 osgParticle::PrecipitationEffect::_du [protected] |
osg::Vec3 osgParticle::PrecipitationEffect::_dv [protected] |
osg::Vec3 osgParticle::PrecipitationEffect::_dw [protected] |