Commit graph

20 commits

Author SHA1 Message Date
Yann Lanthony
312b9f5e0b
[ui] Inspector3D: provide camera from Viewer3D 2019-09-11 10:09:27 +02:00
Yann Lanthony
6e47235c9c
[ui] Viewer3D: don't display contextual menu on alt+right-click zoom
Only prompt right-click contextual menu when it was not used to zoom in the 3D view.
2019-09-10 19:37:54 +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
774675bd65
[ui] Viewer3D: move Inspector3D outside Viewer3D
Inspector3D is not an overlay anymore to simplify 3D manipulations, by having view center at the center of the 3D view.
2019-09-10 19:28:14 +02:00
Yann Lanthony
aff5a98a4b
[ui] Viewer3D: use RenderSettings.Always renderPolicy
Since Qt-5.13, RenderSettings.OnDemand can lead to rendering issues due to non-triggered updates (e.g: when resizing the viewport or changing visibilities of objects displayed).
2019-07-24 18:04:39 +02:00
Yann Lanthony
2b07699f65
[ui] Viewer3D: improved trackball parameters
Make trackball larger and adjust rotation speed to make 3D navigation easier.
2019-06-26 12:57:30 +02:00
Yann Lanthony
829aa24a4a [ui] CameraController: avoid allocating new objects on bindings
Change existing objects values instead of re-creating point/size objects, on bindings that can be evaluated very often.
2019-02-07 18:14:16 +01:00
Yann Lanthony
b5c985b3fb [ui] GraphEditor: solo 3D media with Double Click + Control modifier
* allow to solo a 3D media from the GraphEditor by double clicking on a node or an attribute with the Control modifier pressed
* consistent with Viewer3D.MediaLibrary behavior (solo on Ctrl+Click on visibility button)
* handle supported file extensions in Viewer3DSettings
2019-01-07 16:19:42 +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
5814a39e3e [ui] Viewer3D: add loading overlay with BusyIndicator 2018-12-13 17:15:24 +01:00
Yann Lanthony
4d73013784 [ui] Add Colors singleton to start centralizing useful colors
+ use in 3D gizmos
2018-12-10 15:13:27 +01:00
Yann Lanthony
87d5a62846 [ui] Viewer3D: new Trackball camera manipulator 2018-12-10 15:13:27 +01:00
Yann Lanthony
b56cf9e7cf [ui] Viewer3D: tweak initial camera position and Grid3D material
* centralize initial camera parameters + move camera closer to the scene center
* add motion smoothing when camera position is set
* improve grid material aspect
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
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
Yann Lanthony
e35076ef97 [ui] Viewer3D: improved frame graph
* enable PrimitivePicking to enable picking on point clouds
* use OnDemand render policy
* activate FrustrumCulling + increase far plane
* add management of rasterized OpenGL points via a PointSize render
2018-12-07 15:57:58 +01:00
Yann Lanthony
f6365c5607 [ui] Viewer3D: fix wrong keyboard modifier state
Keyboard Actions are never deactivated when focus is lost, leading to picking being enabled on a single click when Control was pressed in the 3D viewer and focus was lost to another Item.
* keep track of focus loss inside the DefaultCameraController
* use it to disable picking while Keyboard has not been pressed back in the 3D viewer
* do the same for 'moving' state with Alt modifier
2018-12-07 15:54:46 +01:00
Yann Lanthony
7415c1d391 [ui] split 2D and 3D viewers into separate modules
+ remove historical MayaCameraController
2018-11-23 14:26:57 +01:00
Renamed from meshroom/ui/qml/Viewer/Viewer3D.qml (Browse further)