diff --git a/meshroom/core/graph.py b/meshroom/core/graph.py index e1f05787..23df54f2 100644 --- a/meshroom/core/graph.py +++ b/meshroom/core/graph.py @@ -226,6 +226,8 @@ class Graph(BaseObject): self._fileDateVersion = 0 self.header = {} + self._selectedViewpoint = None + def clear(self): self.header.clear() self._compatibilityNodes.clear() @@ -1564,6 +1566,12 @@ class Graph(BaseObject): self.updateStatusFromCache(force=True) self.cacheDirChanged.emit() + @property + def selectedViewpoint(self): + """ Return the attribute describing the viewpoint that is + currently set as the 'selected viewpoint'. """ + return self._selectedViewpoint + @property def fileDateVersion(self): return self._fileDateVersion diff --git a/meshroom/ui/reconstruction.py b/meshroom/ui/reconstruction.py index 2e3f70c5..c331a97f 100755 --- a/meshroom/ui/reconstruction.py +++ b/meshroom/ui/reconstruction.py @@ -1158,6 +1158,7 @@ class Reconstruction(UIGraph): # Reconstruction has ownership of Viewpoint object - destroy it when not needed anymore self._selectedViewpoint.deleteLater() self._selectedViewpoint = ViewpointWrapper(viewpointAttribute, self) if viewpointAttribute else None + self._graph._selectedViewpoint = self._selectedViewpoint.attribute if viewpointAttribute else None self.selectedViewpointChanged.emit() def setPickedViewId(self, viewId):