Commit graph

337 commits

Author SHA1 Message Date
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
Fabien Castan
0bb05e99e7 [nodes] meshing/texturing: expose parameters 2017-11-27 16:20:27 +01:00
Yann Lanthony
2f63d5b010 [nodes] CameraInit: change viewpoints file extension to .sfm
+ remove old method
2017-11-27 13:55:01 +01:00
Yann Lanthony
19a0a3403b [ui] don't change attribute value when TextField is readOnly 2017-11-24 19:41:33 +01:00
Yann Lanthony
826c6caa07 [ui] add readOnly property on AttributeEditor
* setting readOnly to 'true' disable editing on AttributeItemDelegate components
* use this property instead of disabling the whole AttributeEditor when graph is being computed
2017-11-24 17:43:25 +01:00
Yann Lanthony
0e08291f8a [ui] introduce UIGraph + ChunksMonitor
* extract UIGraph from Reconstruction: base class that wraps a core.Graph, without knowledge of photogrammetry pipeline
* ChunksMonitor: watch NodeChunks status files for external changes to keep UI updated even when the graph is being computed externally
* Reconstruction inherits UIGraph with photogrammetry specific features
2017-11-24 17:20:13 +01:00
Yann Lanthony
5b1b5a1b32 [graph] add 'updated' signal 2017-11-24 16:31:12 +01:00
Yann Lanthony
d493d0e7e2 [graph] add utility methods to retrieve chunks 2017-11-24 16:30:13 +01:00
Yann Lanthony
a60fe3c601 [graph] emit statusChanged after saving the status file 2017-11-24 16:24:23 +01:00
Yann Lanthony
09390ca52c [graph] add notion of filepath in core.Graph
* Graph stores its filepath when saved/loaded
* trigger updateInternals when cache directory change to update Nodes outputs
2017-11-24 16:21:43 +01:00
Yann Lanthony
4d25661532 [bin] remove unused import + unify line endings 2017-11-24 16:11:38 +01:00
Yann Lanthony
d4be998099 [graph] retrieve execMode as Enum from status file 2017-11-24 11:41:29 +01:00
Fabien Castan
c488d73551 [core] split status and execMode (LOCAL/EXTERN) 2017-11-23 20:58:52 +01:00
Fabien Castan
1cd4034784 [core] status: add packageName, packageVersion, hostname, sessionUid 2017-11-23 20:07:06 +01:00
Fabien Castan
286012d55f [core] fix rez disabling if already in env and check that the package versions match
* "upper" was missing to check is the variable is in the environment
* check if the versions match
2017-11-23 20:06:05 +01:00