mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-13 09:47:50 -06:00
Use the new addLine to build the build volume mesh
This commit is contained in:
parent
b11757d80f
commit
f75c2db13c
1 changed files with 13 additions and 80 deletions
|
@ -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())
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue