Added new alpha mode

This commit is contained in:
Mark Mine 2005-03-23 00:07:44 +00:00
parent 6512581e90
commit 10fb636ec6

View File

@ -454,6 +454,10 @@ class ParticlePanel(AppShell):
'Radius of ring', 'Radius of ring',
command = self.setEmitterRingRadius, command = self.setEmitterRingRadius,
min = 0.01) min = 0.01)
self.createFloater(ringPage, 'Ring Emitter', 'Radius Spread',
'Variation in radius of ring',
command = self.setEmitterRingRadiusSpread,
min = 0.0)
self.ringCustomFrame = Frame(ringPage) self.ringCustomFrame = Frame(ringPage)
self.createAngleDial(self.ringCustomFrame, 'Ring Emitter', 'Angle', self.createAngleDial(self.ringCustomFrame, 'Ring Emitter', 'Angle',
'Particle launch angle', 'Particle launch angle',
@ -479,6 +483,10 @@ class ParticlePanel(AppShell):
'Radius of ring', 'Radius of ring',
command = self.setEmitterTangentRingRadius, command = self.setEmitterTangentRingRadius,
min = 0.01) min = 0.01)
self.createFloater(tangentRingPage, 'Tangent Ring Emitter',
'Radius Spread',
'Variation in radius of ring',
command = self.setEmitterTangentRingRadiusSpread)
self.emitterNotebook.pack(fill = X) self.emitterNotebook.pack(fill = X)
## RENDERER PAGE WIDGETS ## ## RENDERER PAGE WIDGETS ##
@ -493,7 +501,8 @@ class ParticlePanel(AppShell):
self.createOptionMenu(rendererPage, self.createOptionMenu(rendererPage,
'Renderer', 'Alpha Mode', 'Renderer', 'Alpha Mode',
"alpha setting over particles' lifetime", "alpha setting over particles' lifetime",
('NO_ALPHA','ALPHA_OUT','ALPHA_IN','ALPHA_USER'), ('NO_ALPHA','ALPHA_IN','ALPHA_OUT',
'ALPHA_IN_OUT', 'ALPHA_USER'),
self.setRendererAlphaMode) self.setRendererAlphaMode)
self.createSlider( self.createSlider(
@ -1272,6 +1281,8 @@ class ParticlePanel(AppShell):
elif isinstance(emitter, RingEmitter): elif isinstance(emitter, RingEmitter):
radius = emitter.getRadius() radius = emitter.getRadius()
self.getWidget('Ring Emitter', 'Radius').set(radius, 0) self.getWidget('Ring Emitter', 'Radius').set(radius, 0)
radiusSpread = emitter.getRadiusSpread()
self.getWidget('Ring Emitter', 'Radius Spread').set(radiusSpread,0)
angle = emitter.getAngle() angle = emitter.getAngle()
self.getWidget('Ring Emitter', 'Angle').set(angle, 0) self.getWidget('Ring Emitter', 'Angle').set(angle, 0)
elif isinstance(emitter, SphereVolumeEmitter): elif isinstance(emitter, SphereVolumeEmitter):
@ -1283,6 +1294,9 @@ class ParticlePanel(AppShell):
elif isinstance(emitter, TangentRingEmitter): elif isinstance(emitter, TangentRingEmitter):
radius = emitter.getRadius() radius = emitter.getRadius()
self.getWidget('Tangent Ring Emitter', 'Radius').set(radius, 0) self.getWidget('Tangent Ring Emitter', 'Radius').set(radius, 0)
radiusSpread = emitter.getRadiusSpread()
self.getWidget('Tangent Ring Emitter', 'Radius Spread').set(
radiusSpread,0)
# All # # All #
def setEmissionType(self, newType = None): def setEmissionType(self, newType = None):
if newType: if newType:
@ -1383,6 +1397,8 @@ class ParticlePanel(AppShell):
# Ring # # Ring #
def setEmitterRingRadius(self, radius): def setEmitterRingRadius(self, radius):
self.particles.emitter.setRadius(radius) self.particles.emitter.setRadius(radius)
def setEmitterRingRadiusSpread(self, radiusSpread):
self.particles.emitter.setRadiusSpread(radiusSpread)
def setEmitterRingLaunchAngle(self, angle): def setEmitterRingLaunchAngle(self, angle):
self.particles.emitter.setAngle(angle) self.particles.emitter.setAngle(angle)
# Sphere surface # # Sphere surface #
@ -1394,6 +1410,8 @@ class ParticlePanel(AppShell):
# Tangent ring # # Tangent ring #
def setEmitterTangentRingRadius(self, radius): def setEmitterTangentRingRadius(self, radius):
self.particles.emitter.setRadius(radius) self.particles.emitter.setRadius(radius)
def setEmitterTangentRingRadiusSpread(self, radiusSpread):
self.particles.emitter.setRadiusSpread(radiusSpread)
## RENDERER PAGE ## ## RENDERER PAGE ##
def selectRendererType(self, type): def selectRendererType(self, type):
@ -1410,6 +1428,8 @@ class ParticlePanel(AppShell):
aMode = 'ALPHA_OUT' aMode = 'ALPHA_OUT'
elif alphaMode == BaseParticleRenderer.PRALPHAIN: elif alphaMode == BaseParticleRenderer.PRALPHAIN:
aMode = 'ALPHA_IN' aMode = 'ALPHA_IN'
elif alphaMode == BaseParticleRenderer.PRALPHAINOUT:
aMode = 'ALPHA_IN_OUT'
elif alphaMode == BaseParticleRenderer.PRALPHAUSER: elif alphaMode == BaseParticleRenderer.PRALPHAUSER:
aMode = 'ALPHA_USER' aMode = 'ALPHA_USER'
self.getVariable('Renderer', 'Alpha Mode').set(aMode) self.getVariable('Renderer', 'Alpha Mode').set(aMode)
@ -1527,6 +1547,8 @@ class ParticlePanel(AppShell):
aMode = BaseParticleRenderer.PRALPHAOUT aMode = BaseParticleRenderer.PRALPHAOUT
elif alphaMode == 'ALPHA_IN': elif alphaMode == 'ALPHA_IN':
aMode = BaseParticleRenderer.PRALPHAIN aMode = BaseParticleRenderer.PRALPHAIN
elif alphaMode == 'ALPHA_IN_OUT':
aMode = BaseParticleRenderer.PRALPHAINOUT
elif alphaMode == 'ALPHA_USER': elif alphaMode == 'ALPHA_USER':
aMode = BaseParticleRenderer.PRALPHAUSER aMode = BaseParticleRenderer.PRALPHAUSER
self.particles.renderer.setAlphaMode(aMode) self.particles.renderer.setAlphaMode(aMode)