Commit graph

454 commits

Author SHA1 Message Date
Fabien Castan
dbcfce7c90
[ui] WorkspaceView: open images in the 2D Viewer from the Graph/NodeEditor
Double click on a node or an attribute with an image file to display it
in the 2D viewer.
2019-12-12 18:50:18 +01:00
Fabien Castan
7118c9489d Merge branch 'develop' into dev/imagesImport 2019-11-01 15:50:59 +01:00
Fabien Castan
7950b9f36b
Merge pull request #632 from alicevision/dev/commandline_args
Improve command line arguments
2019-09-26 14:42:17 +02:00
Fabien Castan
ce6dcbae4d [ui] simplify meshroom command line rules 2019-09-25 21:12:46 +02:00
Fabien Castan
a53940d29f [core] graph: variable rename 2019-09-25 21:07:28 +02:00
Fabien Castan
06543f89a9 [core] use more explicit argument name: setupFileRef 2019-09-21 18:19:17 +02:00
Fabien Castan
fa7b4587ca [ui] meshroom: improve import command line arguments
-  explicit error messages
-  allow to combine multiple inputs with new --import and --importRecursive options
2019-09-21 18:04:26 +02:00
Yann Lanthony
ae91f3bcd5
[reconstruction] ViewpointWrapper: fix uvCenterOffset for rotated images
correctly apply image transformation to principal point correction in uv coordinates.
2019-09-19 12:50:48 +02:00
Yann Lanthony
633b8c0e00
Merge remote-tracking branch 'origin/develop' into dev/syncCamera 2019-09-16 12:24:22 +02:00
Fabien Castan
a712613bd2 [ui] Add an error popup when there is no supported image to import and when the import failed 2019-09-14 16:06:45 +02:00
Fabien Castan
231125efdf [ui] improve meshroom command line
- "meshroom -h / --help": now provides command line documentation (so
argparse is done before GUI creation)
- new positional argument to set project file or input folder
- new "--pipeline" option to set a default pipeline, also support an
environment variable
2019-09-12 21:14:52 +02:00
Yann Lanthony
b9999c01eb
[ui] Update MaterialToolButton style
* flatten the button 
* color its icon when checked
2019-09-11 10:49:09 +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
f870e252b4
[ui] Reconstruction: add 'setActiveNodeOfType' method
Helper method to set a node as the active one of its type.
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
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
Fabien Castan
40c3430707 [ui] StatViewer: do not display uninitialied values 2019-09-10 18:56:23 +02:00
Fabien Castan
4cc78ad5ec [ui] StatViewer: more compatibility with previous "statistics" files
* compute max peak ram if no total ram info
* hide GPU chart if the file is from a previous version
2019-09-10 18:56:22 +02:00
Yann Lanthony
94993d1212
[reconstruction] introduce ViewpointWrapper
* new class that wraps an input image (Viewpoint) in the context of a Reconstruction
* exposes properties to access image and camera data
2019-09-10 18:38:17 +02:00
Yann Lanthony
d46ed62b05
[reconstruction] add prepareDenseScene property
keep reference to active prepareDenseScene to be able to compose paths to undistorted images
2019-09-10 18:34:39 +02:00
Yann Lanthony
c7a55e56b7
[reconstruction] retrieve and expose solved intrinsics
* [nodes] SfM: make more generic method to get SfM results and return solved intrinsics in addition to views and poses
* [reconstruction] store and expose solved intrinsics by viewpoints
2019-09-10 18:23:35 +02:00
Fabien Castan
8f630d5c09 [ui] StatViewer: compatibility with previous "statistics" files 2019-09-10 17:52:37 +02:00
Fabien Castan
dbeab285cf Merge branch 'develop' of github.com:alicevision/meshroom into dev/stats 2019-09-10 09:20:00 +02:00
Yann Lanthony
606cfc39c2
[ui] Viewer3D: fix Alembic visibility issues
Binding the "enabled" property of AlembicLoader's ObjectPicker to the parent MediaLoader's own "enabled" property caused invalid state where the loaded AlembicEntity was partially visible when toggling object visibility (since Qt 5.13).
In order to disable camera picking when AlembicEntity is disable, scale the camSelector component to 0.
2019-08-12 17:58:43 +02:00
Yann Lanthony
07ced073f3
[ui] StatViewer: introduce custom ChartViewLegend system
* add a generic ChartViewLegend component that provides an interactive legend for ChartViews
* rely more on data bindings to control Series visibility and display
2019-08-06 10:39:39 +02:00
Yann Lanthony
aedf10c838
[ui] StatViewer: fix "Toggle CPU" button
use MaterialLabel instead of Text
2019-08-06 10:31:39 +02:00
Yann Lanthony
001d9a3de8
[ui] StatViewer: fix average computation 2019-08-06 10:28:12 +02:00
Yann Lanthony
bedda0c5b6
[ui] simplify loading of statistics file
* NodeLog: remove intermediate property for Loader
* StatViewer
   * keep only one function to load source file
   * only send request only after the previous one fully completed
  * update deltaTime before initializing charts
  * reset "sourceModified" property when source changes
2019-08-06 10:23:59 +02:00
Lee Geertsen
1822bbe13d Dynamically load TextFileViewer or StatViewer depending on selected tab 2019-07-26 11:35:44 +02:00
Lee Geertsen
e48039bb2f Add StatViewer component to view statistics charts 2019-07-26 11:34:43 +02:00
Fabien Castan
059ca3685f
Merge pull request #539 from alicevision/dev/featuresViewer
Features Viewer
2019-07-25 20:58:18 +02:00
Yann Lanthony
d229743c3d
[ui] update graph computing status when NodeChunks change
Ensure graph computing status is properly updated after deleting a node that was running
2019-07-25 14:40:05 +02:00
Yann Lanthony
f5607cb127
[ui] downgrade QtQuick import version for retro-compatibility 2019-07-24 18:13:23 +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
36fc7ea069
[ui] GraphEditor: add "Refresh Nodes Status" MenuItem
Enables the user to force the re-evaluation of nodes status.
2019-07-24 18:04:39 +02:00
Yann Lanthony
f6a42cb86e
[ui] Nodes status monitoring simplification
* store status file last modification time on NodeChunk
* ChunksMonitor: don't stop the underlying thread when changing chunks, only modify the list of monitored files + use a mutex for thread-safety
2019-07-24 18:02:29 +02:00
Fabien Castan
d5dc83f14e
Merge pull request #550 from alicevision/dev/coloredMeshViewer
Viewer3D: add support for vertex-colored meshes
2019-07-16 19:25:38 +02:00
Yann Lanthony
cee8d1b612
[ui] Viewer3D: add support for vertex-colored meshes
Use PerVertexColorMaterial if any vertex color data is available on a mesh without textures.
2019-07-10 16:35:44 +02:00
Yann Lanthony
52361d0b86
[ui] TextFileViewer: wait for request completion before sending a new one
On auto-realod mode, only trigger a new request when the last one has been completed. Avoids requests loops on slow filesystems that can lead to UI freezes.
2019-07-08 20:04:22 +02:00
Yann Lanthony
88b0297660
[ui] Graph: update ChunkMonitor after 'saveAs'
Saving file on disk impacts cache folder location and therefore status files paths; force re-evaluation of monitored filepaths at the end of a "saveAs" operation.
2019-07-08 19:48:06 +02:00
Yann Lanthony
4563d32e3e
[ui] Viewer2D: add FeaturesViewer + dedicated overlay
Make FeaturesViewer available in Viewer2D to display the feature points of the current view, based on the current FeatureExtraction node.

* FeaturesInfoOverlay: overlay that displays info and provides controls over a FeaturesViewer component.
* ColorChart: color picker based on a set of predefined colors.
2019-07-04 18:25:02 +02:00
Yann Lanthony
8dd0a4be22
[ui] New FeaturesViewer component
FeaturesViewer wraps QtAliceVision plugin's FeaturesViewer component to display the extracted feature points of a View.
2019-07-04 17:51:44 +02:00
Yann Lanthony
4435ba9e1b
[ui] Reconstruction: add 'featureExtraction' member
* add featureExtraction property to keep track of current FeatureExtraction node 
* update it when current CameraInit node is changed
* allow to set current CameraInit by double clicking on a CameraInit node from the Graph Editor
2019-06-27 18:36:10 +02:00
Yann Lanthony
a358c46748
[ui] Reconstruction: improve constructor readability 2019-06-27 18:31:50 +02:00
Yann Lanthony
00857a7a88
[ui] Reconstruction: rename 'endNode' to 'texturing'
+ use makeProperty helper
2019-06-27 18:29:33 +02:00