From 134de4472d3f2fa913944770595de9221dd27fdf Mon Sep 17 00:00:00 2001 From: Thomas B Thompson Date: Tue, 4 Jan 2011 00:04:05 -0500 Subject: worked on profiling, made a bunch of changes, huge speedup! --- pixelevents/DecayEvent.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'pixelevents') diff --git a/pixelevents/DecayEvent.py b/pixelevents/DecayEvent.py index 0b4c820..c1166d6 100644 --- a/pixelevents/DecayEvent.py +++ b/pixelevents/DecayEvent.py @@ -3,14 +3,22 @@ import math from util.ColorOps import * class DecayEvent(PixelEvent): def initEvent(self): - self['Coefficient'] = abs(self['Coefficient']) - def state(self,timeDelay): + self.coefficient = float(abs(self['Coefficient'])) if self['DecayType'] == 'Exponential': - decay = math.exp(timeDelay*-1*self['Coefficient']) - if self['DecayType'] == 'Proportional': - decay = float(self['Coefficient']) / timeDelay - color = multiplyColor(self['Color'], decay) - return color if sum(color) > 5 else None + self.decayType = 1 + else: + self.decayType = 2 + self.color = self['Color'] + + #SUBVERTING DESIGN FOR THE SAKE OF EFFICIENCY -- RUSSELL COHEN (2011-01-03-23:18) + def state(self,timeDelay): + if self.decayType == 1: + decay = math.exp(timeDelay*-1*self.coefficient) + if self.decayType == 2: + decay = self.coefficient / timeDelay + color = multiplyColor(self.color, decay) + return color if (color[0] + color[1] + color[2]) > 5 else None + @staticmethod def generate(decayType, coefficient, color): args = {'DecayType': decayType, 'Coefficient':coefficient, 'Color':color} -- cgit v1.2.3