mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Merge branch '15.06'
* 15.06: Updated name in menu for firmware update Added exception handling to listen thread join Render a transparent ghost of the selection when things are selected. Add changes of 15.05.93 release Make button tooltip text use the dark color from the palette Render the build platform grid as a single sided plane Ignore selection when moving objects due to collision Use the right offset for object collision after Polygon collision was fixed
This commit is contained in:
commit
98befd69ec
6 changed files with 27 additions and 9 deletions
6
CHANGES
6
CHANGES
|
@ -21,6 +21,12 @@ Changes since 15.05.91
|
||||||
* Fixed: Text fields will trigger a slice on text change, not only after focus
|
* Fixed: Text fields will trigger a slice on text change, not only after focus
|
||||||
change/enter press.
|
change/enter press.
|
||||||
* Fixed: Rotate Tool snaps to incorrect value.
|
* Fixed: Rotate Tool snaps to incorrect value.
|
||||||
|
* Fixed: Object Collision would only moved objects to the right.
|
||||||
|
* Fixed: Object Collision would move the selected object when it should not.
|
||||||
|
* Fixed: Camera panning now works correctly instead of doing nothing.
|
||||||
|
* Fixed: Camera would flip around center point at maximum rotation.
|
||||||
|
* Fixed: Build platform grid blocked view from below objects.
|
||||||
|
* Fixed: Viewport on MacOSX with high-DPI screens was only taking 1/4th of the window
|
||||||
|
|
||||||
Changes since 15.05.90
|
Changes since 15.05.90
|
||||||
----------------------
|
----------------------
|
||||||
|
|
|
@ -62,7 +62,7 @@ class BuildVolume(SceneNode):
|
||||||
self._grid_material.setUniformValue("u_gridColor1", Color(205, 202, 201, 255))
|
self._grid_material.setUniformValue("u_gridColor1", Color(205, 202, 201, 255))
|
||||||
|
|
||||||
renderer.queueNode(self, material = self._material, mode = Renderer.RenderLines)
|
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, force_single_sided = True)
|
||||||
if self._disallowed_area_mesh:
|
if self._disallowed_area_mesh:
|
||||||
renderer.queueNode(self, mesh = self._disallowed_area_mesh, material = self._material)
|
renderer.queueNode(self, mesh = self._disallowed_area_mesh, material = self._material)
|
||||||
return True
|
return True
|
||||||
|
@ -99,10 +99,10 @@ class BuildVolume(SceneNode):
|
||||||
|
|
||||||
mb = MeshBuilder()
|
mb = MeshBuilder()
|
||||||
mb.addQuad(
|
mb.addQuad(
|
||||||
Vector(minW, minH, maxD),
|
Vector(minW, minH, minD),
|
||||||
Vector(maxW, minH, maxD),
|
|
||||||
Vector(maxW, minH, minD),
|
Vector(maxW, minH, minD),
|
||||||
Vector(minW, minH, minD)
|
Vector(maxW, minH, maxD),
|
||||||
|
Vector(minW, minH, maxD)
|
||||||
)
|
)
|
||||||
self._grid_mesh = mb.getData()
|
self._grid_mesh = mb.getData()
|
||||||
for n in range(0, 6):
|
for n in range(0, 6):
|
||||||
|
|
|
@ -11,6 +11,7 @@ from UM.Math.Float import Float
|
||||||
from UM.Math.Vector import Vector
|
from UM.Math.Vector import Vector
|
||||||
from UM.Math.AxisAlignedBox import AxisAlignedBox
|
from UM.Math.AxisAlignedBox import AxisAlignedBox
|
||||||
from UM.Application import Application
|
from UM.Application import Application
|
||||||
|
from UM.Scene.Selection import Selection
|
||||||
|
|
||||||
from . import PlatformPhysicsOperation
|
from . import PlatformPhysicsOperation
|
||||||
from . import ConvexHullJob
|
from . import ConvexHullJob
|
||||||
|
@ -60,6 +61,8 @@ class PlatformPhysics:
|
||||||
job = ConvexHullJob.ConvexHullJob(node)
|
job = ConvexHullJob.ConvexHullJob(node)
|
||||||
job.start()
|
job.start()
|
||||||
node._convex_hull_job = job
|
node._convex_hull_job = job
|
||||||
|
elif Selection.isSelected(node):
|
||||||
|
pass
|
||||||
else:
|
else:
|
||||||
# Check for collisions between convex hulls
|
# Check for collisions between convex hulls
|
||||||
for other_node in BreadthFirstIterator(root):
|
for other_node in BreadthFirstIterator(root):
|
||||||
|
@ -80,8 +83,8 @@ class PlatformPhysics:
|
||||||
if overlap is None:
|
if overlap is None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
move_vector.setX(-overlap[0])
|
move_vector.setX(overlap[0] * 1.1)
|
||||||
move_vector.setZ(-overlap[1])
|
move_vector.setZ(overlap[1] * 1.1)
|
||||||
|
|
||||||
if move_vector != Vector():
|
if move_vector != Vector():
|
||||||
op = PlatformPhysicsOperation.PlatformPhysicsOperation(node, move_vector)
|
op = PlatformPhysicsOperation.PlatformPhysicsOperation(node, move_vector)
|
||||||
|
|
|
@ -5,6 +5,8 @@ from UM.View.View import View
|
||||||
from UM.View.Renderer import Renderer
|
from UM.View.Renderer import Renderer
|
||||||
from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator
|
from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator
|
||||||
from UM.Resources import Resources
|
from UM.Resources import Resources
|
||||||
|
from UM.Scene.Selection import Selection
|
||||||
|
from UM.Math.Color import Color
|
||||||
|
|
||||||
## View used to display g-code paths.
|
## View used to display g-code paths.
|
||||||
class LayerView(View):
|
class LayerView(View):
|
||||||
|
@ -23,9 +25,15 @@ class LayerView(View):
|
||||||
self._material = renderer.createMaterial(Resources.getPath(Resources.ShadersLocation, "basic.vert"), Resources.getPath(Resources.ShadersLocation, "vertexcolor.frag"))
|
self._material = renderer.createMaterial(Resources.getPath(Resources.ShadersLocation, "basic.vert"), Resources.getPath(Resources.ShadersLocation, "vertexcolor.frag"))
|
||||||
self._material.setUniformValue("u_color", [1.0, 0.0, 0.0, 1.0])
|
self._material.setUniformValue("u_color", [1.0, 0.0, 0.0, 1.0])
|
||||||
|
|
||||||
|
self._selection_material = renderer.createMaterial(Resources.getPath(Resources.ShadersLocation, "basic.vert"), Resources.getPath(Resources.ShadersLocation, "color.frag"))
|
||||||
|
self._selection_material.setUniformValue("u_color", Color(35, 35, 35, 128))
|
||||||
|
|
||||||
for node in DepthFirstIterator(scene.getRoot()):
|
for node in DepthFirstIterator(scene.getRoot()):
|
||||||
if not node.render(renderer):
|
if not node.render(renderer):
|
||||||
if node.getMeshData() and node.isVisible():
|
if node.getMeshData() and node.isVisible():
|
||||||
|
if Selection.isSelected(node):
|
||||||
|
renderer.queueNode(node, material = self._selection_material, transparent = True)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
layer_data = node.getMeshData().layerData
|
layer_data = node.getMeshData().layerData
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
|
@ -43,9 +51,9 @@ class LayerView(View):
|
||||||
if layer >= end_layer:
|
if layer >= end_layer:
|
||||||
break
|
break
|
||||||
|
|
||||||
renderer.queueNode(node, mesh = layer_data, material = self._material, mode = Renderer.RenderLines, start = start, end = end)
|
renderer.queueNode(node, mesh = layer_data, material = self._material, mode = Renderer.RenderLines, start = start, end = end, overlay = True)
|
||||||
else:
|
else:
|
||||||
renderer.queueNode(node, mesh = layer_data, material = self._material, mode = Renderer.RenderLines)
|
renderer.queueNode(node, mesh = layer_data, material = self._material, mode = Renderer.RenderLines, overlay = True)
|
||||||
|
|
||||||
def setLayer(self, value):
|
def setLayer(self, value):
|
||||||
self._layer_percentage = value
|
self._layer_percentage = value
|
||||||
|
|
|
@ -73,7 +73,7 @@ QtObject {
|
||||||
anchors.horizontalCenter: parent.horizontalCenter;
|
anchors.horizontalCenter: parent.horizontalCenter;
|
||||||
text: control.text;
|
text: control.text;
|
||||||
font: UM.Theme.fonts.button_tooltip;
|
font: UM.Theme.fonts.button_tooltip;
|
||||||
color: UM.Theme.colors.button_text;
|
color: UM.Theme.colors.button_tooltip_text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,6 +63,7 @@
|
||||||
"button_active_hover": [34, 150, 190, 255],
|
"button_active_hover": [34, 150, 190, 255],
|
||||||
"button_text": [255, 255, 255, 255],
|
"button_text": [255, 255, 255, 255],
|
||||||
"button_disabled": [245, 245, 245, 255],
|
"button_disabled": [245, 245, 245, 255],
|
||||||
|
"button_tooltip_text": [35, 35, 35, 255],
|
||||||
|
|
||||||
"scrollbar_background": [245, 245, 245, 255],
|
"scrollbar_background": [245, 245, 245, 255],
|
||||||
"scrollbar_handle": [205, 202, 201, 255],
|
"scrollbar_handle": [205, 202, 201, 255],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue