Browse Source

*** empty log message ***

Mark Mine 25 years ago
parent
commit
4dcbed63e9
2 changed files with 21 additions and 17 deletions
  1. 0 1
      direct/src/showbase/Particles.py
  2. 21 16
      direct/src/tkpanels/ParticlePanel.py

+ 0 - 1
direct/src/showbase/Particles.py

@@ -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"):

+ 21 - 16
direct/src/tkpanels/ParticlePanel.py

@@ -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',
-            'On: velocities are absolute; Off: velocities are relative',
+            systemPage, 'System', 'Render Relative Velocities',
+            ('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()