- the selection shapes are now moved from Move Plugin to AppMain
- Fiducials Plugin: fixed errors due of changes in the Shapely module - Fiducials Plugin: fixed an error where in Basic mode the soldermask opening is added incorrectly
This commit is contained in:
@@ -1754,10 +1754,9 @@ class ToolDrilling(AppTool, Excellon):
|
||||
|
||||
for row in sel_rows:
|
||||
sel_rect = self.app.exc_areas.exclusion_areas_storage[row]['shape']
|
||||
self.app.move_tool.sel_shapes.add(sel_rect, color=outline, face_color=face, update=True, layer=0,
|
||||
tolerance=None)
|
||||
self.app.sel_shapes.add(sel_rect, color=outline, face_color=face, update=True, layer=0, tolerance=None)
|
||||
if self.app.use_3d_engine:
|
||||
self.app.move_tool.sel_shapes.redraw()
|
||||
self.app.sel_shapes.redraw()
|
||||
|
||||
def clear_selection(self):
|
||||
self.app.delete_selection_shape()
|
||||
|
||||
@@ -23,6 +23,8 @@ import gettext
|
||||
import appTranslation as fcTranslate
|
||||
import builtins
|
||||
|
||||
from camlib import flatten_shapely_geometry
|
||||
|
||||
fcTranslate.apply_language('strings')
|
||||
if '_' not in builtins.__dict__:
|
||||
_ = gettext.gettext
|
||||
@@ -84,7 +86,7 @@ class ToolFiducials(AppTool):
|
||||
|
||||
self.handlers_connected = False
|
||||
# storage for temporary shapes when adding manual markers
|
||||
self.temp_shapes = self.app.move_tool.sel_shapes
|
||||
self.temp_shapes = self.app.sel_shapes
|
||||
|
||||
def run(self, toggle=True):
|
||||
self.app.defaults.report_usage("ToolFiducials()")
|
||||
@@ -402,6 +404,8 @@ class ToolFiducials(AppTool):
|
||||
"""
|
||||
fid_size = self.ui.fid_size_entry.get_value() if fid_size is None else fid_size
|
||||
fid_type = 0 if fid_type is None else fid_type # default is 'circular' <=> 0
|
||||
if fid_type == "circular":
|
||||
fid_type = 0
|
||||
line_thickness = self.ui.line_thickness_entry.get_value() if line_size is None else line_size
|
||||
|
||||
radius = fid_size / 2.0
|
||||
@@ -439,12 +443,10 @@ class ToolFiducials(AppTool):
|
||||
new_apertures[new_apid]['geometry'].append(deepcopy(dict_el))
|
||||
|
||||
s_list = []
|
||||
if g_obj.solid_geometry:
|
||||
try:
|
||||
for poly in g_obj.solid_geometry:
|
||||
s_list.append(poly)
|
||||
except TypeError:
|
||||
s_list.append(g_obj.solid_geometry)
|
||||
flat_geo = flatten_shapely_geometry(g_obj.solid_geometry)
|
||||
if flat_geo:
|
||||
for poly in flat_geo:
|
||||
s_list.append(poly)
|
||||
|
||||
s_list += geo_list
|
||||
elif fid_type == 1: # 'cross'
|
||||
@@ -504,15 +506,14 @@ class ToolFiducials(AppTool):
|
||||
new_apertures[new_apid]['geometry'].append(deepcopy(dict_el))
|
||||
|
||||
s_list = []
|
||||
if g_obj.solid_geometry:
|
||||
try:
|
||||
for poly in g_obj.solid_geometry:
|
||||
s_list.append(poly)
|
||||
except TypeError:
|
||||
s_list.append(g_obj.solid_geometry)
|
||||
flat_geo = flatten_shapely_geometry(g_obj.solid_geometry)
|
||||
if flat_geo:
|
||||
for poly in flat_geo:
|
||||
s_list.append(poly)
|
||||
|
||||
geo_buff_list = MultiPolygon(geo_buff_list)
|
||||
geo_buff_list = geo_buff_list.buffer(0)
|
||||
geo_buff_list = flatten_shapely_geometry(geo_buff_list)
|
||||
for poly in geo_buff_list:
|
||||
s_list.append(poly)
|
||||
else:
|
||||
@@ -583,12 +584,10 @@ class ToolFiducials(AppTool):
|
||||
new_apertures[new_apid]['geometry'].append(deepcopy(dict_el))
|
||||
|
||||
s_list = []
|
||||
if g_obj.solid_geometry:
|
||||
try:
|
||||
for poly in g_obj.solid_geometry:
|
||||
s_list.append(poly)
|
||||
except TypeError:
|
||||
s_list.append(g_obj.solid_geometry)
|
||||
flat_geo = flatten_shapely_geometry(g_obj.solid_geometry)
|
||||
if flat_geo:
|
||||
for poly in flat_geo:
|
||||
s_list.append(poly)
|
||||
|
||||
for poly in geo_buff_list:
|
||||
s_list.append(poly)
|
||||
|
||||
@@ -71,7 +71,7 @@ class ToolMarkers(AppTool):
|
||||
self.handlers_connected = False
|
||||
|
||||
# storage for temporary shapes when adding manual markers
|
||||
self.temp_shapes = self.app.move_tool.sel_shapes
|
||||
self.temp_shapes = self.app.sel_shapes
|
||||
|
||||
def on_insert_type_changed(self, val):
|
||||
obj_type = 2 if val == 'geo' else 0
|
||||
|
||||
@@ -3829,10 +3829,9 @@ class ToolMilling(AppTool, Excellon):
|
||||
|
||||
for row in sel_rows:
|
||||
sel_rect = self.app.exc_areas.exclusion_areas_storage[row]['shape']
|
||||
self.app.move_tool.sel_shapes.add(sel_rect, color=outline, face_color=face, update=True, layer=0,
|
||||
tolerance=None)
|
||||
self.app.sel_shapes.add(sel_rect, color=outline, face_color=face, update=True, layer=0, tolerance=None)
|
||||
if self.app.use_3d_engine:
|
||||
self.app.move_tool.sel_shapes.redraw()
|
||||
self.app.sel_shapes.redraw()
|
||||
|
||||
def clear_selection(self):
|
||||
self.app.delete_selection_shape()
|
||||
|
||||
@@ -49,12 +49,7 @@ class ToolMove(AppTool):
|
||||
self.sel_rect = None
|
||||
self.old_coords = []
|
||||
|
||||
# VisPy visuals
|
||||
if self.app.use_3d_engine:
|
||||
self.sel_shapes = ShapeCollection(parent=self.app.plotcanvas.view.scene, layers=1, pool=self.app.pool)
|
||||
else:
|
||||
from appGUI.PlotCanvasLegacy import ShapeCollectionLegacy
|
||||
self.sel_shapes = ShapeCollectionLegacy(obj=self, app=self.app, name="move")
|
||||
self.sel_shapes = self.app.sel_shapes
|
||||
|
||||
self.mm = None
|
||||
self.mp = None
|
||||
|
||||
@@ -67,7 +67,7 @@ class QRCode(AppTool):
|
||||
self.mr = None
|
||||
self.kr = None
|
||||
|
||||
self.shapes = self.app.move_tool.sel_shapes
|
||||
self.shapes = self.app.sel_shapes
|
||||
self.qrcode_geometry = MultiPolygon()
|
||||
self.qrcode_utility_geometry = MultiPolygon()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user