pointers in Particles object should be ref_ptr

This commit is contained in:
timoore 2008-08-11 08:32:13 +00:00
parent 74d3bdc68c
commit 29aad066f0
2 changed files with 5 additions and 8 deletions

View File

@ -477,7 +477,7 @@ void Particles::operator()(osg::Node* node, osg::NodeVisitor* nv)
particleSys->getDefaultParticleTemplate().setSizeRange(osgParticle::rangef(startSize, endSize));
if (lifeValue)
particleSys->getDefaultParticleTemplate().setLifeTime(lifeValue->getValue());
if (program) {
if (program.valid()) {
if (useGravity)
program->setAcceleration(GlobalParticleCallback::getGravityVector());
if (useWind)

View File

@ -97,8 +97,6 @@ public:
endSizeValue(NULL),
lifeValue(NULL),
counterCond(NULL),
refFrame(NULL),
program(NULL),
useGravity(false),
useWind(false)
{
@ -265,16 +263,15 @@ protected:
SGExpressiond* endSizeValue;
SGExpressiond* lifeValue;
SGCondition* counterCond;
osg::MatrixTransform* refFrame;
float staticColorComponents[8];
float startSize;
float endSize;
float counterStaticValue;
float counterStaticExtraRange;
osgParticle::RadialShooter* shooter;
osgParticle::RandomRateCounter* counter;
osgParticle::ParticleSystem* particleSys;
osgParticle::FluidProgram* program;
osg::ref_ptr<osgParticle::RadialShooter> shooter;
osg::ref_ptr<osgParticle::RandomRateCounter> counter;
osg::ref_ptr<osgParticle::ParticleSystem> particleSys;
osg::ref_ptr<osgParticle::FluidProgram> program;
bool useGravity;
bool useWind;
static osg::ref_ptr<osgParticle::ParticleSystemUpdater> psu;