Commit graph

119 commits

Author SHA1 Message Date
Yann Lanthony
dbf2649621 [ui.graph] fix node duplication method
* duplicate all nodes before re-creating edges
* add unit test
2018-06-27 18:46:51 +02:00
Yann Lanthony
1f675a0e42 [core] split graph.py into separate modules
core.graph is now splitted into: 
  * graph.py
  * node.py
  * attribute.py
2018-06-26 12:19:14 +02:00
Yann Lanthony
168866aed0 [core] rename 'graph.isLink' to 'graph.isLinkExpression'
avoid confusion with Attribute.isLink method
2018-06-18 14:58:36 +02:00
Yann Lanthony
99d6068250 [graph] make ListAttribute connectable at root level
ListAttribute can now be connected :
 * at root level to another ListAttribute (new)
 * at child level to basic Attributes
2018-06-18 14:58:35 +02:00
Yann Lanthony
2cd724f957 [graph] ListAttribute: replace '__getitem__ by 'at'
__getitem__ is spuriously called when the object is used inside a Qt model and exposed to QML, leading to unexpected behaviors
2018-06-18 14:43:18 +02:00
Yann Lanthony
5b586a2810 [ui] use sorted NodeChunks to handle global progression
Simplify global progression handling by directly considering the list of NodeChunks (sorted by visit order) instead of the list of Nodes.
2018-05-28 16:23:01 +02:00
Yann Lanthony
2e4d9b85e6 [ui] UIGraph: rename 'addNode' to 'addNewNode' to match core.graph API 2018-03-21 15:53:34 +01:00
Yann Lanthony
4f392a310b [commands] GroupedGraphModification: add 'disableUpdates' option
gives control over whether graph updates should be disabled during this grouped modification
2018-03-21 15:53:34 +01:00
Yann Lanthony
88d5c0ca3f [ui] UIGraph: add Node duplication methods
* duplicate one node
* duplicate all nodes from a specific node
2018-02-12 17:59:07 +01:00
Yann Lanthony
25992286d0 [ui] add partial graph submission up to a certain node 2018-02-07 14:35:50 +01:00
Yann Lanthony
4a71ebb212 [ui] add UIGraph.resetAttribute method 2018-02-05 18:24:13 +01:00
Yann Lanthony
aa0f08354b [ui] UIGraph: stop previous graph execution before setting the new one 2018-01-15 15:15:46 +01:00
Yann Lanthony
4e5b995618 [ui] handle python values in UIGraph.appendAttribute 2018-01-15 15:02:18 +01:00
Yann Lanthony
affd2b2fdf [ui] add UIGraph.begin/endModification methods
alternative to create grouped graph modifications where the use of a contextmanager is not possible
2018-01-15 14:59:02 +01:00
Yann Lanthony
4ea793be74 [ui] return command result after pushing it to the undo stack
this allows to directly retrieve, for instance, the node created by UIGraph.addNode method
2018-01-12 13:59:07 +01:00
Yann Lanthony
49c3491534 [graph] expose NodeChunks log files as properties 2017-12-28 21:26:26 +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
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
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