osgParticle::PrecipitationEffect Class Reference

Inheritance diagram for osgParticle::PrecipitationEffect:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 PrecipitationEffect ()
 PrecipitationEffect (const PrecipitationEffect &copy, const osg::CopyOp &copyop=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::Vec3getWind () const
void setPosition (const osg::Vec3 &position)
const osg::Vec3getPosition () const
void setCellSize (const osg::Vec3 &cellSize)
const osg::Vec3getCellSize () const
void setParticleSpeed (float particleSpeed)
float getParticleSpeed () const
void setParticleSize (float particleSize)
float getParticleSize () const
void setParticleColor (const osg::Vec4 &color)
const osg::Vec4getParticleColor () 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::FoggetFog ()
const osg::FoggetFog () const
osg::GeometrygetQuadGeometry ()
osg::StateSetgetQuadStateSet ()
osg::GeometrygetLineGeometry ()
osg::StateSetgetLineStateSet ()
osg::GeometrygetPointGeometry ()
osg::StateSetgetPointStateSet ()

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


Member Typedef Documentation

typedef std::pair< osg::NodeVisitor*, osg::NodePath > osgParticle::PrecipitationEffect::ViewIdentifier [protected]

typedef std::map< ViewIdentifier, PrecipitationDrawableSet > osgParticle::PrecipitationEffect::ViewDrawableMap [protected]


Constructor & Destructor Documentation

osgParticle::PrecipitationEffect::PrecipitationEffect (  ) 

osgParticle::PrecipitationEffect::PrecipitationEffect ( const PrecipitationEffect copy,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
)

virtual osgParticle::PrecipitationEffect::~PrecipitationEffect (  )  [inline, protected, virtual]


Member Function Documentation

virtual const char* osgParticle::PrecipitationEffect::libraryName (  )  const [inline, virtual]

return the name of the node's library.

Reimplemented from osg::Node.

virtual const char* osgParticle::PrecipitationEffect::className (  )  const [inline, virtual]

return the name of the node's class type.

Reimplemented from osg::Node.

virtual bool osgParticle::PrecipitationEffect::isSameKindAs ( const osg::Object obj  )  const [inline, virtual]

return true if this and obj are of the same kind of object.

Reimplemented from osg::Node.

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]

Traverse downwards : calls children's accept method with NodeVisitor.

Reimplemented from osg::Node.

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]


Member Data Documentation

bool osgParticle::PrecipitationEffect::_dirty [protected]

osg::Vec3 osgParticle::PrecipitationEffect::_wind [protected]

float osgParticle::PrecipitationEffect::_particleSpeed [protected]

float osgParticle::PrecipitationEffect::_particleSize [protected]

osg::Vec4 osgParticle::PrecipitationEffect::_particleColor [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]

osg::ref_ptr<osg::Uniform> osgParticle::PrecipitationEffect::_inversePeriodUniform [protected]

osg::ref_ptr<osg::Uniform> osgParticle::PrecipitationEffect::_particleSizeUniform [protected]

osg::ref_ptr<osg::Uniform> osgParticle::PrecipitationEffect::_particleColorUniform [protected]

OpenThreads::Mutex osgParticle::PrecipitationEffect::_mutex [protected]

ViewDrawableMap osgParticle::PrecipitationEffect::_viewDrawableMap [protected]

osg::ref_ptr<osg::Geometry> osgParticle::PrecipitationEffect::_quadGeometry [protected]

osg::ref_ptr<osg::StateSet> osgParticle::PrecipitationEffect::_quadStateSet [protected]

osg::ref_ptr<osg::Geometry> osgParticle::PrecipitationEffect::_lineGeometry [protected]

osg::ref_ptr<osg::StateSet> osgParticle::PrecipitationEffect::_lineStateSet [protected]

osg::ref_ptr<osg::Geometry> osgParticle::PrecipitationEffect::_pointGeometry [protected]

osg::ref_ptr<osg::StateSet> osgParticle::PrecipitationEffect::_pointStateSet [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]

osg::Vec3 osgParticle::PrecipitationEffect::_inverse_du [protected]

osg::Vec3 osgParticle::PrecipitationEffect::_inverse_dv [protected]

osg::Vec3 osgParticle::PrecipitationEffect::_inverse_dw [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:44 2007 for the OpenSceneGraph by doxygen 1.5.3.