From f1a5b2058d17087babb94dffcbdca64e428c157b Mon Sep 17 00:00:00 2001 From: Josh Wilson Date: Thu, 29 Jun 2006 19:18:43 +0000 Subject: [PATCH] added getPoolSizeRanges(), a utility function to estimate the ideal particle system size --- direct/src/particles/Particles.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/direct/src/particles/Particles.py b/direct/src/particles/Particles.py index 637037a0ab..0c976e133c 100644 --- a/direct/src/particles/Particles.py +++ b/direct/src/particles/Particles.py @@ -546,3 +546,19 @@ class Particles(ParticleSystem): file.write('# Tangent Ring parameters\n') file.write(targ + '.emitter.setRadius(%.4f)\n' % self.emitter.getRadius()) file.write(targ + '.emitter.setRadiusSpread(%.4f)\n' % self.emitter.getRadiusSpread()) + + def getPoolSizeRanges(self): + litterRange = [max(1,self.getLitterSize()-self.getLitterSpread()), + self.getLitterSize(), + self.getLitterSize()+self.getLitterSpread()] + lifespanRange = [self.factory.getLifespanBase()-self.factory.getLifespanSpread(), + self.factory.getLifespanBase(), + self.factory.getLifespanBase()+self.factory.getLifespanSpread()] + birthRateRange = [self.getBirthRate()] * 3 + + print litterRange + print lifespanRange + print birthRateRange + + return dict(zip(('min','median','max'),[l*s/b for l,s,b in zip(litterRange,lifespanRange,birthRateRange)])) +