*** empty log message ***

This commit is contained in:
Mike Goslin 2001-01-26 00:19:41 +00:00
parent 2712af9dc5
commit 90dd7a343a

View File

@ -194,195 +194,185 @@ class Particles(ParticleSystem.ParticleSystem):
fname = Filename(filename)
fname.resolveFilename(getParticlePath())
fname.resolveFilename(getModelPath())
f = open(fname.toOsSpecific(), 'r')
rawData = f.readlines()
f.close()
styleData = []
for line in rawData:
l = string.strip(line)
if l:
styleData.append(l)
return styleData
execfile(fname.toOsSpecific())
def printParams(self, file = sys.stdout):
"""printParams(self, file)"""
file.write('# Particles parameters\n')
file.write('import Particles\n')
file.write('p = Particles()\n')
file.write('p.setFactory(\"' + self.factoryType + '\")\n')
file.write('p.setRenderer(\"' + self.rendererType + '\")\n')
file.write('p.setEmitter(\"' + self.emitterType + '\")\n')
file.write('self.setFactory(\"' + self.factoryType + '\")\n')
file.write('self.setRenderer(\"' + self.rendererType + '\")\n')
file.write('self.setEmitter(\"' + self.emitterType + '\")\n')
file.write('# Factory parameters\n')
file.write('p.factory.setLifespanBase(%.4f)\n' % self.factory.getLifespanBase())
file.write('p.factory.setLifespanSpread(%.4f)\n' % self.factory.getLifespanSpread())
file.write('p.factory.setMassBase(%.4f)\n' % self.factory.getMassBase())
file.write('p.factory.setMassSpread(%.4f)\n' % self.factory.getMassSpread())
file.write('p.factory.setTerminalVelocityBase(%.4f)\n' % self.factory.getTerminalVelocityBase())
file.write('p.factory.setTerminalVelocitySpread(%.4f)\n' % self.factory.getTerminalVelocitySpread())
file.write('self.factory.setLifespanBase(%.4f)\n' % self.factory.getLifespanBase())
file.write('self.factory.setLifespanSpread(%.4f)\n' % self.factory.getLifespanSpread())
file.write('self.factory.setMassBase(%.4f)\n' % self.factory.getMassBase())
file.write('self.factory.setMassSpread(%.4f)\n' % self.factory.getMassSpread())
file.write('self.factory.setTerminalVelocityBase(%.4f)\n' % self.factory.getTerminalVelocityBase())
file.write('self.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('p.factory.setInitialAngle(%.4f)\n' % self.factory.getInitialAngle())
file.write('p.factory.setFinalAngle(%.4f)\n' % self.factory.getFinalAngle())
file.write('p.factory.setInitialAngleSpread(%.4f)\n' % self.factory.getInitialAngleSpread())
file.write('p.factory.setFinalAngleSpread(%.4f)\n' % self.factory.getFinalAngleSpread())
file.write('self.factory.setInitialAngle(%.4f)\n' % self.factory.getInitialAngle())
file.write('self.factory.setFinalAngle(%.4f)\n' % self.factory.getFinalAngle())
file.write('self.factory.setInitialAngleSpread(%.4f)\n' % self.factory.getInitialAngleSpread())
file.write('self.factory.setFinalAngleSpread(%.4f)\n' % self.factory.getFinalAngleSpread())
elif (self.factoryType == "OrientedParticleFactory"):
file.write('# Oriented factory parameters\n')
file.write('p.factory.setInitialOrientation(%.4f)\n' % self.factory.getInitialOrientation())
file.write('p.factory.setFinalOrientation(%.4f)\n' % self.factory.getFinalOrientation())
file.write('self.factory.setInitialOrientation(%.4f)\n' % self.factory.getInitialOrientation())
file.write('self.factory.setFinalOrientation(%.4f)\n' % self.factory.getFinalOrientation())
file.write('# Renderer parameters\n')
alphaMode = self.renderer.getAlphaMode()
aMode = "PR_NOT_INITIALIZED_YET"
aMode = "PRALPHANONE"
if (alphaMode == BaseParticleRenderer.BaseParticleRenderer.PRALPHANONE):
aMode = "PR_ALPHA_NONE"
aMode = "PRALPHANONE"
elif (alphaMode ==
BaseParticleRenderer.BaseParticleRenderer.PRALPHAOUT):
aMode = "PR_ALPHA_OUT"
aMode = "PRALPHAOUT"
elif (alphaMode ==
BaseParticleRenderer.BaseParticleRenderer.PRALPHAIN):
aMode = "PR_ALPHA_IN"
aMode = "PRALPHAIN"
elif (alphaMode ==
BaseParticleRenderer.BaseParticleRenderer.PRALPHAUSER):
aMode = "PR_ALPHA_USER"
file.write('p.renderer.setAlphaMode(BaseParticleRenderer.BaseParticleRenderer.' + aMode + ')\n')
file.write('p.renderer.setUserAlpha(%.2f)\n' % self.renderer.getUserAlpha())
aMode = "PRALPHAUSER"
file.write('self.renderer.setAlphaMode(BaseParticleRenderer.BaseParticleRenderer.' + aMode + ')\n')
file.write('self.renderer.setUserAlpha(%.2f)\n' % self.renderer.getUserAlpha())
if (self.rendererType == "Point"):
file.write('# Point parameters\n')
file.write('p.renderer.setPointSize(%.2f)\n' % self.renderer.getPointSize())
file.write('self.renderer.setPointSize(%.2f)\n' % self.renderer.getPointSize())
sColor = self.renderer.getStartColor()
file.write(('p.renderer.setStartColor(Colorf(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
file.write(('self.renderer.setStartColor(Vec4(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
sColor = self.renderer.getEndColor()
file.write(('p.renderer.setEndColor(Colorf(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
file.write(('self.renderer.setEndColor(Vec4(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
blendType = self.renderer.getBlendType()
bType = "unknown"
bType = "PPONECOLOR"
if (blendType == PointParticleRenderer.PointParticleRenderer.PPONECOLOR):
bType = "PP_ONE_COLOR"
bType = "PPONECOLOR"
elif (blendType == PointParticleRenderer.PointParticleRenderer.PPBLENDLIFE):
bType = "PP_BLEND_LIFE"
bType = "PPBLENDLIFE"
elif (blendType == PointParticleRenderer.PointParticleRenderer.PPBLENDVEL):
bType = "PP_BLEND_VEL"
file.write('p.renderer.setBlendType(PointParticleRenderer.PointParticleRenderer.' + bType + ')\n')
bType = "PPBLENDVEL"
file.write('self.renderer.setBlendType(PointParticleRenderer.PointParticleRenderer.' + bType + ')\n')
blendMethod = self.renderer.getBlendMethod()
bMethod = "PP_NO_BLEND"
bMethod = "PPNOBLEND"
if (blendMethod == BaseParticleRenderer.BaseParticleRenderer.PPNOBLEND):
bMethod = "PP_NO_BLEND"
bMethod = "PPNOBLEND"
elif (blendMethod == BaseParticleRenderer.BaseParticleRenderer.PPBLENDLINEAR):
bMethod = "PP_BLEND_LINEAR"
bMethod = "PPBLENDLINEAR"
elif (blendMethod == BaseParticleRenderer.BaseParticleRenderer.PPBLENDCUBIC):
bMethod = "PP_BLEND_CUBIC"
file.write('p.renderer.setBlendMethod(BaseParticleRenderer.BaseParticleRenderer.' + bMethod + ')\n')
bMethod = "PPBLENDCUBIC"
file.write('self.renderer.setBlendMethod(BaseParticleRenderer.BaseParticleRenderer.' + bMethod + ')\n')
elif (self.rendererType == "LineParticleRenderer"):
file.write('# Line parameters\n')
sColor = self.renderer.getHeadColor()
file.write(('p.renderer.setHeadColor(Colorf(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
file.write(('self.renderer.setHeadColor(Vec4(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
sColor = self.renderer.getTailColor()
file.write(('p.renderer.setTailColor(Colorf(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
file.write(('self.renderer.setTailColor(Vec4(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
elif (self.rendererType == "GeomParticleRenderer"):
file.write('# Geom parameters\n')
node = self.renderer.getGeomNode()
file.write('p.renderer.setGeomNode(' + node.getName() + ')\n')
file.write('self.renderer.setGeomNode(' + node.getName() + ')\n')
elif (self.rendererType == "SparkleParticleRenderer"):
file.write('# Sparkle parameters\n')
sColor = self.renderer.getCenterColor()
file.write(('p.renderer.setCenterColor(Colorf(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
file.write(('self.renderer.setCenterColor(Vec4(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
sColor = self.renderer.getEdgeColor()
file.write(('p.renderer.setEdgeColor(Colorf(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
file.write('p.renderer.setBirthRadius(%.4f)\n' % self.renderer.getBirthRadius())
file.write('p.renderer.setDeathRadius(%.4f)\n' % self.renderer.getDeathRadius())
file.write(('self.renderer.setEdgeColor(Vec4(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
file.write('self.renderer.setBirthRadius(%.4f)\n' % self.renderer.getBirthRadius())
file.write('self.renderer.setDeathRadius(%.4f)\n' % self.renderer.getDeathRadius())
lifeScale = self.renderer.getLifeScale()
lScale = "SP_NO_SCALE"
lScale = "SPNOSCALE"
if (lifeScale == SparkleParticleRenderer.SparkleParticleRenderer.SPSCALE):
lScale = "SP_SCALE"
file.write('p.renderer.setLifeScale(SparkleParticleRenderer.SparkleParticleRenderer.' + lScale + ')\n')
lScale = "SPSCALE"
file.write('self.renderer.setLifeScale(SparkleParticleRenderer.SparkleParticleRenderer.' + lScale + ')\n')
elif (self.rendererType == "SpriteParticleRenderer"):
file.write('# Sprite parameters\n')
tex = self.renderer.getTexture()
file.write('p.renderer.setTexture(loader.loadTexture(\'' + tex.getName() + '\'))\n')
file.write('self.renderer.setTexture(loader.loadTexture(\'' + tex.getName() + '\'))\n')
sColor = self.renderer.getColor()
file.write(('p.renderer.setColor(Colorf(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
file.write('p.renderer.setXScaleFlag(%d)\n' % self.renderer.getXScaleFlag())
file.write('p.renderer.setYScaleFlag(%d)\n' % self.renderer.getYScaleFlag())
file.write('p.renderer.setAnimAngleFlag(%d)\n' % self.renderer.getAnimAngleFlag())
file.write('p.renderer.setInitialXScale(%.4f)\n' % self.renderer.getInitialXScale())
file.write('p.renderer.setFinalXScale(%.4f)\n' % self.renderer.getFinalXScale())
file.write('p.renderer.setInitialYScale(%.4f)\n' % self.renderer.getInitialYScale())
file.write('p.renderer.setFinalYScale(%.4f)\n' % self.renderer.getFinalYScale())
file.write('p.renderer.setNonanimatedTheta(%.4f)\n' % self.renderer.getNonanimatedTheta())
file.write(('self.renderer.setColor(Vec4(%.2f, %.2f, %.2f, %.2f))\n' % (sColor[0], sColor[1], sColor[2], sColor[3])))
file.write('self.renderer.setXScaleFlag(%d)\n' % self.renderer.getXScaleFlag())
file.write('self.renderer.setYScaleFlag(%d)\n' % self.renderer.getYScaleFlag())
file.write('self.renderer.setAnimAngleFlag(%d)\n' % self.renderer.getAnimAngleFlag())
file.write('self.renderer.setInitialXScale(%.4f)\n' % self.renderer.getInitialXScale())
file.write('self.renderer.setFinalXScale(%.4f)\n' % self.renderer.getFinalXScale())
file.write('self.renderer.setInitialYScale(%.4f)\n' % self.renderer.getInitialYScale())
file.write('self.renderer.setFinalYScale(%.4f)\n' % self.renderer.getFinalYScale())
file.write('self.renderer.setNonanimatedTheta(%.4f)\n' % self.renderer.getNonanimatedTheta())
blendMethod = self.renderer.getAlphaBlendMethod()
bMethod = "PP_NO_BLEND"
bMethod = "PPNOBLEND"
if (blendMethod == BaseParticleRenderer.BaseParticleRenderer.PPNOBLEND):
bMethod = "PP_NO_BLEND"
bMethod = "PPNOBLEND"
elif (blendMethod == BaseParticleRenderer.BaseParticleRenderer.PPBLENDLINEAR):
bMethod = "PP_BLEND_LINEAR"
bMethod = "PPBLENDLINEAR"
elif (blendMethod == BaseParticleRenderer.BaseParticleRenderer.PPBLENDCUBIC):
bMethod = "PP_BLEND_CUBIC"
file.write('p.renderer.setAlphaBlendMethod(BaseParticleRenderer.BaseParticleRenderer.' + bMethod + ')\n')
file.write('p.renderer.setAlphaDisable(%d)\n' % self.renderer.getAlphaDisable())
bMethod = "PPBLENDCUBIC"
file.write('self.renderer.setAlphaBlendMethod(BaseParticleRenderer.BaseParticleRenderer.' + bMethod + ')\n')
file.write('self.renderer.setAlphaDisable(%d)\n' % self.renderer.getAlphaDisable())
file.write('# Emitter parameters\n')
emissionType = self.emitter.getEmissionType()
eType = "unknown"
eType = "ETEXPLICIT"
if (emissionType == BaseParticleEmitter.BaseParticleEmitter.ETEXPLICIT):
eType = "ET_EXPLICIT"
eType = "ETEXPLICIT"
elif (emissionType == BaseParticleEmitter.BaseParticleEmitter.ETRADIATE):
eType = "ET_RADIATE"
eType = "ETRADIATE"
elif (emissionType == BaseParticleEmitter.BaseParticleEmitter.ETCUSTOM):
eType = "ET_CUSTOM"
file.write('p.emitter.setEmissionType(BaseParticleEmitter.BaseParticleEmitter.' + eType + ')\n')
file.write('p.emitter.setAmplitude(%.4f)\n' % self.emitter.getAmplitude())
file.write('p.emitter.setAmplitudeSpread(%.4f)\n' % self.emitter.getAmplitudeSpread())
eType = "ETCUSTOM"
file.write('self.emitter.setEmissionType(BaseParticleEmitter.BaseParticleEmitter.' + eType + ')\n')
file.write('self.emitter.setAmplitude(%.4f)\n' % self.emitter.getAmplitude())
file.write('self.emitter.setAmplitudeSpread(%.4f)\n' % self.emitter.getAmplitudeSpread())
oForce = self.emitter.getOffsetForce()
file.write(('p.emitter.setOffsetForce(Vec3(%.4f, %.4f, %.4f))\n' % (oForce[0], oForce[1], oForce[2])))
file.write(('self.emitter.setOffsetForce(Vec3(%.4f, %.4f, %.4f))\n' % (oForce[0], oForce[1], oForce[2])))
oForce = self.emitter.getExplicitLaunchVector()
file.write(('p.emitter.setExplicitLaunchVector(Vec3(%.4f, %.4f, %.4f))\n' % (oForce[0], oForce[1], oForce[2])))
file.write(('self.emitter.setExplicitLaunchVector(Vec3(%.4f, %.4f, %.4f))\n' % (oForce[0], oForce[1], oForce[2])))
orig = self.emitter.getRadiateOrigin()
file.write(('p.emitter.setRadiateOrigin(Point3(%.4f, %.4f, %.4f))\n' % (orig[0], orig[1], orig[2])))
file.write(('self.emitter.setRadiateOrigin(Point3(%.4f, %.4f, %.4f))\n' % (orig[0], orig[1], orig[2])))
if (self.emitterType == "BoxEmitter"):
file.write('# Box parameters\n')
bound = self.emitter.getMinBound()
file.write(('p.emitter.setMinBound(Point3(%.4f, %.4f, %.4f))\n' % (bound[0], bound[1], bound[2])))
file.write(('self.emitter.setMinBound(Point3(%.4f, %.4f, %.4f))\n' % (bound[0], bound[1], bound[2])))
bound = self.emitter.getMaxBound()
file.write(('p.emitter.setMaxBound(Point3(%.4f, %.4f, %.4f))\n' % (bound[0], bound[1], bound[2])))
file.write(('self.emitter.setMaxBound(Point3(%.4f, %.4f, %.4f))\n' % (bound[0], bound[1], bound[2])))
elif (self.emitterType == "DiscEmitter"):
file.write('# Disc parameters\n')
file.write('p.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())
if (eType == "ET_CUSTOM"):
file.write('p.emitter.setOuterAngle(%.4f)\n' % self.emitter.getOuterAngle())
file.write('p.emitter.setInnerAngle(%.4f)\n' % self.emitter.getInnerAngle())
file.write('p.emitter.setOuterMagnitude(%.4f)\n' % self.emitter.getOuterMagnitude())
file.write('p.emitter.setInnerMagnitude(%.4f)\n' % self.emitter.getInnerMagnitude())
file.write('p.emitter.setCubicLerping(%d)\n' % self.emitter.getCubicLerping())
file.write('self.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())
if (eType == "ETCUSTOM"):
file.write('self.emitter.setOuterAngle(%.4f)\n' % self.emitter.getOuterAngle())
file.write('self.emitter.setInnerAngle(%.4f)\n' % self.emitter.getInnerAngle())
file.write('self.emitter.setOuterMagnitude(%.4f)\n' % self.emitter.getOuterMagnitude())
file.write('self.emitter.setInnerMagnitude(%.4f)\n' % self.emitter.getInnerMagnitude())
file.write('self.emitter.setCubicLerping(%d)\n' % self.emitter.getCubicLerping())
elif (self.emitterType == "LineEmitter"):
file.write('# Line parameters\n')
point = self.emitter.getEndpoint1()
file.write(('p.emitter.setEndpoint1(Point3(%.4f, %.4f, %.4f))\n' % (point[0], point[1], point[2])))
file.write(('self.emitter.setEndpoint1(Point3(%.4f, %.4f, %.4f))\n' % (point[0], point[1], point[2])))
point = self.emitter.getEndpoint2()
file.write(('p.emitter.setEndpoint2(Point3(%.4f, %.4f, %.4f))\n' % (point[0], point[1], point[2])))
file.write(('self.emitter.setEndpoint2(Point3(%.4f, %.4f, %.4f))\n' % (point[0], point[1], point[2])))
elif (self.emitterType == "PointEmitter"):
file.write('# Point parameters\n')
point = self.emitter.getLocation()
file.write(('p.emitter.setLocation(Point3(%.4f, %.4f, %.4f))\n' % (point[0], point[1], point[2])))
file.write(('self.emitter.setLocation(Point3(%.4f, %.4f, %.4f))\n' % (point[0], point[1], point[2])))
elif (self.emitterType == "RectangleEmitter"):
file.write('# Rectangle parameters\n')
bound = self.emitter.getMinBound()
file.write(('p.emitter.setMinBound(Point2(%.4f, %.4f))\n' % (point[0], point[1])))
file.write(('self.emitter.setMinBound(Point2(%.4f, %.4f))\n' % (point[0], point[1])))
bound = self.emitter.getMaxBound()
file.write(('p.emitter.setMaxBound(Point2(%.4f, %.4f))\n' % (point[0], point[1])))
file.write(('self.emitter.setMaxBound(Point2(%.4f, %.4f))\n' % (point[0], point[1])))
elif (self.emitterType == "RingEmitter"):
file.write('# Ring parameters\n')
file.write('p.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())
if (eType == "ET_CUSTOM"):
file.write('p.emitter.setAngle(%.4f)\n' % self.emitter.getAngle())
file.write('self.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())
if (eType == "ETCUSTOM"):
file.write('self.emitter.setAngle(%.4f)\n' % self.emitter.getAngle())
elif (self.emitterType == "SphereSurfaceEmitter"):
file.write('# Sphere Surface parameters\n')
file.write('p.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())
file.write('self.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())
elif (self.emitterType == "SphereVolumeEmitter"):
file.write('# Sphere Volume parameters\n')
file.write('p.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())
file.write('self.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())
elif (self.emitterType == "TangentRingEmitter"):
file.write('# Tangent Ring parameters\n')
file.write('p.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())
file.write('self.emitter.setRadius(%.4f)\n' % self.emitter.getRadius())