Commit graph

43 commits

Author SHA1 Message Date
Candice Bentéjac
5f41542ed5 [Viewer3D] Inspector3D: Use Fusion style instead of Material
`Material` was used by mistake following an erroneous import.
2024-11-25 14:48:51 +01:00
Candice Bentéjac
0bbeec5427 [Viewer3D] Set text color for the label of resectioned cameras 2024-11-22 16:55:24 +01:00
Candice Bentéjac
05a742a221 [ui] Fix color for MaterialToolLabel
The name of the property used to set the color was ambiguous, causing
the colors to not be applied at all.
2024-11-22 16:54:58 +01: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
Candice Bentéjac
b884fc4e6b [qt6] Viewer3D: Reset the default render mode to "Textured" 2024-11-07 18:15:43 +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
240188c0b4 [qt6][Viewer3D] Disable wireframe mode
Disable and hide the wireframe mode as the shaders need to be updated
for RHI.
2024-11-07 18:13:18 +01:00
Candice Bentéjac
2b569c1fd8 [qt6][Viewer3D] Inspector3D: Set color for labels in Inspector 2024-11-07 18:09:13 +01:00
Candice Bentéjac
3ff279d99a [qt6] Use JS functions format to declare explicit parameters in slots 2024-11-07 18:09:10 +01:00
Candice Bentéjac
0e71f2a520 [qt6] Update versions for all the imported modules
Qt3D.Extras cannot be updated to 2.6 yet, otherwise there are errors.
2024-11-07 18:09:01 +01:00
Aurore LAFAURIE
f8d963e0b0 [ui] Add MScrollBar for better visibility
Always visible if height or width need it, with specific colors for hovered and pressed behaviors.
2024-09-11 17:33:29 +02:00
Aurore LAFAURIE
d6b5e77c02 [ui] Fix BoundingBox visibility icon because of mapping name 2024-04-25 18:14:02 +02:00
Aurore LAFAURIE
361f777118 [ui] Quick Fix of syncViewpointCamera when no element in Scene
Disable View Through the active camera if no element in inspector 3d
2024-04-10 19:39:36 +02:00
Candice Bentéjac
a579ea349d [Viewer3D] Inspector3D: Update resection ID slider upon any index update 2023-11-16 15:16:22 +01:00
Candice Bentéjac
45b267a49b [Viewer3D] Inspector3D: Replace resectionID-related labels with ToolLabels 2023-11-07 17:00:59 +01:00
Candice Bentéjac
3d67f83090 [Viewer3D] Display resection IDs of the active 3D model
Instead of displaying the resection IDs of the 3D model that was loaded
last, update the display whenever the active model selection changes.
2023-11-07 16:45:40 +01:00
Candice Bentéjac
c8ac11ca05 [Viewer3D] Inspector3D: Replace Group by ExpandableGroup when relevant
The content of the "DISPLAY" and "CAMERA" groups is hidden by default.
Instead of customizing the `Group` object's toolbar to hide/expand these
groups, the `ExpandableGroup` object, which is specifically made to handle
these cases, is used. The groups can be expanded either by clicking
the dedicated tool button or anywhere on the toolbar.
2023-11-07 16:45:31 +01:00
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
9d2974d282 [Viewer3D] Clean-up: Harmonize syntax across all the files 2023-11-06 16:28:20 +01: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
Candice Bentéjac
091346cbb8 [qml] Optimize QML files and fix syntax warnings
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
2023-07-04 12:04:14 +02:00
Candice Bentéjac
423de8ccfe [qml] Qt5.15: Upgrade all Qt3D modules 2023-07-03 12:11:31 +02:00
Candice Bentéjac
9b5dd40b02 [qml] Qt5.15: Upgrade all QtQuick modules 2023-07-03 12:11:29 +02:00
Candice Bentéjac
02383c68b3 [ui] Check that objects accessed by QML properties are not null before accessing them
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.
2022-12-06 11:04:50 +01:00
Fabien Castan
9d4090d4b3 [ui] reduce step for 3d points size 2021-02-15 10:43:24 +01:00
Julien-Haudegond
9fd90745e2 [ui] Viewer3D: add SfMTransformGizmo to MediaLibrary and Inspector3D 2020-08-13 14:24:44 +02:00
Julien-Haudegond
c45d29976b [ui] Viewer3D: specific bounding box options in the Inspector3D 2020-08-13 14:24:44 +02:00
Julien-Haudegond
4ab412dd90 [ui] Viewer3D: move bounding box display to Inspector3D 2020-08-13 14:24:44 +02:00
Yann Lanthony
1c873508ef
[ui] Inspector3D: double click on media now sets node as "active"
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.
2019-09-11 10:49:09 +02:00
Yann Lanthony
03e91bea49
[ui] Inspector3D: simplify handling of scene media items hovering
* add MouseArea at root of media
* use flow to display media info and avoid text clipping
2019-09-11 10:49:09 +02:00
Yann Lanthony
8dce4fc72f
[ui] Viewer3D: add "Sync with Image Selection" camera mode
* 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
2019-09-10 19:33:55 +02:00
Yann Lanthony
438622a14b
[ui] Introduce ClipboardHelper for copying to clipboard from QML
* add ClipboardHelper class that contains a QClipboard and exposes its method as Slots
* use Clipboard instead of hidden TextEdit where meaningful
2019-05-07 11:47:09 +02:00
Yann Lanthony
6199de0b45 [ui] Inspector3D: improve pointSize/cameraScale sliders
* reduce pointSize maximum value for better precision
* replace texts by icon
* add tooltips with values
2019-02-07 19:11:06 +01:00
Yann Lanthony
65ec2d3245 [ui] Viewer3D: disable pointclouds/cameras when scaled down to 0 2018-12-19 17:35:40 +01:00
Yann Lanthony
0db42e5acc [ui] Viewer3D: rename "Locator" to "Origin" 2018-12-13 17:42:00 +01:00
Yann Lanthony
05f0ae50fc [ui] Viewer3D: remove scene orientation controls
new trackball manipulator offers more intuitive 3D navigation regardless of the camera orientation
2018-12-13 17:39:28 +01:00
Yann Lanthony
87d5a62846 [ui] Viewer3D: new Trackball camera manipulator 2018-12-10 15:13:27 +01:00
Yann Lanthony
c3750a33c3 [ui] Inspector3D: add media contextual menu
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
2018-12-10 15:13:26 +01:00
Yann Lanthony
272cd24fb9 [ui] Viewer3D: Inspector3D cleanup
* 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
2018-12-10 15:13:25 +01:00
Yann Lanthony
2f307c16fb [ui] Viewer3D: synchronize media list and graph hover/selection
* 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)
2018-12-07 16:07:42 +01:00
Yann Lanthony
2e06ad1b83 [ui] 3DViewer: make 'visible' property drive media load request
* 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
2018-12-07 16:07:41 +01:00
Yann Lanthony
97fcdf67bf [ui] Viewer3D: multi 3D media support
* use new media loading backend through MediaLibrary
* Inspector3D: new overlay UI that displays and allows to manipulate MediaLibrary content
2018-12-07 16:07:41 +01:00