mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-14 02:07:51 -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._depth = 0
|
||||||
|
|
||||||
self._material = None
|
self._material = None
|
||||||
self._line_mesh = None
|
|
||||||
|
|
||||||
self._grid_mesh = None
|
self._grid_mesh = None
|
||||||
self._grid_material = None
|
self._grid_material = None
|
||||||
|
@ -37,8 +36,6 @@ class BuildVolume(SceneNode):
|
||||||
def render(self, renderer):
|
def render(self, renderer):
|
||||||
if not self.getMeshData():
|
if not self.getMeshData():
|
||||||
return True
|
return True
|
||||||
if self._line_mesh is None:
|
|
||||||
return True
|
|
||||||
|
|
||||||
if not self._material:
|
if not self._material:
|
||||||
self._material = renderer.createMaterial(
|
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_gridColor0', Color(255, 255, 255, 255))
|
||||||
self._grid_material.setUniformValue('u_gridColor1', Color(140, 170, 240, 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._grid_mesh, material = self._grid_material)
|
||||||
renderer.queueNode(self, mesh = self._line_mesh, mode = Renderer.RenderLines, material = self._material)
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def rebuild(self):
|
def rebuild(self):
|
||||||
|
@ -68,85 +64,22 @@ class BuildVolume(SceneNode):
|
||||||
minD = -self._depth / 2
|
minD = -self._depth / 2
|
||||||
maxD = 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 = MeshBuilder()
|
||||||
|
|
||||||
mb.addQuad(
|
mb.addLine(Vector(minW, minH, minD), Vector(maxW, minH, minD), color = self.VolumeOutlineColor)
|
||||||
Vector(minW, minH, maxD),
|
mb.addLine(Vector(minW, minH, minD), Vector(minW, maxH, minD), color = self.VolumeOutlineColor)
|
||||||
Vector(maxW, minH, maxD),
|
mb.addLine(Vector(minW, maxH, minD), Vector(maxW, maxH, minD), color = self.VolumeOutlineColor)
|
||||||
Vector(maxW, maxH, maxD),
|
mb.addLine(Vector(maxW, minH, minD), Vector(maxW, maxH, minD), color = self.VolumeOutlineColor)
|
||||||
Vector(minW, maxH, maxD),
|
|
||||||
color = Color(0.2, 0.67, 0.9, 0.25),
|
|
||||||
normal = Vector(0, 0, -1)
|
|
||||||
)
|
|
||||||
|
|
||||||
mb.addQuad(
|
mb.addLine(Vector(minW, minH, maxD), Vector(maxW, minH, maxD), color = self.VolumeOutlineColor)
|
||||||
Vector(maxW, minH, maxD),
|
mb.addLine(Vector(minW, minH, maxD), Vector(minW, maxH, maxD), color = self.VolumeOutlineColor)
|
||||||
Vector(maxW, minH, minD),
|
mb.addLine(Vector(minW, maxH, maxD), Vector(maxW, maxH, maxD), color = self.VolumeOutlineColor)
|
||||||
Vector(maxW, maxH, minD),
|
mb.addLine(Vector(maxW, minH, maxD), Vector(maxW, maxH, maxD), color = self.VolumeOutlineColor)
|
||||||
Vector(maxW, maxH, maxD),
|
|
||||||
color = Color(0.2, 0.67, 0.9, 0.38),
|
|
||||||
normal = Vector(1, 0, 0)
|
|
||||||
)
|
|
||||||
|
|
||||||
mb.addQuad(
|
mb.addLine(Vector(minW, minH, minD), Vector(minW, minH, maxD), color = self.VolumeOutlineColor)
|
||||||
Vector(minW, minH, minD),
|
mb.addLine(Vector(maxW, minH, minD), Vector(maxW, minH, maxD), color = self.VolumeOutlineColor)
|
||||||
Vector(minW, maxH, minD),
|
mb.addLine(Vector(minW, maxH, minD), Vector(minW, maxH, maxD), color = self.VolumeOutlineColor)
|
||||||
Vector(maxW, maxH, minD),
|
mb.addLine(Vector(maxW, maxH, minD), Vector(maxW, maxH, maxD), color = self.VolumeOutlineColor)
|
||||||
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)
|
|
||||||
)
|
|
||||||
|
|
||||||
self.setMeshData(mb.getData())
|
self.setMeshData(mb.getData())
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue