mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-07-28 14:07:47 +02:00
[ui] Sync Viewer3D according to updateSelectedViewpoint
This commit is contained in:
parent
ca4f7f13e5
commit
5afb9cb2c8
2 changed files with 28 additions and 1 deletions
|
@ -1115,12 +1115,21 @@ 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.selectedViewpointChanged.emit()
|
||||
|
||||
def setPickedViewId(self, viewId):
|
||||
if viewId == self._pickedViewId:
|
||||
return
|
||||
self._pickedViewId = viewId
|
||||
self.pickedViewIdChanged.emit()
|
||||
|
||||
@Slot(str)
|
||||
def updateSelectedViewpoint(self, viewId):
|
||||
""" Update the currently set viewpoint if the provided view ID corresponds to one. """
|
||||
vp = None
|
||||
if self.viewpoints:
|
||||
vp = next((v for v in self.viewpoints if str(v.viewId.value) == viewId), None)
|
||||
self._setSelectedViewpoint(vp)
|
||||
|
||||
def reconstructedCamerasCount(self):
|
||||
""" Get the number of reconstructed cameras in the current context. """
|
||||
|
@ -1166,7 +1175,8 @@ class Reconstruction(UIGraph):
|
|||
|
||||
selectedViewIdChanged = Signal()
|
||||
selectedViewId = Property(str, lambda self: self._selectedViewId, setSelectedViewId, notify=selectedViewIdChanged)
|
||||
selectedViewpoint = Property(ViewpointWrapper, lambda self: self._selectedViewpoint, notify=selectedViewIdChanged)
|
||||
selectedViewpointChanged = Signal()
|
||||
selectedViewpoint = Property(ViewpointWrapper, lambda self: self._selectedViewpoint, notify=selectedViewpointChanged)
|
||||
pickedViewIdChanged = Signal()
|
||||
pickedViewId = Property(str, lambda self: self._pickedViewId, setPickedViewId, notify=pickedViewIdChanged)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue