From Morten Haukness, "When cloning effects osg crashes because the copy constructur tries to run av pure virtual method (setUpEmitterAndProgram). The right thing to do when cloning an effect is to run the inherited version og buildEffect and setUpEmitterAndProgram.
"
This commit is contained in:
@@ -57,6 +57,7 @@ ExplosionDebrisEffect::ExplosionDebrisEffect(const osg::Vec3& position, float sc
|
||||
ExplosionDebrisEffect::ExplosionDebrisEffect(const ExplosionDebrisEffect& copy, const osg::CopyOp& copyop):
|
||||
ParticleEffect(copy,copyop)
|
||||
{
|
||||
if (_automaticSetup) buildEffect();
|
||||
}
|
||||
|
||||
void ExplosionDebrisEffect::setDefaults()
|
||||
|
||||
@@ -57,6 +57,7 @@ ExplosionEffect::ExplosionEffect(const osg::Vec3& position, float scale, float i
|
||||
ExplosionEffect::ExplosionEffect(const ExplosionEffect& copy, const osg::CopyOp& copyop):
|
||||
ParticleEffect(copy,copyop)
|
||||
{
|
||||
if (_automaticSetup) buildEffect();
|
||||
}
|
||||
|
||||
void ExplosionEffect::setDefaults()
|
||||
|
||||
@@ -58,6 +58,7 @@ FireEffect::FireEffect(const osg::Vec3& position, float scale, float intensity)
|
||||
FireEffect::FireEffect(const FireEffect& copy, const osg::CopyOp& copyop):
|
||||
ParticleEffect(copy,copyop)
|
||||
{
|
||||
if (_automaticSetup) buildEffect();
|
||||
}
|
||||
|
||||
void FireEffect::setDefaults()
|
||||
|
||||
@@ -30,7 +30,6 @@ ParticleEffect::ParticleEffect(const ParticleEffect& copy, const osg::CopyOp& co
|
||||
_emitterDuration(copy._emitterDuration),
|
||||
_wind(copy._wind)
|
||||
{
|
||||
if (_automaticSetup) buildEffect();
|
||||
}
|
||||
|
||||
void ParticleEffect::setUseLocalParticleSystem(bool local)
|
||||
|
||||
@@ -54,6 +54,7 @@ SmokeEffect::SmokeEffect(const osg::Vec3& position, float scale, float intensity
|
||||
SmokeEffect::SmokeEffect(const SmokeEffect& copy, const osg::CopyOp& copyop):
|
||||
ParticleEffect(copy,copyop)
|
||||
{
|
||||
if (_automaticSetup) buildEffect();
|
||||
}
|
||||
|
||||
void SmokeEffect::setDefaults()
|
||||
|
||||
@@ -55,6 +55,7 @@ SmokeTrailEffect::SmokeTrailEffect(const osg::Vec3& position, float scale, float
|
||||
SmokeTrailEffect::SmokeTrailEffect(const SmokeTrailEffect& copy, const osg::CopyOp& copyop):
|
||||
ParticleEffect(copy,copyop)
|
||||
{
|
||||
if (_automaticSetup) buildEffect();
|
||||
}
|
||||
|
||||
void SmokeTrailEffect::setDefaults()
|
||||
|
||||
Reference in New Issue
Block a user