Commit graph

3839 commits

Author SHA1 Message Date
Yann Lanthony
a68dc53942 [ui] move Start/Stop button outside the GraphEditor 2017-11-17 19:22:12 +01:00
Yann Lanthony
4ca43028d8 [ui] add 3D viewer to ImageGallery
TODO: change Component's name
2017-11-17 19:19:49 +01:00
Yann Lanthony
851ebf60ee [core] add support for external graph computation via 'Submitter' API
* defines a base class for Submitters
* add method in graph module to submit a graph computation to a Submitter
* add SimpleFarmSubmitter and generalize meshroom_submit binary
2017-11-17 19:17:36 +01:00
Yann Lanthony
ae28a5477e [ui] add 3D viewer components 2017-11-17 19:02:24 +01:00
Yann Lanthony
cdcc8df33e [nodes] Publish: move filepaths resolution into a method 2017-11-17 18:59:27 +01:00
Yann Lanthony
7631a824f1 [nodes] Texturing: turn downscale into a ChoiceParam 2017-11-17 18:57:00 +01:00
Yann Lanthony
e8c579c942 [core] parallelization: introduce the notion of node 'size'
* node size is an estimation of the number of element to process on a given node, that may be used for parallelization.
* replace the explicit reference to an attribute on a node (Parallelization.inputListParamName)
* size can be:
  * dynamic: depends on the size of the node connected to a specific Attribute
  * static
2017-11-17 18:46:21 +01:00
Yann Lanthony
877025090e [graph] fix flowEdges method
only consider edges returned by dfsMaxEdgeLength
2017-11-17 18:38:44 +01:00
Yann Lanthony
900516a854 [graph] GroupAttribute: iterate over items() for uid generation
__iter__ of core/qt  backends differs for DictModel, which lead to inchorent uids.
TODO: fix that by defining a real DictModel in qt backend
2017-11-17 18:11:57 +01:00
Yann Lanthony
03058f4860 [nodes] turn several parameters into Choices 2017-11-17 17:56:33 +01:00
Yann Lanthony
6945cb7738 [core] fix: CoreListModel.indexOf actually returns the index 2017-11-17 17:51:41 +01:00
Yann Lanthony
911b5ea6d0 [ui] dev: watch qml source files recursively 2017-11-17 17:43:14 +01:00
Yann Lanthony
2749e1dcdd [ui] add placeholder application icon
use AliceVision logo until meshroom has its own icon
2017-11-17 17:42:52 +01:00
Yann Lanthony
83c6d68954 [ui] add palette variation for dark theme
Crtl+Shift+P allows to toggle between light and dark theme on the fly
2017-11-17 17:40:27 +01:00
Yann Lanthony
b8edf07e8d [ui] improved GraphEditor design 2017-11-17 17:36:10 +01:00
Yann Lanthony
e053bb0f45 [ui] minor UI tweaks 2017-11-14 18:15:45 +01:00
Yann Lanthony
c190f418b7 [ui] wip: add ImageGallery + Viewer2D to main layout
* ImageGallery displays images from CameraInit.viewpoints
* support drag&drop of images
* Viewer2D displays and allows basic manipulation of currently selected image
2017-11-14 18:14:44 +01:00
Yann Lanthony
9cc70c8cff [ui] Reconstruction: images import and intrinsics update mechanism
* add methods to add images to the reconstruction (DropEvent or urls)
* explicitly call CameraInit's buildIntrinsics method
* update CameraInit with resulting views and intrinsics
2017-11-14 18:02:26 +01:00
Yann Lanthony
79209c5785 [ui] support connections on ListAttributes
* connection: append and connect to the new element
* disconnection: remove edge and delete element
2017-11-14 16:58:09 +01:00
Yann Lanthony
800314faa9 [ui] Reconstruction: add shortcut to push commands to the undo stack 2017-11-14 16:54:50 +01:00
Yann Lanthony
46463aa007 [ui] Reconstruction: catch errors on graph execution 2017-11-14 16:53:42 +01:00
Yann Lanthony
3fae2fbc57 [desc] convert IntParams inner value to long to avoid OverflowError
when storing unsigned int, shiboken will overflow when retrieving those values as int
2017-11-14 16:52:03 +01:00
Yann Lanthony
545952d3a9 [ui] minor fix on new() and clear()
* update graph after setting cacheDir
* clear graph before requesting its deletion on C++ side
2017-11-14 16:49:31 +01:00
Yann Lanthony
7d4c006e68 [graph] List: multiple children attribute deletion + remove edges if any 2017-11-14 16:35:24 +01:00
Yann Lanthony
0fa23edc82 [graph] trigger update when ListAttribute changes 2017-11-14 16:34:32 +01:00
Yann Lanthony
c3a1f05fdf [commands] introduce GroupedGraphModification
* allow to group graph modifications at undo/redo level
* add new EnableGraphUpdateCommand to change graph update behavior as a undoable command
2017-11-14 16:17:22 +01:00
Yann Lanthony
5f49e26216 [commands] ListAttributeAppendCommand: handle 'None' as value 2017-11-14 15:14:12 +01:00
Yann Lanthony
8b2224609c [commands] add higher-level error catching on undo/redo 2017-11-14 15:13:17 +01:00
Yann Lanthony
5d549e9155 [commands] SetAttribute: store previous primitive value 2017-11-14 14:56:19 +01:00
Yann Lanthony
955609811d [nodes] CameraInit: fix typo 2017-11-14 10:12:03 +01:00
Yann Lanthony
705b4a42a7 [desc] fix base Node default cache folder
was missing 'cache' key
2017-11-14 10:06:29 +01:00
Yann Lanthony
e3b87175e5 [ui] correctly support ranges for Number values 2017-11-13 20:32:48 +01:00
Yann Lanthony
5d40790555 [nodes] update aliceVision nodes
* remove non-pertinent parameters
* fix parameters types / description
* tweak value ranges
* fix incorrect uids
* update default values
2017-11-13 20:31:16 +01:00
Yann Lanthony
2a029834db [nodes] Cleanup CameraInit
* remove non user pertinent parameters
* revamp old updateInternals into buildIntrinsics method:
    * works with node's current values + optional new images 
    * does not update the graph, making it thread safe and does not break undo/redo when used from UI
     * returns updated intrinsics and views instead
2017-11-13 20:28:00 +01:00
Fabien Castan
aa0f985077 [nodes] aliceVision: update param names to "folder" 2017-11-10 19:32:08 +01:00
Yann Lanthony
d190012d1d [stats] remove signal handling + misc fixes
* signal can only be used in the main thread, leading to an error when StatisticThread is instantiated inside a QThread
* misc fixes on imports and variable names
2017-11-10 18:28:00 +01:00
Yann Lanthony
5fc1d92cc2 [graph] remove call to node description's updateInternals
causes possible undefined behaviors if the graph is modified during this update
2017-11-10 18:21:59 +01:00
Yann Lanthony
9b71af3303 [ui] disable interactive connections on ListAttribute (not implemented yet) 2017-11-10 18:11:50 +01:00
Yann Lanthony
3ad62edcbb [ui] move GraphEditor multisampling to a lower Item
Multisampling on top-level Item causes visual artifacts when the GraphEditor is used inside a SplitView
2017-11-10 18:02:09 +01:00
Yann Lanthony
f4db98a1f0 [ui] improve display of ListAttribute
* allow to collapse/expand the attribute
* limit the height of the expanded delegate + add scrollbar
* tweak spacing between elements
2017-11-10 17:56:00 +01:00
Yann Lanthony
4d738623f7 [ui] display Node Chunks
* displayed as a colored status/progress bar 
* this is replacing node's status indicator
2017-11-10 17:53:11 +01:00
Yann Lanthony
a56ffa83b3 [ui] support display of edges on ListAttribute children 2017-11-10 16:42:18 +01:00
Yann Lanthony
bf747f69d6 Merge remote-tracking branch 'origin/develop' into dev_memoryManagement 2017-11-10 11:43:20 +01:00
Fabien Castan
848229778e [core] desc: use explicit message in validateValue exceptions 2017-11-10 11:37:59 +01:00
Fabien Castan
cb29e02c0a [nodes] CameraInit: update to support views and intrinsics update 2017-11-10 11:37:01 +01:00
Fabien Castan
224cd935f9 [graph] only save input params 2017-11-10 11:32:59 +01:00
Yann Lanthony
d6d97af892 [desc] expose Attribute desc type + group/elementDesc as properties 2017-11-09 09:32:03 +01:00
Yann Lanthony
f3aaa2c1fb [nodes] PrepareDenseScene: remove incorrect uid on output 2017-11-08 18:43:53 +01:00
Yann Lanthony
2b73e0d80c [nodes] CameraInit: remove extra outputSfM + fix sfmData for empty filepaths 2017-11-08 18:43:27 +01:00
Yann Lanthony
80cad9386a [core] handle unsatisfied node parallelization requirements
* catch error in case the required attribute is not found in preceding nodes
* set an empty list of chunks when this happens
* avoid uncatched exceptions in the middle of an update
2017-11-08 18:41:34 +01:00