Julien-Haudegond
65138c67a0
[ui] MediaLibrary: fix dependencyReady binding
2020-08-24 18:37:46 +02:00
Julien-Haudegond
688027a69f
[ui] MediaLibrary: fix dependency binding
2020-08-21 17:25:18 +02:00
Julien-Haudegond
bd5f515f98
[ui] MediaLibrary: fix SfMTransform loading issue
2020-08-17 15:59:07 +02:00
Julien-Haudegond
424f7e5b0e
[ui] MediaLibrary: add alive property and fix issue
2020-08-17 11:50:00 +02:00
Julien-Haudegond
b79795a3c9
[ui] fix binding errors
2020-08-17 11:30:37 +02:00
Julien-Haudegond
79e96e7c06
[ui] fix typos
2020-08-17 11:16:53 +02:00
Julien-Haudegond
f614e63a99
[doc] add a lot of developer's information
2020-08-13 14:24:44 +02:00
Julien-Haudegond
ceb927b409
[ui] Viewer3D: avoid unwanted changes on other transformation types
...
Now, if we change the translation of the gizmo (for instance), we make sure rotation and scale will not be changed. Very useful to avoid approximations and to have a clean undo-redo stack.
2020-08-13 14:24:44 +02:00
Julien-Haudegond
7486f3b887
[ui] Viewer3D: update TransformGizmo signal with transformation type
2020-08-13 14:24:44 +02:00
Julien-Haudegond
e9151b2ee0
[ui] Viewer3D: fix bbox disappearing when moving after computed
2020-08-13 14:24:44 +02:00
Julien-Haudegond
1c14159cde
[nodes] SfMTransform: change name from gizmo to manual + enabled param
2020-08-13 14:24:44 +02:00
Julien-Haudegond
97fd076877
[ui] Viewer3D: SfMTransformGizmo - real-time transformed input rendering
...
- When SfMTransform uses manual method, we display in real-time the input on which we apply the gizmo transformation.
- For now, the options "Additional Scale", "Apply Scale/Rotation/Translation" of the node are not handled. The purpose will be to disable them when the method is "manual".
2020-08-13 14:24:44 +02:00
Julien-Haudegond
9fd90745e2
[ui] Viewer3D: add SfMTransformGizmo to MediaLibrary and Inspector3D
2020-08-13 14:24:44 +02:00
Julien-Haudegond
180b492ba1
[ui] Viewer3D: add a SfMTransformGizmo
...
- New SfMTransformGizmo entity.
- Add a uniform scale option to the TransformGizmo.
2020-08-13 14:24:44 +02:00
Julien-Haudegond
e96aae5326
[ui] Viewer3D: TransformGizmo - better right click menu
2020-08-13 14:24:44 +02:00
Julien-Haudegond
f746f0bf9e
[ui] Viewer3D: TransformGizmo - better mouse control
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
f2a75861c3
[ui] Viewer3D: better bounding box appearance
...
- Add edges to the bounding box. Appearance inspired by Blender.
- Better gizmo integration over the scene.
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
Julien-Haudegond
6103a4937f
[ui] Viewer3D: TransformGizmo - fix reset transformations
2020-08-13 14:24:44 +02:00
Julien-Haudegond
208114653a
[ui] Viewer3D: bounding box linked to meshing node
2020-08-13 14:24:44 +02:00
Julien-Haudegond
f4e73117a7
[ui] Viewer3D: add a BoundingBox entity
2020-08-13 14:24:44 +02:00
Julien-Haudegond
7663a6a44b
[ui] Viewer3D: TransformGizmo - preparing for the bounding box
2020-08-13 14:24:44 +02:00
Julien-Haudegond
d0a78d96ab
[ui] Viewer3D: TransformGizmo - ready to be set with absolute values
...
- Now, we can set the transformation with a position vector, Euler angles and a scale vector.
2020-08-13 14:24:44 +02:00
Julien-Haudegond
da765a5f98
[ui] Viewer3D: TransformGizmo - moving transform operations to Python
...
- Moving transform operations from QML to Python to get access to more Qt functionalities and to make a better separation of logic/display.
2020-08-13 14:24:44 +02:00
Julien-Haudegond
cb306ffc7d
[ui] Viewer3D: DefaultCameraController - removing FrameAction
...
- Apply the same control handling as the TransformGizmo.
2020-08-13 14:22:19 +02:00
Julien-Haudegond
b234a766a9
[ui] Viewer3D: TransformGizmo - removing FrameAction
...
- Moving the mouse's dependent events inside the MouseHandler and removing the FrameAction.
- MouseHandler is only enabled when the gizmo is selected. There is no infinite loop waiting for an event.
2020-08-13 14:22:19 +02:00
Julien-Haudegond
f9d57cadff
[ui] Viewer3D: TransformGizmo - add reset transform option
...
- Right clicking on the gizmo allows to reset the specific transformation.
2020-08-13 14:22:19 +02:00
Julien-Haudegond
85ebbba14f
[ui] Viewer3D: TransformGizmo - drawing gizmo on top of the object
...
- Special entity acting as an object container: we can add the entities we want to control with a gizmo inside it.
- Drawing the gizmo always on top of the object to make sure to see it every time.
2020-08-13 14:22:19 +02:00
Julien-Haudegond
bdf9d74ec8
[ui] Viewer3D: TransformGizmo - cleaning and renaming
2020-08-13 14:22:19 +02:00
Julien-Haudegond
d04eaaccfc
[ui] Viewer3D: TransformGizmo - new mouse handling rotation
...
- Rotation is the result angle of the mouse rotation around the gizmo's center. It is quite user-friendly.
2020-08-13 14:22:19 +02:00
Julien-Haudegond
414a865dff
[ui] Viewer3D: TransformGizmo - clean parameter names
2020-08-13 14:22:19 +02:00
Julien-Haudegond
ad2f287b66
[ui] Viewer3D: TransformGizmo - clean mouse handling translation
2020-08-13 14:22:19 +02:00
Julien-Haudegond
cd630418e4
[ui] Viewer3D: TransformGizmo - new mouse handling scale
...
- Scale is computed using the distance between the gizmo's center and the mouse. The scale unit (where nothing changes) is defined by the distance between the gizmo's center and the picked position.
2020-08-13 14:22:19 +02:00
Julien-Haudegond
fb3b541a7f
[ui] Viewer3D: TransformGizmo - new mouse handling translation
...
- Translations are computed using the dot product between the mouse vector (picked position to current position) and the projected picked axis vector. Like this, the behaviour is a lot more natural and user-friendly.
2020-08-13 14:22:19 +02:00
Julien-Haudegond
29c4be6210
[ui] Viewer3D: TransformGizmo - use one global FrameAction
...
- Use only one global FrameAction instead of having one per axis
2020-08-13 14:22:19 +02:00
Julien-Haudegond
6a9f229838
[ui] Viewer3D: TransformGizmo - individual color picking
2020-08-13 14:22:19 +02:00
Julien-Haudegond
45fae981ba
[ui] Viewer3D: TransformGizmo - add picking and transformations
...
- For now, transformations do not take well in count the orientation of the mouse but gizmo is functional.
2020-08-13 14:22:19 +02:00
Julien-Haudegond
30004fe690
[ui] Viewer3D: TransformGizmo - add needed mathematics functions
...
- Add Quaternions functions
- Add Matrices computation functions
2020-08-13 14:22:19 +02:00
Julien-Haudegond
98936b97d5
[ui] Viewer3D: add a Transform Gizmo Component
...
- Visual entity is done
- Need to make it pickable and to apply changes
2020-08-13 14:22:19 +02:00
Fabien Castan
778c88583c
[ui] typo in comment
2020-06-30 22:07:14 +02:00
Yann Lanthony
5a4384916e
[ui][3D] expose status on EnvironmentMapEntity
...
get loading status when env map is loading in 3D view
2019-12-13 17:17:03 +01:00
Yann Lanthony
63ffb20819
[ui][3D] add EnvironmentMapEntity to display equirectangular images
...
Load EXR files in the 3D viewport as environment maps mapped on a sphere "attached" to the camera.
* improve exr loading strategy by considering depthmaps and env maps
* update to DepthMapEntity 2.1 (required to get the loading status)
2019-12-13 17:17:03 +01: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
312b9f5e0b
[ui] Inspector3D: provide camera from Viewer3D
2019-09-11 10:09:27 +02:00
Yann Lanthony
2a3093b292
[ui] AlembicLoader: only select cameras on still left-clicks
...
don't trigger Camera selection if mouse has moved to rotate camera
2019-09-10 19:43:14 +02:00
Yann Lanthony
796517ccb1
[ui] AlembicLoader: use CuboidMesh extent to disable picking
...
Using an additional scale Transform changes Cuboid's size relatively to the Camera locator, which was unwanted.
2019-09-10 19:41:38 +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