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:
Arjen Hiemstra 2015-06-05 10:41:53 +02:00
commit 98befd69ec
6 changed files with 27 additions and 9 deletions

View file

@ -21,6 +21,12 @@ Changes since 15.05.91
* Fixed: Text fields will trigger a slice on text change, not only after focus
change/enter press.
* 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
----------------------

View file

@ -62,7 +62,7 @@ class BuildVolume(SceneNode):
self._grid_material.setUniformValue("u_gridColor1", Color(205, 202, 201, 255))
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:
renderer.queueNode(self, mesh = self._disallowed_area_mesh, material = self._material)
return True
@ -99,10 +99,10 @@ class BuildVolume(SceneNode):
mb = MeshBuilder()
mb.addQuad(
Vector(minW, minH, maxD),
Vector(maxW, minH, maxD),
Vector(minW, minH, minD),
Vector(maxW, minH, minD),
Vector(minW, minH, minD)
Vector(maxW, minH, maxD),
Vector(minW, minH, maxD)
)
self._grid_mesh = mb.getData()
for n in range(0, 6):

View file

@ -11,6 +11,7 @@ from UM.Math.Float import Float
from UM.Math.Vector import Vector
from UM.Math.AxisAlignedBox import AxisAlignedBox
from UM.Application import Application
from UM.Scene.Selection import Selection
from . import PlatformPhysicsOperation
from . import ConvexHullJob
@ -60,6 +61,8 @@ class PlatformPhysics:
job = ConvexHullJob.ConvexHullJob(node)
job.start()
node._convex_hull_job = job
elif Selection.isSelected(node):
pass
else:
# Check for collisions between convex hulls
for other_node in BreadthFirstIterator(root):
@ -80,8 +83,8 @@ class PlatformPhysics:
if overlap is None:
continue
move_vector.setX(-overlap[0])
move_vector.setZ(-overlap[1])
move_vector.setX(overlap[0] * 1.1)
move_vector.setZ(overlap[1] * 1.1)
if move_vector != Vector():
op = PlatformPhysicsOperation.PlatformPhysicsOperation(node, move_vector)

View file

@ -5,6 +5,8 @@ from UM.View.View import View
from UM.View.Renderer import Renderer
from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator
from UM.Resources import Resources
from UM.Scene.Selection import Selection
from UM.Math.Color import Color
## View used to display g-code paths.
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.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()):
if not node.render(renderer):
if node.getMeshData() and node.isVisible():
if Selection.isSelected(node):
renderer.queueNode(node, material = self._selection_material, transparent = True)
try:
layer_data = node.getMeshData().layerData
except AttributeError:
@ -43,9 +51,9 @@ class LayerView(View):
if layer >= end_layer:
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:
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):
self._layer_percentage = value

View file

@ -73,7 +73,7 @@ QtObject {
anchors.horizontalCenter: parent.horizontalCenter;
text: control.text;
font: UM.Theme.fonts.button_tooltip;
color: UM.Theme.colors.button_text;
color: UM.Theme.colors.button_tooltip_text;
}
}
}

View file

@ -63,6 +63,7 @@
"button_active_hover": [34, 150, 190, 255],
"button_text": [255, 255, 255, 255],
"button_disabled": [245, 245, 245, 255],
"button_tooltip_text": [35, 35, 35, 255],
"scrollbar_background": [245, 245, 245, 255],
"scrollbar_handle": [205, 202, 201, 255],