Commit graph

8 commits

Author SHA1 Message Date
Yann Lanthony
30cd8001fd [core][graph] update nodes computability on topology change
CompatibilityNodes introduce a new notion of computability per node.
An uncomputed (and therefore uncomputable) CompatibilityNode blocks the computation of all its successor.

* update nodes computability on topology change (in addition to min/max depth)
* evaluate leaves computability to determine if the whole graph can be processed
2018-07-19 13:50:45 +02:00
Yann Lanthony
2952e11691 [core] move duplicateNode methods to core.graph
handle this low-level operation engine side

* fix ListAttribute children links duplication
* handle CompatibilityNode duplication
* move corresponding unit test in test_graph.py
* [ui] add DuplicateNodeCommand
2018-07-19 13:50:45 +02:00
Fabien Castan
fb549ff3df [python] use items instead of iteritems for python2/3 compatibility 2018-05-21 16:13:43 +02:00
Yann Lanthony
1bc6168814 [graph] add helper methods to get nodes by type and sort them by name 2018-01-12 13:59:08 +01:00
Yann Lanthony
516f909db4 [graph] add nodesFromNode method based on reverse dfs visit
Get the whole node chain from a start node to the graph leaves following graph edges
2018-01-08 13:08:55 +01:00
Fabien Castan
1af40dac9e [tests] remove useless main 2017-10-31 10:48:27 +01:00
Fabien Castan
e533c588dd [core] graph: add the notion of flowEdges and minMaxDepthPerNode
- flowEdges: Compute a transitive reduction of the graph to provide
node-level minimal dependencies to create an execution workflow for
renderfarm.
- minMaxDepthPerNode: compute the min and max depth per node
2017-10-24 20:22:39 +02:00
Fabien Castan
2bf95d200f [test] add more graph tests 2017-10-24 20:19:24 +02:00