Commit graph

19 commits

Author SHA1 Message Date
Candice Bentéjac
41e885d9ff Linting: Clean-up files 2024-09-12 10:50:13 +02:00
Candice Bentéjac
b77274a027 Store all duplicates of a node correctly upon their creation
Duplicates used to be stored in a dictionary with an entry being
"parent node": "duplicated node". On occasions where a single
parent node was duplicated more than once, the latest duplicated
 node erased the previous one(s), and these older ones were
"lost": after being created, there was no trace left of their
existence in the duplication operation. Undoing that duplication
operation was thus leaving these duplicated nodes out and not
removing them.

Duplicated nodes are now stored as "parent node": [list of
duplicated nodes] to keep track of all the created nodes,
effectively removing them upon an "undo".
2022-07-28 14:13:31 +02:00
Fabien Castan
18be350e6f
Merge pull request #1227 from ChemicalXandco/box_select
[ui] add support for selecting multiple nodes at once
2021-05-03 23:42:11 +02:00
ChemicalXandco
55b16bc6d3 [tests] update node duplication test 2021-02-03 22:29:31 +00:00
Fabien Castan
37d3008f9e [core] rename nodesOfType 2021-01-22 13:12:29 +01:00
Julien-Haudegond
37c758c8da [core/tests] Graph: default startNodes parameter in dfsOnDiscover() 2020-09-04 15:39:27 +02:00
Julien-Haudegond
b567d8ff5c [core] Graph: change default reverse direction in dfsOnDiscover() 2020-09-04 12:42:05 +02:00
Julien-Haudegond
208749d897 [core] Graph: change signature of dfsOnDiscover() 2020-09-04 12:22:20 +02:00
Julien-Haudegond
f8bd40ad38 [core] Graph: rename nodesFromNode() to dfsOnDiscover() 2020-09-04 11:49:45 +02:00
Julien-Haudegond
5722ef56ed [tests] Graph: add new test with nodesFromNode() 2020-09-02 12:44:20 +02:00
Fabien Castan
b760a1f4f6 [tests] fix param change 2020-07-16 10:07:39 +02:00
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