From 19ebaaac00e1167620e6dea3ccfef6d1088ae332 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 11 Jun 2009 15:13:04 +0000 Subject: [PATCH] Fixed copy constructor --- src/osgParticle/PrecipitationEffect.cpp | 34 +++++++++++++++++++------ 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/osgParticle/PrecipitationEffect.cpp b/src/osgParticle/PrecipitationEffect.cpp index 5a22e6a90..19ea15268 100644 --- a/src/osgParticle/PrecipitationEffect.cpp +++ b/src/osgParticle/PrecipitationEffect.cpp @@ -115,6 +115,32 @@ PrecipitationEffect::PrecipitationEffect(): rain(0.5); } + +PrecipitationEffect::PrecipitationEffect(const PrecipitationEffect& copy, const osg::CopyOp& copyop): + osg::Node(copy,copyop), + _previousFrameTime(FLT_MAX) +{ + setNumChildrenRequiringUpdateTraversal(getNumChildrenRequiringUpdateTraversal()+1); + + _wind = copy._wind; + _particleSpeed = copy._particleSpeed; + _particleSize = copy._particleSize; + _particleColor = copy._particleColor; + _maximumParticleDensity = copy._maximumParticleDensity; + _cellSize = copy._cellSize; + _nearTransition = copy._nearTransition; + _farTransition = copy._farTransition; + + _fog = copy._fog.valid() ? dynamic_cast(copy._fog->clone(copyop)) : 0; + + + _useFarLineSegments = copy._useFarLineSegments; + + _dirty = true; + + update(); +} + void PrecipitationEffect::rain(float intensity) { _wind.set(0.0f,0.0f,0.0f); @@ -163,14 +189,6 @@ void PrecipitationEffect::snow(float intensity) update(); } -PrecipitationEffect::PrecipitationEffect(const PrecipitationEffect& copy, const osg::CopyOp& copyop): - osg::Node(copy,copyop) -{ - setNumChildrenRequiringUpdateTraversal(getNumChildrenRequiringUpdateTraversal()+1); - _dirty = true; - update(); -} - void PrecipitationEffect::compileGLObjects(osg::RenderInfo& renderInfo) const { if (_quadGeometry.valid())