...for node attributes and 3D inspector
- add search bar for node attributes
- add search bar for 3D inspector
- improve attributes filtering by adding more flexibility
and fixing some issues
This commit addresses warnings that were raised by QtCreator's linter:
- IDs declared more than once
- variables declared more than once in the same scope
- type coercions
- variables declared as "var" when their type is known
- unclosed "case" in switch-case
Some QML properties access exposed Python objects that may or may not
be null upon their access. When these objects are accessed while null,
QML issues "TypeError" warnings. These warnings have no functional
impact as QML correctly handles trying to access null objects, but can
spam the logs.
This commit aims at fixing all these warnings by checking that the
Python objects are not null before being accessed.
To be consistent with the Graph Editor behavior, double clicking on a node sets it as the active node of its type. This, for example, enables to switch from one SfM to another from the media list.
* Inspector
* changed "SETTINGS" to "DISPLAY"
* new "CAMERA" section: activate camera synchronization + control image overlay
* ImageOverlay: new component to display (undistorted) image on top of the 3D view
* ViewpointCamera: new component that sets up a Camera based on a Viewpoint internal parameter
* Viewer3D: additional ViewpointCamera to perform synchronization with image selection
* Viewer3DSettings: new properties related to camera synchronization mode
Contextual menu to expose additional actions:
* open media containing folder
* copy media path
* advanced manual control over media (un)loading
+ fix MediaLibrary to avoid binding loop on 'visible' when directly modifying 'request' property
* Define 2 groups: "Settings" and "Scene"
* Settings
* add camera scale slider control
* move rendering modes back to an independent overlay outside the inspector
* Scene
* add button to control visibility of media info
* ease bidirectional navigation between 3D media list and graph
* use same mechanism to indicate selected/hovered elements
* remove 'frame' button (space gain + action available on double click)
* remove the notion of manual media (un)loading from high-level UI
* visibility button now drives media loading:
* if media is not available (not yet computed), it will be loaded once available if visibility is on
* once loaded, media can't be explicitly unloaded
* use an icon to indicate that the media is not available instead of colors