Fix a bug in the plant layer: when the plant is so small that we can't calculate...
authordooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Sat, 5 Apr 2008 20:22:47 +0000 (20:22 +0000)
committerdooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Sat, 5 Apr 2008 20:22:47 +0000 (20:22 +0000)
git-svn-id: http://svn.voria.com/code@1962 1f10aa63-cdf2-0310-b900-c93c546f37ac

synfig-core/trunk/src/modules/mod_particle/plant.cpp

index 1cc6dc0..60652a4 100644 (file)
@@ -241,6 +241,9 @@ Plant::sync()const
                        if((((i+1)*sprouts + steps/2) / steps) > branch_count) {
                                Vector branch_velocity(deriv(f).norm()*velocity + deriv(f).perp().norm()*perp_velocity);
 
+                               if (isnan(branch_velocity[0]) || isnan(branch_velocity[1]))
+                                       continue;
+
                                branch_velocity[0] += random_factor * random(Random::SMOOTH_COSINE, 1, f*splits, 0.0f, 0.0f);
                                branch_velocity[1] += random_factor * random(Random::SMOOTH_COSINE, 2, f*splits, 0.0f, 0.0f);