Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes

osgParticle::PrecipitationEffect Class Reference

Inheritance diagram for osgParticle::PrecipitationEffect:
osg::Node osg::Object osg::Referenced

List of all members.

Classes

class  PrecipitationDrawable
struct  PrecipitationDrawableSet

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

Member Typedef Documentation


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.

References osg::NodeVisitor::apply(), osg::NodeVisitor::popFromNodePath(), osg::NodeVisitor::pushOntoNodePath(), and osg::NodeVisitor::validNodeMask().

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::RenderInfo renderInfo ) 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]
osg::Fog* osgParticle::PrecipitationEffect::getFog (  ) [inline]
const osg::Fog* osgParticle::PrecipitationEffect::getFog (  ) const [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]
void osgParticle::PrecipitationEffect::setMaximumParticleDensity ( float  density ) [inline]
float osgParticle::PrecipitationEffect::setMaximumParticleDensity (  ) const [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  ) [virtual]

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

Reimplemented from osg::Node.

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

Member Data Documentation


The documentation for this class was generated from the following file: