Commit graph

4476 commits

Author SHA1 Message Date
Fabien Servant @ TCS
f04eda8d05
Merge pull request #2603 from alicevision/fix/segPhotogCamTrack
[pipelines] PhotogCamTrack: Invert masks for segmentation
2024-11-22 11:01:43 +01:00
Candice Bentéjac
4e90c67c5a [pipelines] PhotogCamTrack: Invert masks for segmentation 2024-11-22 10:52:11 +01:00
Candice Bentéjac
9af6adeba9 [qt6][ui] Limit useless calls to recentProjectFiles when opening dialogs
This prevents emitting signals that lead to countless updates when a
single one is necessary, thus causing some freezes in the interface.
2024-11-21 11:19:38 +00:00
Candice Bentéjac
6692915385
Merge pull request #2598 from alicevision/fix/attributeCallbackOnGraphLoad
Discard attribute changed callbacks during graph loading
2024-11-18 16:57:25 +00:00
Yann Lanthony
b0808f9040
[core] Fix errorneous docstring
Co-authored-by: Vivek <vivek_ve@outlook.com>
2024-11-18 10:07:02 +01:00
Candice Bentéjac
d63f7f2575 [qt6] .git-blame-ignore-revs: Add clean-up commits 2024-11-15 10:49:41 +01:00
Yann Lanthony
61d35904ba [core] Discard attribute callbacks during graph loading 2024-11-14 19:11:08 +01:00
Yann Lanthony
98f1a9d516 [tests] Update tests to load graphs with strictCompatibility
Update tests that should fail if nodes are loaded as
CompatibilityNodes (resulting in false positives).
2024-11-14 19:11:08 +01:00
Yann Lanthony
3218c41bdc [tests] Add strictCompatibility graph loading test 2024-11-14 19:11:08 +01:00
Yann Lanthony
c09a0d2327 [core] Add 'strictCompatibility' mode for loadGraph function
Provide a way to control how to handle node compatibility issues
when loading a Graph with the `strictCompatibility` parameter.
Introduce a new error type, GraphCompatibilityError, to be raised
when loading a Graph with compatibility issues with strictCompatibility enabled.
2024-11-14 19:11:08 +01:00
Candice Bentéjac
c3bb55a414
Merge pull request #2597 from alicevision/dev/injectLineup
[nodes] Add new `SfMPoseInjecting` node
2024-11-14 14:39:03 +00:00
Candice Bentéjac
c0c988c4f2 [nodes] SfMPoseInjecting: Update doc, labels and descriptions 2024-11-14 12:51:15 +01:00
Grégoire De Lillo
5fca8a74e2 [ui] Viewer3D: Fix wrong camera up vector initialization
Default camera up should be accurate and consistent with camera view center.
Default camera up vector is not refresh or checked when default camera view center is set.
2024-11-14 10:49:56 +00:00
Grégoire De Lillo
bfda6f66ac [ui] Viewer3D: Use directional light & add light controller
Use a single light entity instead of one per camera.
Use directional light instead of point light.
Add camera relative directional light controller.
2024-11-14 10:49:56 +00:00
Grégoire De Lillo
9df260ac6c [ui] scene3D: Add getRotatedCameraViewVector function 2024-11-14 10:49:56 +00:00
Grégoire De Lillo
39b7dfd512 [ui] Viewer: Add PhongImageViewer and toolbars to Viewer2D 2024-11-14 10:49:56 +00:00
Grégoire De Lillo
b6b9d1b34f [ui] Viewer: Add PhongImageViewer component 2024-11-14 10:49:56 +00:00
Grégoire De Lillo
765a1f96d5 [ui] Viewer: Add PhongImageViewerToolbar component 2024-11-14 10:49:56 +00:00
Grégoire De Lillo
9b48531cb7 [ui] Controls: Add DirectionalLightPane component 2024-11-14 10:49:56 +00:00
fabien servant
69ea5b88d2 [qt6][Viewer3D] Fix mouse camera controller 2024-11-14 10:03:44 +01:00
Candice Bentéjac
65a014d9b1 [qt6][Viewer] Viewer2D: Fix fit() with the Sequence Player
With the Sequence Player always enabled by default, the `fit()` function
must be triggered at the right moment, and only once the layout has
been correctly initialized; otherwise, zoom factors may become negative
and the images will not be placed correctly in the viewer.

Changes in the orientation tag must be handled independently from the
state of the zoom factor.
2024-11-13 18:48:07 +01:00
Fabien Servant
670d949c59 Pose Injecting node 2024-11-13 13:57:40 +01:00
Candice Bentéjac
2699bffcda [qt6][ImageGallery] IntrinsicDisplayDelegate: Support File attributes 2024-11-07 18:19:14 +01:00
Candice Bentéjac
a61231916f [qt6][GraphEditor] Node: Ensure readOnly is set with a boolean 2024-11-07 18:19:13 +01:00
Candice Bentéjac
36f7f4e420 [qt6][Viewer] Viewer2D: Fix automatic fitting for missing orientation tags 2024-11-07 18:19:08 +01:00
Fabien Servant
d4eb365ada [qt6][Viewer] Fix zoom in 8bits viewer 2024-11-07 18:15:45 +01:00
Candice Bentéjac
62f0a3e5df [qt6][Viewer3D] Change picking behavior 2024-11-07 18:15:44 +01:00
Candice Bentéjac
b884fc4e6b [qt6] Viewer3D: Reset the default render mode to "Textured" 2024-11-07 18:15:43 +01:00
Candice Bentéjac
5953ed5767 [qt6] Add QT6 support for wireframe on nvidia 2024-11-07 18:15:42 +01:00
Candice Bentéjac
5a0b1c0c95 [qt6][qml] Clean-up code and harmonize comments 2024-11-07 18:15:37 +01:00
Candice Bentéjac
b12d1fed06 [qt6][qml] Remove unnecessary module imports 2024-11-07 18:13:36 +01:00
Candice Bentéjac
c5be7e7cd4 [qt6][Charts] InteractiveChartView: Remove dead code and useless imports 2024-11-07 18:13:35 +01:00
Candice Bentéjac
039504782f [qt6][GraphEditor] Fix connections to ListAttribute pins
The callbacks of `childrenRepeater` (which was used to "fill"
`ListAttributes` with children) were not correctly set. Their prototypes
were missing the `index` argument, meaning that instead of being
provided with the child attribute that was added or deleted,
they were provided with its index in the model.

The added children attributes were also instatiated as empty attribute
pins that were still visible, thus increasing indirectly the spacing of
the initial pin.
2024-11-07 18:13:34 +01:00
Candice Bentéjac
52444ef0ad [GraphEditor] Edge: Set curve scale after initializing EdgeMouseArea
The curve scale of the mouse area for an edge used to be defined when
initializing the `EdgeMouseArea` for that edge. Setting it triggers a
chain of event that allow the mouse area to be active, thus correctly
detecting when it is being hovered or clicked on.

With Qt6, these events unfolded before the `EdgeMouseArea` had finished
initializing, which then caused it to not be active until the edge's
shape was modified (and the chain of events triggered again). It is now
set once the component has been created, so all the events can happen
in an environment where they are taken into account.
2024-11-07 18:13:33 +01:00
Candice Bentéjac
4933911f0b [components] Edge: Remove use of deprecated functions
QMouseEvent::x() and QMouseEvent::y() have been marked as deprecated and
should be replaced with QMouseEvent::position().x() and
QMouseEvent::position().y().
2024-11-07 18:13:32 +01:00
Candice Bentéjac
49a3fcb72f [qt6][Viewer] Viewer2D: Remove outdated sfmRequired property 2024-11-07 18:13:31 +01:00
Candice Bentéjac
8eebe5ecb9 [qt6][qml] Homepage: Improve minimum width 2024-11-07 18:13:30 +01:00
Candice Bentéjac
54b59d0c5e [qt6][qml] Push Application on the stack before loading the project
This prevents crashes when the project is done loading but
`Application` is not yet ready.
2024-11-07 18:13:29 +01:00
Candice Bentéjac
de966e38e5 [qt6][ui] AboutDialog: Display PySide's version 2024-11-07 18:13:28 +01:00
Candice Bentéjac
ec139defb7 [qt6][ImageGallery] IntrinsicDisplay: Harmonize naming of components 2024-11-07 18:13:28 +01:00
Candice Bentéjac
e97575a901 [qt6][qml] Remove QtQuick.Window imports
`QtQuick.Window` does not exist anymore with Qt6. QQuickWindow is now
directly part of the QtQuick module.
2024-11-07 18:13:27 +01:00
Candice Bentéjac
645b822e56 [qt6][GraphEditor] Fix the width for the TaskManager's list 2024-11-07 18:13:26 +01:00
Candice Bentéjac
f06c5a2663 [qt6][MaterialIcons] Fix disabled buttons' behaviour when interacted with 2024-11-07 18:13:25 +01:00
Candice Bentéjac
9fb8ea83fb [qt6][Viewer] Fix display of metadata 2024-11-07 18:13:24 +01:00
Candice Bentéjac
8007bc51e8 [qt6][GraphEditor] Set preferred size for the list of chunks 2024-11-07 18:13:23 +01:00
Candice Bentéjac
fbe72a0ad6 [qt6][GraphEditor] Correctly detect clicks on edges 2024-11-07 18:13:22 +01:00
Candice Bentéjac
66c39633b4 [qt6][Viewer3D] Use DiffuseMapMaterial for texture display
Replace `DiffuseSpecularMaterial`, which does not seem to support
correctly textures anymore, with `DiffuseMapMaterial`.
2024-11-07 18:13:21 +01:00
Candice Bentéjac
9867773953 [qt6][GraphEditor] Check for object's existence before accessing it 2024-11-07 18:13:20 +01:00
Candice Bentéjac
fb5a882074 [qt6][core] Don't store SignalInstance in dict for node computations
When converting the `StatusData` to a dictionary, only data attributes
should be stored in said dictionary. With Qt6, the `objectNameChanged`
signal, of type `SignalInstance`, is added to the dictionary. It needs
to be removed manually as it is not JSON-serializable. Otherwise,
the nodes cannot be computed anymore.
2024-11-07 18:13:19 +01:00
Candice Bentéjac
92e56673ed [qt6] Use JS functions format to declare explicit parameters in slots 2024-11-07 18:13:19 +01:00