Browse Source

*** empty log message ***

Mike Goslin 25 năm trước cách đây
mục cha
commit
65f122b2d4
2 tập tin đã thay đổi với 8 bổ sung1 xóa
  1. 4 0
      direct/src/particles/Particles.py
  2. 4 1
      direct/src/tkpanels/ParticlePanel.py

+ 4 - 0
direct/src/particles/Particles.py

@@ -25,6 +25,7 @@ import SphereVolumeEmitter
 import TangentRingEmitter
 import string
 import os
+import DirectSelection
 
 SparkleParticleRenderer.SparkleParticleRenderer.SPNOSCALE = 0
 SparkleParticleRenderer.SparkleParticleRenderer.SPSCALE = 1
@@ -105,6 +106,9 @@ class Particles(ParticleSystem.ParticleSystem):
 	    self.renderer = LineParticleRenderer.LineParticleRenderer()
 	elif (type == "GeomParticleRenderer"):
 	    self.renderer = GeomParticleRenderer.GeomParticleRenderer()
+	    npath = hidden.attachNewNode(NamedNode('default-geom'))
+	    bbox = DirectSelection.DirectBoundingBox(npath)
+	    self.renderer.setGeomNode(bbox.lines.node())
 	elif (type == "SparkleParticleRenderer"):
 	    self.renderer = SparkleParticleRenderer.SparkleParticleRenderer()
 	elif (type == "SpriteParticleRenderer"):

+ 4 - 1
direct/src/tkpanels/ParticlePanel.py

@@ -1077,7 +1077,10 @@ class ParticlePanel(AppShell):
                  color[2]/255.0, color[3]/255.0))
     # Geom #
     def setRendererGeomNode(self, event):
-	self.particles.renderer.setGeomNode(self.rendererGeomNode.get())
+	node = loader.loadOnce(self.rendererGeomNode.get())
+	if (node == None):
+	    return None
+	self.particles.renderer.setGeomNode(node)
     # Point #
     def setRendererPointSize(self, size):
 	self.particles.renderer.setPointSize(size)