Commit 486d4343e22b7277ec279482e448157e94ac13ba
1 parent
6c487aa0
Exists in
master
FIX: Load markers deal with None angles
Showing
1 changed file
with
6 additions
and
7 deletions
Show diff stats
invesalius/gui/task_navigator.py
@@ -1222,8 +1222,10 @@ class MarkersPanel(wx.Panel): | @@ -1222,8 +1222,10 @@ class MarkersPanel(wx.Panel): | ||
1222 | properly formatted, might throw an exception and leave the object | 1222 | properly formatted, might throw an exception and leave the object |
1223 | in an inconsistent state.""" | 1223 | in an inconsistent state.""" |
1224 | for field, str_val in zip(dataclasses.fields(self.__class__), inp_str.split('\t')): | 1224 | for field, str_val in zip(dataclasses.fields(self.__class__), inp_str.split('\t')): |
1225 | - if field.type is float: | 1225 | + if field.type is float and str_val != 'None': |
1226 | setattr(self, field.name, float(str_val)) | 1226 | setattr(self, field.name, float(str_val)) |
1227 | + if field.type is float and str_val == 'None': | ||
1228 | + setattr(self, field.name, None) | ||
1227 | if field.type is int: | 1229 | if field.type is int: |
1228 | setattr(self, field.name, int(str_val)) | 1230 | setattr(self, field.name, int(str_val)) |
1229 | if field.type is str: | 1231 | if field.type is str: |
@@ -1261,7 +1263,6 @@ class MarkersPanel(wx.Panel): | @@ -1261,7 +1263,6 @@ class MarkersPanel(wx.Panel): | ||
1261 | self.session = ses.Session() | 1263 | self.session = ses.Session() |
1262 | 1264 | ||
1263 | self.current_coord = 0, 0, 0, None, None, None | 1265 | self.current_coord = 0, 0, 0, None, None, None |
1264 | - self.current_angle = None, None, None | ||
1265 | self.current_seed = 0, 0, 0 | 1266 | self.current_seed = 0, 0, 0 |
1266 | self.current_robot_target_matrix = [None] * 9 | 1267 | self.current_robot_target_matrix = [None] * 9 |
1267 | self.markers = [] | 1268 | self.markers = [] |
@@ -1439,13 +1440,11 @@ class MarkersPanel(wx.Panel): | @@ -1439,13 +1440,11 @@ class MarkersPanel(wx.Panel): | ||
1439 | return list(itertools.chain(*(const.BTNS_IMG_MARKERS[i].values() for i in const.BTNS_IMG_MARKERS))) | 1440 | return list(itertools.chain(*(const.BTNS_IMG_MARKERS[i].values() for i in const.BTNS_IMG_MARKERS))) |
1440 | 1441 | ||
1441 | def UpdateCurrentCoord(self, position): | 1442 | def UpdateCurrentCoord(self, position): |
1442 | - self.current_coord = position | ||
1443 | - #self.current_angle = pubsub_evt.data[1][3:] | 1443 | + self.current_coord = list(position) |
1444 | 1444 | ||
1445 | def UpdateNavigationStatus(self, nav_status, vis_status): | 1445 | def UpdateNavigationStatus(self, nav_status, vis_status): |
1446 | if not nav_status: | 1446 | if not nav_status: |
1447 | - sleep(0.5) | ||
1448 | - #self.current_coord[3:] = 0, 0, 0 | 1447 | + self.current_coord[3:] = None, None, None |
1449 | self.nav_status = False | 1448 | self.nav_status = False |
1450 | else: | 1449 | else: |
1451 | self.nav_status = True | 1450 | self.nav_status = True |
@@ -1696,7 +1695,7 @@ class MarkersPanel(wx.Panel): | @@ -1696,7 +1695,7 @@ class MarkersPanel(wx.Panel): | ||
1696 | colour=new_marker.colour, | 1695 | colour=new_marker.colour, |
1697 | coord=new_marker.coord[:3]) | 1696 | coord=new_marker.coord[:3]) |
1698 | 1697 | ||
1699 | - elif new_marker.coord[3:] is not None and self.nav_status or session_id is not None: | 1698 | + elif all([elem is not None for elem in new_marker.coord[3:]]): |
1700 | Publisher.sendMessage('Add arrow marker', arrow_id=len(self.markers), | 1699 | Publisher.sendMessage('Add arrow marker', arrow_id=len(self.markers), |
1701 | size=self.arrow_marker_size, | 1700 | size=self.arrow_marker_size, |
1702 | color=new_marker.colour, | 1701 | color=new_marker.colour, |