From f75c2db13cf7642c2e5185908c9c5e68acb225b7 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Thu, 19 Mar 2015 12:14:36 +0100 Subject: [PATCH] Use the new addLine to build the build volume mesh --- BuildVolume.py | 93 +++++++------------------------------------------- 1 file changed, 13 insertions(+), 80 deletions(-) diff --git a/BuildVolume.py b/BuildVolume.py index 0c4c3d4fb6..8dfdad69cb 100644 --- a/BuildVolume.py +++ b/BuildVolume.py @@ -20,7 +20,6 @@ class BuildVolume(SceneNode): self._depth = 0 self._material = None - self._line_mesh = None self._grid_mesh = None self._grid_material = None @@ -37,8 +36,6 @@ class BuildVolume(SceneNode): def render(self, renderer): if not self.getMeshData(): return True - if self._line_mesh is None: - return True if not self._material: self._material = renderer.createMaterial( @@ -52,9 +49,8 @@ class BuildVolume(SceneNode): self._grid_material.setUniformValue('u_gridColor0', Color(255, 255, 255, 255)) self._grid_material.setUniformValue('u_gridColor1', Color(140, 170, 240, 255)) - #renderer.queueNode(self, material = self._material, transparent = True) + renderer.queueNode(self, material = self._material, mode = Renderer.RenderLines) renderer.queueNode(self, mesh = self._grid_mesh, material = self._grid_material) - renderer.queueNode(self, mesh = self._line_mesh, mode = Renderer.RenderLines, material = self._material) return True def rebuild(self): @@ -68,85 +64,22 @@ class BuildVolume(SceneNode): minD = -self._depth / 2 maxD = self._depth / 2 - md = MeshData() - md.addVertex(minW, minH, minD) - md.addVertex(maxW, minH, minD) - md.addVertex(minW, minH, minD) - md.addVertex(minW, maxH, minD) - md.addVertex(minW, maxH, minD) - md.addVertex(maxW, maxH, minD) - md.addVertex(maxW, minH, minD) - md.addVertex(maxW, maxH, minD) - - md.addVertex(minW, minH, maxD) - md.addVertex(maxW, minH, maxD) - md.addVertex(minW, minH, maxD) - md.addVertex(minW, maxH, maxD) - md.addVertex(minW, maxH, maxD) - md.addVertex(maxW, maxH, maxD) - md.addVertex(maxW, minH, maxD) - md.addVertex(maxW, maxH, maxD) - - md.addVertex(minW, minH, minD) - md.addVertex(minW, minH, maxD) - md.addVertex(maxW, minH, minD) - md.addVertex(maxW, minH, maxD) - md.addVertex(minW, maxH, minD) - md.addVertex(minW, maxH, maxD) - md.addVertex(maxW, maxH, minD) - md.addVertex(maxW, maxH, maxD) - - for n in range(0, md.getVertexCount()): - md.setVertexColor(n, BuildVolume.VolumeOutlineColor) - - self._line_mesh = md - mb = MeshBuilder() - mb.addQuad( - Vector(minW, minH, maxD), - Vector(maxW, minH, maxD), - Vector(maxW, maxH, maxD), - Vector(minW, maxH, maxD), - color = Color(0.2, 0.67, 0.9, 0.25), - normal = Vector(0, 0, -1) - ) + mb.addLine(Vector(minW, minH, minD), Vector(maxW, minH, minD), color = self.VolumeOutlineColor) + mb.addLine(Vector(minW, minH, minD), Vector(minW, maxH, minD), color = self.VolumeOutlineColor) + mb.addLine(Vector(minW, maxH, minD), Vector(maxW, maxH, minD), color = self.VolumeOutlineColor) + mb.addLine(Vector(maxW, minH, minD), Vector(maxW, maxH, minD), color = self.VolumeOutlineColor) - mb.addQuad( - Vector(maxW, minH, maxD), - Vector(maxW, minH, minD), - Vector(maxW, maxH, minD), - Vector(maxW, maxH, maxD), - color = Color(0.2, 0.67, 0.9, 0.38), - normal = Vector(1, 0, 0) - ) + mb.addLine(Vector(minW, minH, maxD), Vector(maxW, minH, maxD), color = self.VolumeOutlineColor) + mb.addLine(Vector(minW, minH, maxD), Vector(minW, maxH, maxD), color = self.VolumeOutlineColor) + mb.addLine(Vector(minW, maxH, maxD), Vector(maxW, maxH, maxD), color = self.VolumeOutlineColor) + mb.addLine(Vector(maxW, minH, maxD), Vector(maxW, maxH, maxD), color = self.VolumeOutlineColor) - mb.addQuad( - Vector(minW, minH, minD), - Vector(minW, maxH, minD), - Vector(maxW, maxH, minD), - Vector(maxW, minH, minD), - color = Color(0.2, 0.67, 0.9, 0.25), - normal = Vector(0, 0, 1) - ) - - mb.addQuad( - Vector(minW, minH, maxD), - Vector(minW, maxH, maxD), - Vector(minW, maxH, minD), - Vector(minW, minH, minD), - color = Color(0.2, 0.67, 0.9, 0.38), - normal = Vector(-1, 0, 0) - ) - - mb.addQuad( - Vector(minW, maxH, maxD), - Vector(maxW, maxH, maxD), - Vector(maxW, maxH, minD), - Vector(minW, maxH, minD), - color = Color(0.2, 0.67, 0.9, 0.5), - normal = Vector(0, -1, 0) - ) + mb.addLine(Vector(minW, minH, minD), Vector(minW, minH, maxD), color = self.VolumeOutlineColor) + mb.addLine(Vector(maxW, minH, minD), Vector(maxW, minH, maxD), color = self.VolumeOutlineColor) + mb.addLine(Vector(minW, maxH, minD), Vector(minW, maxH, maxD), color = self.VolumeOutlineColor) + mb.addLine(Vector(maxW, maxH, minD), Vector(maxW, maxH, maxD), color = self.VolumeOutlineColor) self.setMeshData(mb.getData())