mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
*** empty log message ***
This commit is contained in:
parent
6848238976
commit
4dcbed63e9
@ -104,7 +104,6 @@ class Particles(ParticleSystem.ParticleSystem):
|
|||||||
self.renderer.setPointSize(1.0)
|
self.renderer.setPointSize(1.0)
|
||||||
elif (type == "LineParticleRenderer"):
|
elif (type == "LineParticleRenderer"):
|
||||||
self.renderer = LineParticleRenderer.LineParticleRenderer()
|
self.renderer = LineParticleRenderer.LineParticleRenderer()
|
||||||
self.renderer.setPointSize(1.0)
|
|
||||||
elif (type == "GeomParticleRenderer"):
|
elif (type == "GeomParticleRenderer"):
|
||||||
self.renderer = GeomParticleRenderer.GeomParticleRenderer()
|
self.renderer = GeomParticleRenderer.GeomParticleRenderer()
|
||||||
elif (type == "SparkleParticleRenderer"):
|
elif (type == "SparkleParticleRenderer"):
|
||||||
|
@ -102,9 +102,11 @@ class ParticlePanel(AppShell):
|
|||||||
)
|
)
|
||||||
self.createFloaters(systemPage, systemFloaterDefs)
|
self.createFloaters(systemPage, systemFloaterDefs)
|
||||||
# Checkboxes
|
# Checkboxes
|
||||||
|
# Note: Sense is reversed on this one
|
||||||
self.systemLocalVelocity = self.createCheckbutton(
|
self.systemLocalVelocity = self.createCheckbutton(
|
||||||
systemPage, 'System', 'Local Velocity',
|
systemPage, 'System', 'Render Relative Velocities',
|
||||||
'On: velocities are absolute; Off: velocities are relative',
|
('On: velocities are in render space; ' +
|
||||||
|
'Off: velocities are in particle local space'),
|
||||||
self.toggleSystemLocalVelocity, 0)
|
self.toggleSystemLocalVelocity, 0)
|
||||||
self.systemGrowsOlder = self.createCheckbutton(
|
self.systemGrowsOlder = self.createCheckbutton(
|
||||||
systemPage, 'System', 'Grows Older',
|
systemPage, 'System', 'Grows Older',
|
||||||
@ -200,7 +202,8 @@ class ParticlePanel(AppShell):
|
|||||||
self.createRadiobutton(
|
self.createRadiobutton(
|
||||||
emissionFrame, 'left',
|
emissionFrame, 'left',
|
||||||
'Emitter', 'Explicit Emission',
|
'Emitter', 'Explicit Emission',
|
||||||
'particles are all emitted in parallel, in the same direction',
|
('particles are all emitted in parallel, direction is based ' +
|
||||||
|
'on explicit velocity vector'),
|
||||||
self.emissionType, BaseParticleEmitter.ETEXPLICIT,
|
self.emissionType, BaseParticleEmitter.ETEXPLICIT,
|
||||||
self.setEmissionType)
|
self.setEmissionType)
|
||||||
self.createRadiobutton(
|
self.createRadiobutton(
|
||||||
@ -219,31 +222,31 @@ class ParticlePanel(AppShell):
|
|||||||
emissionFrame.pack(fill = 'x', expand = 0)
|
emissionFrame.pack(fill = 'x', expand = 0)
|
||||||
|
|
||||||
self.createFloater(
|
self.createFloater(
|
||||||
emitterPage, 'Emitter', 'Velocity Amplitude',
|
emitterPage, 'Emitter', 'Velocity Multiplier',
|
||||||
'launch velocity multiplier (all emission modes)',
|
'launch velocity multiplier (all emission modes)',
|
||||||
command = self.setEmitterAmplitude,
|
command = self.setEmitterAmplitude,
|
||||||
min = None)
|
min = None)
|
||||||
|
|
||||||
self.createFloater(
|
self.createFloater(
|
||||||
emitterPage, 'Emitter', 'Velocity Amplitude Spread',
|
emitterPage, 'Emitter', 'Velocity Multiplier Spread',
|
||||||
'spread for launch velocity multiplier (all emission modes)',
|
'spread for launch velocity multiplier (all emission modes)',
|
||||||
command = self.setEmitterAmplitudeSpread)
|
command = self.setEmitterAmplitudeSpread)
|
||||||
|
|
||||||
self.createVector3Entry(
|
self.createVector3Entry(
|
||||||
emitterPage, 'Emitter', 'Offset Force',
|
emitterPage, 'Emitter', 'Offset Velocity',
|
||||||
'Velocity vector applied to all particles',
|
'Velocity vector applied to all particles',
|
||||||
command = self.setEmitterOffsetForce)
|
command = self.setEmitterOffsetForce)
|
||||||
|
|
||||||
|
self.createVector3Entry(
|
||||||
|
emitterPage, 'Emitter', 'Explicit Velocity',
|
||||||
|
'all particles launch with this velocity in Explicit mode',
|
||||||
|
command = self.setEmitterExplicitLaunchVector)
|
||||||
|
|
||||||
self.createVector3Entry(
|
self.createVector3Entry(
|
||||||
emitterPage, 'Emitter', 'Radiate Origin',
|
emitterPage, 'Emitter', 'Radiate Origin',
|
||||||
'particles launch away from this point in Radiate mode',
|
'particles launch away from this point in Radiate mode',
|
||||||
command = self.setEmitterRadiateOrigin)
|
command = self.setEmitterRadiateOrigin)
|
||||||
|
|
||||||
self.createVector3Entry(
|
|
||||||
emitterPage, 'Emitter', 'Explicit Launch Vector',
|
|
||||||
'all particles launch with this velocity in Explicit mode',
|
|
||||||
command = self.setEmitterExplicitLaunchVector)
|
|
||||||
|
|
||||||
self.emitterNotebook = Pmw.NoteBook(emitterPage, tabpos = None)
|
self.emitterNotebook = Pmw.NoteBook(emitterPage, tabpos = None)
|
||||||
# Box page #
|
# Box page #
|
||||||
boxPage = self.emitterNotebook.add('BoxEmitter')
|
boxPage = self.emitterNotebook.add('BoxEmitter')
|
||||||
@ -523,13 +526,15 @@ class ParticlePanel(AppShell):
|
|||||||
return widgets
|
return widgets
|
||||||
|
|
||||||
def createFloater(self, parent, category, text, balloonHelp,
|
def createFloater(self, parent, category, text, balloonHelp,
|
||||||
command = None, min = 0.0, resolution = None, **kw):
|
command = None, min = 0.0, resolution = None,
|
||||||
|
maxVelocity = 10.0, **kw):
|
||||||
kw['text'] = text
|
kw['text'] = text
|
||||||
kw['min'] = min
|
kw['min'] = min
|
||||||
if min != None:
|
if min != None:
|
||||||
kw['initialValue'] = min
|
kw['initialValue'] = min
|
||||||
else:
|
else:
|
||||||
kw['initialValue'] = 0.0
|
kw['initialValue'] = 0.0
|
||||||
|
kw['maxVelocity'] = maxVelocity
|
||||||
kw['resolution'] = resolution
|
kw['resolution'] = resolution
|
||||||
widget = apply(Floater.Floater, (parent,), kw)
|
widget = apply(Floater.Floater, (parent,), kw)
|
||||||
# Do this after the widget so command isn't called on creation
|
# Do this after the widget so command isn't called on creation
|
||||||
@ -740,17 +745,17 @@ class ParticlePanel(AppShell):
|
|||||||
emitter = self.particles.emitter
|
emitter = self.particles.emitter
|
||||||
self.emissionType.set(self.particles.emitter.getEmissionType())
|
self.emissionType.set(self.particles.emitter.getEmissionType())
|
||||||
amp = emitter.getAmplitude()
|
amp = emitter.getAmplitude()
|
||||||
self.getWidget('Emitter', 'Velocity Amplitude').set(amp)
|
self.getWidget('Emitter', 'Velocity Multiplier').set(amp)
|
||||||
spread = emitter.getAmplitudeSpread()
|
spread = emitter.getAmplitudeSpread()
|
||||||
self.getWidget('Emitter', 'Velocity Amplitude Spread').set(spread)
|
self.getWidget('Emitter', 'Velocity Multiplier Spread').set(spread)
|
||||||
vec = emitter.getOffsetForce()
|
vec = emitter.getOffsetForce()
|
||||||
self.getWidget('Emitter', 'Offset Force').set(
|
self.getWidget('Emitter', 'Offset Velocity').set(
|
||||||
[vec[0], vec[1], vec[2]], 0)
|
[vec[0], vec[1], vec[2]], 0)
|
||||||
vec = emitter.getRadiateOrigin()
|
vec = emitter.getRadiateOrigin()
|
||||||
self.getWidget('Emitter', 'Radiate Origin').set(
|
self.getWidget('Emitter', 'Radiate Origin').set(
|
||||||
[vec[0], vec[1], vec[2]], 0)
|
[vec[0], vec[1], vec[2]], 0)
|
||||||
vec = emitter.getExplicitLaunchVector()
|
vec = emitter.getExplicitLaunchVector()
|
||||||
self.getWidget('Emitter', 'Explicit Launch Vector').set(
|
self.getWidget('Emitter', 'Explicit Velocity').set(
|
||||||
[vec[0], vec[1], vec[2]], 0)
|
[vec[0], vec[1], vec[2]], 0)
|
||||||
if isinstance(emitter, BoxEmitter):
|
if isinstance(emitter, BoxEmitter):
|
||||||
min = emitter.getMinBound()
|
min = emitter.getMinBound()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user