Commit graph

403 commits

Author SHA1 Message Date
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
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
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
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
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
00857a7a88
[ui] Reconstruction: rename 'endNode' to 'texturing'
+ use makeProperty helper
2019-06-27 18:29:33 +02:00
Yann Lanthony
292b0fb5fe
[ui] About: update copyright year 2019-06-26 16:36:17 +02:00
Yann Lanthony
eb8023e02c
[ui] NodeEditor: display AttributeEditor by default 2019-06-26 12:57:30 +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
2b1f2a8334
[ui] update MaterialIcons to 3.0 2019-06-26 12:57:30 +02:00
Yann Lanthony
55c9e3063d
[ui] TextFileViewer: simplify position restoring when source changes
Remove 'keepPosition' parameter: always try to reset position as close as possible to the previous state.
2019-05-15 20:17:09 +02:00
Yann Lanthony
d7f8311dcf
[ui] NodeLog: set TextFileViewer source when chunks ListView is ready
Avoid going through an empty source when switching from one node to another (currentChunk being invalid the time the ListView is being constructed).
2019-05-15 20:17:09 +02:00
Yann Lanthony
17556427fd
[ui] NodeLog: PySide2 5.11 compatibility fixes
* downgrade imports to work with versions prior to 5.12
* remove ES7 syntax
2019-05-09 18:18:48 +02:00
Yann Lanthony
55dba55d19
[ui] New TextFileViewer for displaying log files
Introduce a new TextFileViewer component with auto-reload feature based on a ListView instead of a TextArea for performance reasons. Uses the text content split on line breaks as ListView's model.
Features: 
 * auto-scroll to bottom
 * display line numbers
 * customizable line delegates (e.g.: display a real progress bar)
 * color lines according to log level
2019-05-07 11:47:09 +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
9ce077778b
[ui] add more explicit doc for QML helpers singleton 2019-05-07 11:03:54 +02:00
Yann Lanthony
aae6098b5a [ui] Viewpoints: use 'childAttribute' method to access child attributes
IntrinsicsIndicator: fix exceptions when trying to access a viewpoint's 'initializationMode' attribute that did not exist in previous versions
2019-03-01 17:29:50 +01:00
Fabien Castan
4ef1ff457d
Merge pull request #392 from alicevision/fix_locator3d
Viewer3D: use DepthMapEntity 2.0 + various fixes
2019-02-08 18:45:07 +01:00
Yann Lanthony
45faa860c9 [ui] AttributeEditor: remove SortFilterDelegateModel
Usage of DelegateModel for model filtering has not proven to be the most stable solution, and might be responsible for random crashes happening during engine's garbage collection.  Implement Loader-based alternative:
* first delegate is a Loader which creates the AttributeItemDelegate if necessary
* compensate spacing using negative height when element is hidden
2019-02-08 15:37:06 +01:00
Yann Lanthony
da1b842493 [ui] MediaLibrary: enable dynamicRoles on mediaModel
If an outside 3D media file is the first thing ever loaded, 'model.attribute' will be initialized to 'null' and will prevent an actual Attribute to be associated to this role. This breaks media loading from within Meshroom.
2019-02-07 19:55:05 +01: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
a9cb4afe2a [ui] DepthMapLoader: update to DepthMapEntity 2.0
* map render modes to custom visualization modes
2019-02-07 18:27:29 +01:00
Yann Lanthony
9bd53c7c89 [ui] CameraController: check KeyboardHandler status for all actions with modifiers 2019-02-07 18:24:52 +01: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
1793a30861 [ui][Viewer3D] Locator3D: properly initialize buffers with 'new'
Fix crash using PySide2 5.12: "calling a TypedArray constructor without new is invalid"
2019-02-06 14:37:53 +01:00
Fabien Castan
731bdd46a0
Merge pull request #386 from alicevision/dev_displayDistoModel
[ui] IntrinsicsIndicator: display distortion model
2019-02-01 15:57:39 +01:00
Yann Lanthony
7546e9ad10 [ui] IntrinsicsIndicator: display distortion model
Directly use intrinsic attribute in IntrinsicsIndicator to retrieve useful values, instead of dedicated methods in 'Reconstruction'.
2019-01-31 17:36:26 +01:00
Yann Lanthony
971d4d7f0e [ui][Viewer3D] MediaCache: add debug mode
add 'debug' mode to ease debugging of 3D Media cache
2019-01-31 16:12:42 +01:00
Yann Lanthony
6a297d5bff [ui][Viewer3D] fix cache update and reparenting issues
* don't try to put object in cache on MediaLoader 'Component.onCompleted' callback ; only effect was to put back in cache a media retrieved from cache during 'onFinalSourceChanged'
* redesign 'updateModelAndCache' as 'updateModel' and 'updateCacheAndModel' for this purpose
* wait for MediaLoader full initialization (@ 'NodeInstiator.onObjectAdded' callback) to reparent an object retrieved from cache; otherwise it silently fails.
2019-01-31 16:07:33 +01:00
Yann Lanthony
10c3454bad [ui][3D] MediaLoader: bind 'enabled' property of AlembicEntity
Ensure AlembicEntity is properly disabled when parent is. Fix pickable hidden cameras issue.
2019-01-31 15:58:23 +01:00
Fabien Castan
e63725c4e0
Merge pull request #379 from alicevision/dev_unsavedDialog
Show unsaved project warning dialog also when computing from GraphEditor
2019-01-30 10:02:54 +01:00
Yann Lanthony
28e7e64f3d [ui] show unsaved project warning dialog also when computing from GraphEditor 2019-01-30 09:48:37 +01:00
Yann Lanthony
80400531d5 [ui] IntrinsicsIndicator: use 'var' to store metadata
avoid warnings when a meta is not available and we get an "undefined" value
2019-01-29 16:21:38 +01:00
Yann Lanthony
4d6195cf81 [ui] Node: use TextMetrics to expand elided attribute pins at hover 2019-01-29 16:12:19 +01:00
Yann Lanthony
b73ddfc09c [ui] ImageGallery: introduce Rig indicator
Display rig indicator on Viewpoints that belongs to a rig.
2019-01-28 18:06:30 +01:00