15 #include <osgParticle/range>
38 const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY );
45 void setPosition(
int puffIndex,
const osg::Vec3d& pos );
50 void setDensity(
int puffIndex,
float dens );
55 void setOneSigma(
int puffIndex,
const osg::Vec3& sigmas );
64 void setIntensityRange(
float mn,
float mx );
71 void setParticleSizeRange(
float isz,
float fsz );
78 void setParticleColorRange(
const osg::Vec4& icl,
const osg::Vec4& fcl );
85 void setParticleAlphaMultiplier(
float alpha );
92 virtual void emitParticles(
double dt );
112 , position( 0.0, 0.f, 0.0 )
113 , density( 1.0f, 0.0f )
114 , sigmas( 1.0f, 1.0f, 1.0f )
118 : index( other.index )
119 , position( other.position )
120 , density( other.density )
121 , sigmas( other.sigmas )
126 std::swap( index, other.
index );
127 std::swap( position, other.
position );
128 std::swap( density, other.
density );
129 std::swap( sigmas, other.
sigmas );
141 typedef std::vector<PuffData>
Puffs;
148 PuffData& puffData(
int puffIndex );