osgParticle::PrecipitationEffect Class Reference

Inheritance diagram for osgParticle::PrecipitationEffect:

osg::Node osg::Object osg::Referenced 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
virtual const char * className () const
virtual bool isSameKindAs (const osg::Object *obj) const
virtual void accept (osg::NodeVisitor &nv)
virtual void traverse (osg::NodeVisitor &nv)
void rain (float intensity)
void snow (float 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 > 
ViewIdenitifier
typedef std::map< ViewIdenitifier,
PrecipitationDrawableSet > 
ViewDrawableMap

Protected Member Functions

virtual ~PrecipitationEffect ()
void compileGLObjects (osg::State &state) 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
struct  PrecipitationDrawableSet

Member Typedef Documentation

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

typedef std::pair< osg::NodeVisitor*, osg::NodePath > osgParticle::PrecipitationEffect::ViewIdenitifier [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 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.

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]
 

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

return the name of the node's class type.

Reimplemented from osg::Node.

void osgParticle::PrecipitationEffect::compileGLObjects (  osg::State &  state  )  const [protected]
 

void osgParticle::PrecipitationEffect::createGeometry (  unsigned int  numParticles,
osg::Geometry *  quad_geometry,
osg::Geometry *  line_geometry,
osg::Geometry *  point_geometry
)  [protected]
 

void osgParticle::PrecipitationEffect::cull (  PrecipitationDrawableSet &  pds,
osgUtil::CullVisitor *  cv
)  const [protected]
 

const osg::Vec3& osgParticle::PrecipitationEffect::getCellSize (   )  const [inline]
 

float osgParticle::PrecipitationEffect::getFarTransition (   )  const [inline]
 

const osg::Fog* osgParticle::PrecipitationEffect::getFog (   )  const [inline]
 

osg::Fog* osgParticle::PrecipitationEffect::getFog (   )  [inline]
 

osg::Geometry* osgParticle::PrecipitationEffect::getLineGeometry (   )  [inline]
 

osg::StateSet* osgParticle::PrecipitationEffect::getLineStateSet (   )  [inline]
 

float osgParticle::PrecipitationEffect::getNearTransition (   )  const [inline]
 

const osg::Vec4& osgParticle::PrecipitationEffect::getParticleColor (   )  const [inline]
 

float osgParticle::PrecipitationEffect::getParticleSize (   )  const [inline]
 

float osgParticle::PrecipitationEffect::getParticleSpeed (   )  const [inline]
 

osg::Geometry* osgParticle::PrecipitationEffect::getPointGeometry (   )  [inline]
 

osg::StateSet* osgParticle::PrecipitationEffect::getPointStateSet (   )  [inline]
 

const osg::Vec3& osgParticle::PrecipitationEffect::getPosition (   )  const [inline]
 

osg::Geometry* osgParticle::PrecipitationEffect::getQuadGeometry (   )  [inline]
 

osg::StateSet* osgParticle::PrecipitationEffect::getQuadStateSet (   )  [inline]
 

bool osgParticle::PrecipitationEffect::getUseFarLineSegments (   )  const [inline]
 

const osg::Vec3& osgParticle::PrecipitationEffect::getWind (   )  const [inline]
 

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 const char* osgParticle::PrecipitationEffect::libraryName (   )  const [inline, virtual]
 

return the name of the node's library.

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::setCellSize (  const osg::Vec3 &  cellSize  )  [inline]
 

void osgParticle::PrecipitationEffect::setFarTransition (  float  farTransition  )  [inline]
 

void osgParticle::PrecipitationEffect::setFog (  osg::Fog *  fog  )  [inline]
 

float osgParticle::PrecipitationEffect::setMaximumParticleDensity (   )  const [inline]
 

void osgParticle::PrecipitationEffect::setMaximumParticleDensity (  float  density  )  [inline]
 

void osgParticle::PrecipitationEffect::setNearTransition (  float  nearTransition  )  [inline]
 

void osgParticle::PrecipitationEffect::setParticleColor (  const osg::Vec4 &  color  )  [inline]
 

void osgParticle::PrecipitationEffect::setParticleSize (  float  particleSize  )  [inline]
 

void osgParticle::PrecipitationEffect::setParticleSpeed (  float  particleSpeed  )  [inline]
 

void osgParticle::PrecipitationEffect::setPosition (  const osg::Vec3 &  position  )  [inline]
 

void osgParticle::PrecipitationEffect::setUpGeometries (  unsigned int  numParticles  )  [protected]
 

void osgParticle::PrecipitationEffect::setUseFarLineSegments (  bool  useFarLineSegments  )  [inline]
 

void osgParticle::PrecipitationEffect::setWind (  const osg::Vec3 &  wind  )  [inline]
 

void osgParticle::PrecipitationEffect::snow (  float  intensity  ) 
 

Set all the parameters to create an snow effect of specified intensity.

virtual void osgParticle::PrecipitationEffect::traverse (  osg::NodeVisitor &  nv  )  [virtual]
 

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

Reimplemented from osg::Node.

void osgParticle::PrecipitationEffect::update (   )  [protected]
 


Member Data Documentation

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

bool osgParticle::PrecipitationEffect::_dirty [protected]
 

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

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

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

float osgParticle::PrecipitationEffect::_farTransition [protected]
 

osg::ref_ptr<osg::Fog> osgParticle::PrecipitationEffect::_fog [protected]
 

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

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

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

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

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

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

float osgParticle::PrecipitationEffect::_maximumParticleDensity [protected]
 

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

float osgParticle::PrecipitationEffect::_nearTransition [protected]
 

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

osg::Vec4 osgParticle::PrecipitationEffect::_particleColor [protected]
 

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

float osgParticle::PrecipitationEffect::_particleSize [protected]
 

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

float osgParticle::PrecipitationEffect::_particleSpeed [protected]
 

float osgParticle::PrecipitationEffect::_period [protected]
 

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

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

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

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

bool osgParticle::PrecipitationEffect::_useFarLineSegments [protected]
 

ViewDrawableMap osgParticle::PrecipitationEffect::_viewDrawableMap [protected]
 

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


The documentation for this class was generated from the following file:
Generated on Wed Nov 29 06:19:26 2006 for OpenSceneGraph by  doxygen 1.4.6