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::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


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.