Commit 486d4343e22b7277ec279482e448157e94ac13ba

Authored by Renan
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,