Skip to content

Commit 1c7b10b

Browse files
paprmkassner
authored andcommitted
Fix pupil-labs#683 by saving surfaces after definition (pupil-labs#699)
1 parent 623f9bc commit 1c7b10b

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

pupil_src/shared_modules/reference_surface.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,8 @@ def finalize_correnspondance(self):
212212
m.compute_robust_mean()
213213

214214
self.defined = True
215+
self.on_finish_define()
216+
del self.on_finish_define
215217

216218

217219
def locate(self, visible_markers,camera_calibration,min_marker_perimeter,min_id_confidence, locate_3d=False,):

pupil_src/shared_modules/surface_tracker.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ def on_click(self,pos,button,action):
9595

9696
if action == GLFW_RELEASE:
9797
if self.edit_surf_verts:
98-
#if we had draged a vertex lets let other know the surfaces changed.
99-
self.notify_all({'subject':'surfaces_changed','delay':2})
98+
# if we had draged a vertex lets let other know the surfaces changed.
99+
self.notify_all({'subject': 'surfaces_changed', 'delay': 2})
100100
self.edit_surf_verts = []
101101

102102
elif action == GLFW_PRESS:
@@ -122,8 +122,10 @@ def on_click(self,pos,button,action):
122122
self.marker_edit_surface.add_marker(m,self.markers,self.camera_calibration,self.min_marker_perimeter,self.min_id_confidence)
123123
self.notify_all({'subject':'surfaces_changed','delay':1})
124124

125-
def add_surface(self,_):
126-
self.surfaces.append(Reference_Surface())
125+
def add_surface(self, _):
126+
surf = Reference_Surface()
127+
surf.on_finish_define = self.save_surface_definitions_to_file
128+
self.surfaces.append(surf)
127129
self.update_gui_markers()
128130

129131
def remove_surface(self,i):
@@ -133,10 +135,10 @@ def remove_surface(self,i):
133135
if remove_surface in self.edit_surfaces:
134136
self.edit_surfaces.remove(remove_surface)
135137

136-
137138
self.surfaces[i].cleanup()
138139
del self.surfaces[i]
139140
self.update_gui_markers()
141+
self.notify_all({'subject': 'surfaces_changed'})
140142

141143
def init_gui(self):
142144
self.menu = ui.Growing_Menu('Surface Tracker')
@@ -180,8 +182,8 @@ def close():
180182
s_menu = ui.Growing_Menu("Surface {}".format(idx))
181183
s_menu.collapsed=True
182184
s_menu.append(ui.Text_Input('name',s))
183-
s_menu.append(ui.Text_Input('x',s.real_world_size,label='X size'))
184-
s_menu.append(ui.Text_Input('y',s.real_world_size,label='Y size'))
185+
s_menu.append(ui.Text_Input('x', s.real_world_size, label='X size'))
186+
s_menu.append(ui.Text_Input('y', s.real_world_size, label='Y size'))
185187
s_menu.append(ui.Button('Open Debug Window',s.open_close_window))
186188
#closure to encapsulate idx
187189
def make_remove_s(i):

0 commit comments

Comments
 (0)