Commit graph

501 commits

Author SHA1 Message Date
Yann Lanthony
a07be7a556 [gitignore] ignore .jsc files
javascript compiled files
2017-12-14 19:13:50 +01:00
Yann Lanthony
8d8bf0be5e [ui] better UI Components split + improvements
* add WorkspaceView that contains Meshroom main modules (ImageGallery, 2D/3D viewer)
* add Panel component to standardize UI modules layout
* ImageGallery: 
  * add images basename on image delegates
  * add explanatory placeholder when no image has been added to the reconstruction yet
2017-12-14 19:11:52 +01:00
Yann Lanthony
e5acd916dc [ui] support import of folders containing images
* add isImageFile static method to test input files
* store completed image extensions list as class attribute
2017-12-14 19:03:26 +01:00
Yann Lanthony
c06e2f110a [ui] Reconstruction: maintain CameraInit node and expose Viewpoints model
* keep an internal reference to the "main" CameraInit node an update it according to graph modification
* expose viewpoints model as a property 
* TODO: handle multiple CameraInit nodes
2017-12-14 18:59:03 +01:00
Yann Lanthony
4bcd55fe46 [ui] MaterialIcons: use correct font family name
+ fix indentation
2017-12-14 18:29:05 +01:00
Yann Lanthony
d0a0f4491c [ui] Viewer2D: keep previous image displayed when source changes
* cache last loaded image and display it while the main Image is loading to avoid empty screen
* fix the BusyIndicator by dynamically creating a binding on the running property (Qt bug ?)
2017-12-14 16:39:29 +01:00
Yann Lanthony
3b10fd6200 [ui] MaterialSwitcher: fix diffuseColor property type
vector3d -> color
2017-12-12 20:17:24 +01:00
Fabien Castan
6b222e124d [nodes] DepthMap: clean param labels 2017-12-12 19:52:46 +01:00
Yann Lanthony
2b8fc5bde2 [ui] Viewer3D: models textures can now be toggled
* remove DiffuseMapMaterial automatically created by the SceneLoader
* use MaterialSwitchers to create and dynamically switch materials on loaded Entities
* add a "Textures" checkbox to perform the toggle
2017-12-12 19:21:54 +01:00
Yann Lanthony
ecc376e3b6 [ui] Viewer3D: DefaultCameraController + better double click handling
* add DefaultCameraController: 
   * mouse-only navigation
   * keyboard modifiers fallbacks for view re-centering (Ctrl+LeftClick) and fast zooming (Alt+RightClick)
* improved double click handling for 3D Object Picking
  * moved logic/Timer to the CameraController
  * always use TrianglePicking but only activate the ObjectPicker when necessary
2017-12-12 19:10:18 +01:00
Yann Lanthony
886ded7f19 [ui] create GraphEditor module 2017-12-12 17:47:27 +01:00
Gregoire De Lillo
a7cd42a140 [nodes] DepthMap: expose algo parameters 2017-12-12 16:44:43 +01:00
Fabien Castan
8f693e31d2 [nodes] depthMapFilter: expose new parameters 2017-12-11 21:00:59 +01:00
Fabien Castan
8d0d69f438 [nodes] MVS: support multiple image file formats 2017-12-11 20:36:04 +01:00
Fabien Castan
c26bb5be7a [nodes] MVS: export data per node folder 2017-12-11 20:35:35 +01:00
Fabien Castan
a82fdb5b88 [nodes] prepareDenseScene: no more _tmp_scaleX 2017-12-11 17:12:33 +01:00
Fabien Castan
65b7bd74ab [nodes] featureMatching: remove useless parameters 2017-12-11 17:11:45 +01:00
Fabien Castan
6aa980b07b [nodes] sfm: expose localBA graph distance param 2017-12-11 17:11:08 +01:00
Yann Lanthony
5c179cce6e [ui] GraphEditor: add action to clear node internal data 2017-12-11 15:13:56 +01:00
Yann Lanthony
b771352694 [ui] add main qml folder in QML import path 2017-12-05 16:00:33 +01:00
Yann Lanthony
850793f73e [ui] add MaterialIcons: QML binding of Google Material Icons font 2017-12-05 15:59:34 +01:00
Yann Lanthony
5aaa412977 [gitignore] ignore .nfs* files 2017-12-05 15:56:34 +01:00
Fabien Castan
1399f42723 [core] fix elapsedTime default value 2017-12-04 21:54:48 +01:00
Yann Lanthony
531d75140f [ui] ChunksMonitor: evaluate status filepaths at each timer event
Don't store status filepaths since they might change after a graph update, without the NodeChunks being themselves modified.
2017-12-04 12:36:21 +01:00
Yann Lanthony
f3caf529aa [common] CoreListModel: implement __getitem__ 2017-12-04 11:08:49 +01:00
Yann Lanthony
776a9a00af [graph] update Nodes status when cache directory changes 2017-12-04 11:06:25 +01:00
Yann Lanthony
1723f4abdc [ui] fix missing replacements QGuiApplication -> QApplication 2017-12-01 18:22:44 +01:00
Yann Lanthony
762c3b518d [ui] Viewer3D: simplify model manipulation code
use direct properties rotationX/Y/Z and scale instead of manually creating the transformation matrix
2017-12-01 17:45:04 +01:00
Yann Lanthony
ab563dd4f5 [ui] use QApplication for Platform.FileDialog fallback
From Qt docs: "The Qt Labs Platform module uses Qt Widgets as a fallback on platforms that do not have a native implementation available. Therefore, applications that use types from the Qt Labs Platform module should link to QtWidgets and use QApplication instead of QGuiApplication."
2017-12-01 17:33:33 +01:00
Yann Lanthony
9530ad6805 [core] update CoreListModel
* added setObjectList method
2017-11-30 21:36:32 +01:00
Yann Lanthony
d4c1ee6e83 [qt] delay objects deletion until next event loop
avoid warning messages when QML engine tries to evaluate an object that is already deleted
2017-11-30 21:35:43 +01:00
Yann Lanthony
1663b86542 [ui] ensure no local computation is in progress before closing Meshroom 2017-11-30 21:28:15 +01:00
Yann Lanthony
928e3981b9 [core] load 'submitters' package from MESHROOM_SUBMITTERS_PATH
allow to instantiate submitters from another directory
2017-11-28 22:39:07 +01:00
Yann Lanthony
06303c5773 [commands] add GraphModification on RemoveNode.undo
Avoid multiple graph updates on node/edges creation
2017-11-28 22:37:48 +01:00
Yann Lanthony
1a6febb02e [core] catch psutil.NoSuchProcess exception when trying to stop process 2017-11-28 22:36:35 +01:00
Yann Lanthony
298526adcb [ui] improve ImageGallery
* new footer that displays the number of images / allow to change thumbnail size
* smaller sourceSize for thumbnails (faster to load)
* avoid Nan scales in Viewer2D when no image is loaded
2017-11-28 22:35:38 +01:00
Yann Lanthony
03ca18c312 [ui] improve Viewer3D
* add Rotation/Scale controls
* add controls to disable default items (grid/locator)
* add drop support to load external 3D models
* add "View All" action in contextual menu to fit to scene
* automatically propose to load the reconstructed mesh when available
2017-11-28 22:35:20 +01:00
Yann Lanthony
fd5da4fa48 [ui] add global progress bar to follow graph computation
Use dfs-sorted NodeChunks to reflect this progression
2017-11-28 22:19:32 +01:00
Yann Lanthony
47d88f8635 [ui] handle graph submission
* add button to submit the graph to the default submitter
* add warning message when the graph is being computed in another meshroom instance
* make Start button green
2017-11-28 22:18:44 +01:00
Yann Lanthony
16db901d86 [core] NodeChunks as a ListModel + [ui] DFS sorted nodes proxy model
* core: NodeChunks are now stored in a ListModel inside Node
* ui: introduce SortedModelByReference
* ui: UIGraph exposes a proxy model of its graph's nodes sorted as visited by DFS (instead of another model of chunks)
* ui: added NodeChunks Component
2017-11-28 21:43:15 +01:00
Yann Lanthony
eb3432eb58 [graph] removeNode: call removeEdge and trigger graph update
* call removeEdge instead of removing the edge in the model. This allows to trigger signals at the Attribute level (like isLinkChanged)
* trigger graph update after node removal
2017-11-28 21:29:37 +01:00
Yann Lanthony
d334b38f50 [nodes] SfM: disable userInteraction + disable localBA by default
+ reformat descriptions
2017-11-28 20:49:05 +01:00
Yann Lanthony
ce1b416f2d [ui] set default font point size to 9 2017-11-28 20:22:49 +01:00
Yann Lanthony
3f9fcbd2a8 [ui] improve AttributeEditor
* add header with select node type
* ToolButton with advanced controls (cache directory, clear submitted status)
* tweak spacing/layout
2017-11-28 15:11:14 +01:00
Yann Lanthony
e8c8a9f64a [graph] add Node.clearSubmitterChunks method 2017-11-28 15:07:49 +01:00
Yann Lanthony
72e3817ef0 [ui] GraphEditor: highlight selected node 2017-11-28 15:02:35 +01:00
Yann Lanthony
fccaa9d186 [ui] ImageGallery: add contextual menu + readOnly mode
* contextMenu: open image containing folder / remove image
* readOnly: disable image removing when graph is being computed
2017-11-28 11:16:53 +01:00
Yann Lanthony
f6a1ee23d2 [ui] disable Undo/Redo when graph is being computed 2017-11-28 11:05:56 +01:00
Yann Lanthony
d2c26c3c84 [ui] GraphEditor: add readOnly mode
* disable node/edge edition
* make GraphEditor readOnly when graph is being computed
2017-11-28 11:05:05 +01:00
Fabien Castan
5e17b12df1 [nodes] SfM: add new parameters localBA and maxNumberOfMatches 2017-11-27 16:21:55 +01:00