- in CNCJob UI Autolevelling: changed the UI a bit

- added a bilinear interpolation calculation class from: https://github.com/pmav99/interpolation
- in CNCJob UI Autolevelling: made sure that the grid can't have less than 2 rows and 2 columns when using the bilinear interpolation or 1 row and 1 column when using the Voronoi polygons
This commit is contained in:
Marius Stanciu
2020-09-03 03:45:58 +03:00
parent 75be9d7604
commit 743885cf0f
4 changed files with 158 additions and 12 deletions

View File

@@ -1923,11 +1923,13 @@ class CNCObjectUI(ObjectUI):
grid0.addWidget(self.al_probe_points_table, 1, 0, 1, 2)
self.voronoi_cb = FCCheckBox(_("Show Voronoi diagram"))
self.voronoi_cb.setToolTip(
_("Display Voronoi diagram if there are probe points in the table.")
self.plot_probing_pts_cb = FCCheckBox(_("Plot probing points"))
self.plot_probing_pts_cb.setToolTip(
_("Plot the probing points in the table.\n"
"If a Voronoi method is used then\n"
"the Voronoi areas are also plotted.")
)
grid0.addWidget(self.voronoi_cb, 3, 0, 1, 2)
grid0.addWidget(self.plot_probing_pts_cb, 3, 0, 1, 2)
separator_line = QtWidgets.QFrame()
separator_line.setFrameShape(QtWidgets.QFrame.HLine)
@@ -2022,6 +2024,7 @@ class CNCObjectUI(ObjectUI):
# ## Columns
self.al_columns_entry = FCSpinner()
self.al_columns_entry.setMinimum(2)
self.al_columns_label = QtWidgets.QLabel('%s:' % _("Columns"))
self.al_columns_label.setToolTip(
@@ -2032,6 +2035,7 @@ class CNCObjectUI(ObjectUI):
# ## Rows
self.al_rows_entry = FCSpinner()
self.al_rows_entry.setMinimum(2)
self.al_rows_label = QtWidgets.QLabel('%s:' % _("Rows"))
self.al_rows_label.setToolTip(
@@ -2465,6 +2469,13 @@ class CNCObjectUI(ObjectUI):
# Set initial UI
self.al_frame.hide()
self.al_rows_entry.setDisabled(True)
self.al_rows_label.setDisabled(True)
self.al_columns_entry.setDisabled(True)
self.al_columns_label.setDisabled(True)
self.al_method_lbl.setDisabled(True)
self.al_method_radio.setDisabled(True)
self.al_method_radio.set_value('v')
# self.on_mode_radio(val='grid')