From 0f47f9fc8332c5c1e2a5112c08dc6d0bbee72bb6 Mon Sep 17 00:00:00 2001 From: Mike Goslin Date: Thu, 31 May 2001 17:45:12 +0000 Subject: [PATCH] *** empty log message *** --- direct/src/particles/ParticleEffect.py | 18 ++++++---- direct/src/particles/Particles.py | 49 +++++++++++++++++--------- 2 files changed, 44 insertions(+), 23 deletions(-) diff --git a/direct/src/particles/ParticleEffect.py b/direct/src/particles/ParticleEffect.py index 557628ce3a..aba5f7e614 100644 --- a/direct/src/particles/ParticleEffect.py +++ b/direct/src/particles/ParticleEffect.py @@ -3,11 +3,19 @@ from DirectObject import * import Particles import ForceGroup +import DirectNotifyGlobal class ParticleEffect(NodePath): - def __init__(self, name = 'ParticleEffect'): + + notify = DirectNotifyGlobal.directNotify.newCategory('ParticleEffect') + id = 1 + + def __init__(self, name=None): """__init__()""" NodePath.__init__(self) + if (name == None): + name = 'particle-effect-%d' % ParticleEffect.id + ParticleEffect.id += 1 self.assign(hidden.attachNewNode(name)) # Record particle effect name self.name = name @@ -118,9 +126,6 @@ class ParticleEffect(NodePath): def saveConfig(self, filename): """saveFileData(filename)""" - #fname = Filename(filename) - #fname.resolveFilename(getParticlePath()) - #fname.resolveFilename(getModelPath()) f = open(filename.toOsSpecific(), 'wb') # Add a blank line f.write('\n') @@ -129,7 +134,7 @@ class ParticleEffect(NodePath): f.write('for p in self.getParticlesList():\n') f.write('\tself.removeParticles(p)\n') f.write('for fg in self.getForceGroupList():\n') - f.write('\tpe.removeForceGroup(fg)\n') + f.write('\tself.removeForceGroup(fg)\n') f.write('self.particlesDict = {}\n') f.write('self.forceGroupDict = {}\n') @@ -157,7 +162,8 @@ class ParticleEffect(NodePath): for fg in self.forceGroupDict.values(): target = 'f%d' % num num = num + 1 - f.write(target + ' = ForceGroup.ForceGroup(\'%s\')\n' % fg.getName()) + f.write(target + ' = ForceGroup.ForceGroup(\'%s\')\n' % \ + fg.getName()) fg.printParams(f, target) f.write('self.addForceGroup(%s)\n' % target) diff --git a/direct/src/particles/Particles.py b/direct/src/particles/Particles.py index a5de73d712..933fe6690c 100644 --- a/direct/src/particles/Particles.py +++ b/direct/src/particles/Particles.py @@ -26,20 +26,22 @@ import TangentRingEmitter import string import os import DirectSelection +import DirectNotifyGlobal SparkleParticleRenderer.SparkleParticleRenderer.SPNOSCALE = 0 SparkleParticleRenderer.SparkleParticleRenderer.SPSCALE = 1 class Particles(ParticleSystem.ParticleSystem): - particleNum = 1 + notify = DirectNotifyGlobal.directNotify.newCategory('Particles') + id = 1 - def __init__(self, name = None, poolSize = 1024): + def __init__(self, name=None, poolSize=1024): """__init__(name, poolSize)""" if (name == None): - self.name = 'particles-%d' % self.particleNum - self.particleNum = self.particleNum + 1 + self.name = 'particles-%d' % Particles.id + Particles.id += 1 else: self.name = name ParticleSystem.ParticleSystem.__init__(self, poolSize) @@ -221,23 +223,34 @@ class Particles(ParticleSystem.ParticleSystem): file.write('# Factory parameters\n') file.write(targ + ('.factory.setLifespanBase(%.4f)\n' % self.factory.getLifespanBase())) - file.write(targ + '.factory.setLifespanSpread(%.4f)\n' % self.factory.getLifespanSpread()) - file.write(targ + '.factory.setMassBase(%.4f)\n' % self.factory.getMassBase()) - file.write(targ + '.factory.setMassSpread(%.4f)\n' % self.factory.getMassSpread()) - file.write(targ + '.factory.setTerminalVelocityBase(%.4f)\n' % self.factory.getTerminalVelocityBase()) - file.write(targ + '.factory.setTerminalVelocitySpread(%.4f)\n' % self.factory.getTerminalVelocitySpread()) + file.write(targ + '.factory.setLifespanSpread(%.4f)\n' % \ + self.factory.getLifespanSpread()) + file.write(targ + '.factory.setMassBase(%.4f)\n' % \ + self.factory.getMassBase()) + file.write(targ + '.factory.setMassSpread(%.4f)\n' % \ + self.factory.getMassSpread()) + file.write(targ + '.factory.setTerminalVelocityBase(%.4f)\n' % \ + self.factory.getTerminalVelocityBase()) + file.write(targ + '.factory.setTerminalVelocitySpread(%.4f)\n' % \ + self.factory.getTerminalVelocitySpread()) if (self.factoryType == "PointParticleFactory"): file.write('# Point factory parameters\n') elif (self.factoryType == "ZSpinParticleFactory"): file.write('# Z Spin factory parameters\n') - file.write(targ + '.factory.setInitialAngle(%.4f)\n' % self.factory.getInitialAngle()) - file.write(targ + '.factory.setFinalAngle(%.4f)\n' % self.factory.getFinalAngle()) - file.write(targ + '.factory.setInitialAngleSpread(%.4f)\n' % self.factory.getInitialAngleSpread()) - file.write(targ + '.factory.setFinalAngleSpread(%.4f)\n' % self.factory.getFinalAngleSpread()) + file.write(targ + '.factory.setInitialAngle(%.4f)\n' % \ + self.factory.getInitialAngle()) + file.write(targ + '.factory.setFinalAngle(%.4f)\n' % \ + self.factory.getFinalAngle()) + file.write(targ + '.factory.setInitialAngleSpread(%.4f)\n' % \ + self.factory.getInitialAngleSpread()) + file.write(targ + '.factory.setFinalAngleSpread(%.4f)\n' % \ + self.factory.getFinalAngleSpread()) elif (self.factoryType == "OrientedParticleFactory"): file.write('# Oriented factory parameters\n') - file.write(targ + '.factory.setInitialOrientation(%.4f)\n' % self.factory.getInitialOrientation()) - file.write(targ + '.factory.setFinalOrientation(%.4f)\n' % self.factory.getFinalOrientation()) + file.write(targ + '.factory.setInitialOrientation(%.4f)\n' % \ + self.factory.getInitialOrientation()) + file.write(targ + '.factory.setFinalOrientation(%.4f)\n' % \ + self.factory.getFinalOrientation()) file.write('# Renderer parameters\n') alphaMode = self.renderer.getAlphaMode() @@ -254,10 +267,12 @@ class Particles(ParticleSystem.ParticleSystem): BaseParticleRenderer.BaseParticleRenderer.PRALPHAUSER): aMode = "PRALPHAUSER" file.write(targ + '.renderer.setAlphaMode(BaseParticleRenderer.' + aMode + ')\n') - file.write(targ + '.renderer.setUserAlpha(%.2f)\n' % self.renderer.getUserAlpha()) + file.write(targ + '.renderer.setUserAlpha(%.2f)\n' % \ + self.renderer.getUserAlpha()) if (self.rendererType == "Point"): file.write('# Point parameters\n') - file.write(targ + '.renderer.setPointSize(%.2f)\n' % self.renderer.getPointSize()) + file.write(targ + '.renderer.setPointSize(%.2f)\n' % \ + self.renderer.getPointSize()) sColor = self.renderer.getStartColor() file.write((targ + '.renderer.setStartColor(Vec4(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3]))) sColor = self.renderer.getEndColor()