Commit graph

1503 commits

Author SHA1 Message Date
Candice Bentéjac
610523e3ea [Viewer3D] Add slider to display cameras based on their resection IDs
If any model with cameras is displayed in the 3D Viewer, a slider can
be used to filter the cameras that are being currently displayed based
on their resection IDs. This allows to visualize the order in which the
cameras have been added, and the groups in which they have been added.
2023-11-07 11:16:16 +01:00
Candice Bentéjac
e463f0dce2 [qml] Clean-up: Harmonize syntax across all files 2023-11-06 16:31:10 +01:00
Candice Bentéjac
e9d80611c7 [GraphEditor] Clean-up: Harmonize syntax across all files 2023-11-06 16:28:22 +01:00
Candice Bentéjac
2bdf061d2e [ImageGallery] Clean-up: Harmonize syntax across all files 2023-11-06 16:28:22 +01:00
Candice Bentéjac
2908aa94a3 [Controls] Clean-up: Harmonize syntax across all files 2023-11-06 16:28:22 +01:00
Candice Bentéjac
856641bc9d [Charts] Clean-up: Harmonize syntax across all files 2023-11-06 16:28:21 +01:00
Candice Bentéjac
8313e42d8c [Utils] Clean-up: Harmonize syntax across all files 2023-11-06 16:28:21 +01:00
Candice Bentéjac
d8709434a3 [Viewer] FeaturesInfoOverlay: Ensure node exists before getting its label
This fixes a "TypeError: Cannot read property 'label' of null" issue.
2023-11-06 16:28:21 +01:00
Candice Bentéjac
13b8266d14 [Viewer] Clean-up: Harmonize syntax across all the files 2023-11-06 16:28:21 +01:00
Candice Bentéjac
9d2974d282 [Viewer3D] Clean-up: Harmonize syntax across all the files 2023-11-06 16:28:20 +01:00
Candice Bentéjac
9249615baf [Viewer] ImageMetadataView: Check that value is set before assigning it
This commit fixes the following errors:
- "<Unknown File>: Can't assign to existing role 'value' of different
type [VariantMap -> String]" which occurs whenever the metadata view is
enabled and appears if at least one of the metadata keys has an empty
value;
- "Unable to assign [undefined] to QString" which occurs whenever the
search bar is cleared.
2023-11-06 16:28:20 +01:00
Candice Bentéjac
b916a923e1 [GraphEditor] AttributeItemDelegate: Fix binding loop warning 2023-11-06 16:28:20 +01:00
Fabien Castan
4269b8300c
Merge pull request #2230 from alicevision/fix/3dViewerLoading
[ui] Don't load a node's output in the 3DViewer if it has no 3D output
2023-10-27 14:31:02 +02:00
Candice Bentéjac
0aba9a053f [ui] Don't load node's output in the 3DViewer if it has no 3D output 2023-10-26 17:15:51 +02:00
Candice Bentéjac
5c3159dc9b [Viewer3D] Remove AlembicLoader which has been replaced with SfmDataLoader 2023-10-24 17:32:22 +02:00
Fabien Castan
c02aa1f229
Merge pull request #2145 from alicevision/fix/cameraInitIdx
[ui] Preserve last `CameraInit` index when updating the CameraInits list
2023-10-19 10:58:33 +02:00
Candice Bentéjac
80fae32c2d [Viewer3D] SfmDataLoader: Remove dead code and outdated comments 2023-10-16 16:15:46 +02:00
Fabien SERVANT
aee197e063 Use qmlSfmData 2023-10-16 14:55:09 +02:00
Fabien Castan
5ccbfe408a
Merge pull request #2221 from alicevision/dev/clearImagesGallery
[ui] ImageGallery: Add "Remove All Images" menu to clear all images
2023-10-11 19:45:46 +02:00
Candice Bentéjac
66ffe017a4 [ui] Rename "Clear Images" actions into "Remove All Images"
Update the names of the commands that remove images in the "File"
menu to match with those in the Image Gallery menu.

"Clear Images" becomes "Remove All Images" and "Clear All Images" becomes
"Remove Images From All CameraInit Nodes".
2023-10-11 18:07:18 +02:00
Candice Bentéjac
557a5bd956 [ui] ImageGallery: Use commands to set SfM attributes through the gallery
Prior to this commit, the `StructureFromMotion` and `SfMTransform` nodes'
were directly set without using the dedicated command. This meant that
the actions to set those attributes through the Image Gallery menu were
not added to the stack of commands, and could not be undone.
2023-10-10 15:13:17 +02:00
Candice Bentéjac
d2dc78dd5a [ui] ImageGallery: Add "Remove All Images" menu to clear all images
In addition to the existing "Remove" menu action in the Image Gallery that
deletes the currently selected image, add a "Remove All Images" menu
action that performs the same action as "Clear Images" from the "File"
menu.

The "Del" key was used as a shortcut to remove the currently selected
image when the Image Gallery has the focus, "Shift+Del" can now also be
used to remove all the images at once.
2023-10-09 18:54:06 +02:00
Candice Bentéjac
a606a8f83c [ui] Only update active CameraInit and its index when they are changed
Prior to this commit, when a `CameraInit` node was added to or removed
from the list of `CameraInit` nodes, the active `CameraInit` was always
reset to the first one in the list, independently from its previous
value.

This commit changes that behaviour by only modifying the active
`CameraInit` if no `CameraInit` node has been assigned yet, or if the
active `CameraInit` does not exist anymore (meaning it has been removed).

This requires to emit the `cameraInitChanged` signal every single time
the list of existing `CameraInit` nodes is modified even if the active one
is not changed, and to connect it to the ImageGallery in order to ensure
the index from the combo box always corresponds to the currently active
`CameraInit` node. Indeed, when the list of CameraInits is updated, the
model for the combo box is reset, and it needs to be re-updated with the
correct non-default value.
2023-10-03 18:11:55 +02:00
Loïc Vital
218f673599 [ui] circle gizmo: fix dragging 2023-09-27 14:22:16 +02:00
Loïc Vital
4ec27d0cf9 [ui] color checker viewer: support exif orientation 2023-09-27 11:55:55 +02:00
Loïc Vital
8ec5807775 [ui] lighting calibration circle: support exif orientation 2023-09-27 11:03:47 +02:00
Loïc Vital
daa3849c08 [ui] fisheye circle: support orientation by placing widget in properly sized item 2023-09-27 10:55:02 +02:00
Candice Bentéjac
94c035b5f9
Merge pull request #2197 from alicevision/dev/sequencePlayer/minorUpdateFps
[ui] SequencePlayer: minor adjustments (fps, icon, play)
2023-09-22 19:00:33 +02:00
Fabien Castan
6350208cd9
Merge pull request #2180 from alicevision/fix/clearHdrImages
[ui] ImageGallery: Disable "Visualize HDR" button after clearing images
2023-09-21 18:10:34 +02:00
Fabien Castan
191663f471 [ui] SequencePlayer: play on last frame restart from the beginning 2023-09-21 08:36:53 +02:00
Fabien Castan
f1c906ad4f [ui] SequencePlayer: change "repeat" icon 2023-09-21 08:35:25 +02:00
Fabien Castan
e4f130f5ac [ui] viewer: default value for fps is now 24 2023-09-21 08:34:36 +02:00
Candice Bentéjac
6a0cd25b13
Merge pull request #2148 from alicevision/mug/multiResImg
[ui] FloatImageViewer: adapt resolution to zoom
2023-09-06 15:58:27 +02:00
Candice Bentéjac
f570b37b09 [ui] ImageGallery: Disable "Visualize HDR" button after clearing images
When all the images in the gallery are cleared using the "Clear Images" or
"Clear All Images" menu action while the "Visualize HDR images" option is
turned on, the gallery is correctly emptied and the viewer correctly reset
but the button remains turned on even though there is nothing left to show.

As it is turned on (although with a "0" count), the gallery remains in
read-only mode and no more image can be dropped until the button is
manually clicked to be turned off. Even after that, it remains clickable
instead of being disabled.

This commit ensures that the button gets disabled if the number of
viewpoints is 0 (meaning the gallery is empty). That way, the button
correctly reflects the current situation, and the gallery is ready to have
images dropped.
2023-09-04 19:00:05 +02:00
Abdelrahman AL MAROUK
af8eabfa97 [ui] add searchbar for graph nodes 2023-09-01 09:03:39 +02:00
Abdelrahman AL MAROUK
7d6b3bb890 [ui] remove sort from 3D Inspector list 2023-08-30 16:29:50 +02:00
Abdelrahman AL MAROUK
b5093ac3a0 [ui] improve atts filtering and add search bar ...
...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
2023-08-30 16:21:11 +02:00
Abdelrahman AL MAROUK
6c2e9eb583 [ui] add option to only show modified attributes
In node attributes' editor, add an option to only show the modified
attributes (that are not output nor linked attributes)
2023-08-30 15:39:28 +02:00
Loïc Vital
363115b201 [ui] AttributeItemDelegate: remove redundant error icon 2023-08-21 16:46:38 +02:00
Candice Bentéjac
1e14b2c5a0 [ui] GraphEditor: Flag an attribute's label when its value is invalid
If an attribute's `validValue` is false, and it has a non-empty
`errorMessage`, the following will happen:
- An icon indicating an error will be added next to the attribute's name;
- The color of the label's background will change to red to clearly
indicate that something is wrong with the current value;
- The error message that has been set for this attribute will be displayed
in its tooltip, before its regular description.
2023-08-21 16:30:11 +02:00
Candice Bentéjac
d648fc9ecd [ui] MaterialIcons: Add the "dangerous" icon to the list of available icons 2023-08-21 16:30:11 +02:00
Loïc Vital
4d4d8176b7 [ui] float image viewer: factorize targetSize computation 2023-08-21 11:54:58 +02:00
Loïc Vital
522d838f32 [ui] SequencePlayer: improve playback 2023-08-21 11:45:04 +02:00
Loïc Vital
78625705a3 [ui] float image viewer: refine target size management 2023-08-21 09:38:11 +02:00
Loïc Vital
9aab7b2b57 [ui] FloatImageViewer: compute target size 2023-08-21 09:38:10 +02:00
Loïc Vital
516585c78f [ui] FloatImage: read dimensions from source size to allow using downscaled images 2023-08-21 09:38:10 +02:00
Abdelrahman AL MAROUK
da671056bf [UI] fix resize of horizontal splitview
When dragging the border between 3D Viewer and 2D Viewer:
- previous behaviour: the Image Gallery is resized instead of
the 2D Viewer
- new behaviour: the 2D Viewer is resized
2023-08-18 10:56:22 +02:00
Candice Bentéjac
08382bbaa3 [ui] GraphEditor: Check for parent's existence in ChunksListView 2023-07-24 11:55:54 +02:00
Candice Bentéjac
0e2aaa1c50 [ui] GraphEditor: Use nodes' label instead of type for CompatibilityManager
Also extend the width of the "Node" column to ensure that all nodes,
even those with a long name, can be displayed correctly without overlapping
on the "Issue" column.
2023-07-24 11:55:10 +02:00
Candice Bentéjac
49c11a9b9a NodeEditor: Add the default name of the node next to the label
If a node has a user-set label (defined through the internal attributes
of the node), its default name (the one that is displayed if no label
has been set) will be displayed next to it.

This allows to find quickly the correspondence between the node's label
and its type / how it is referred to in the current graph's file.
2023-07-20 16:28:33 +02:00