Commit graph

3839 commits

Author SHA1 Message Date
Yann Lanthony
c5ce41f49e [commands] fix missing import 2017-10-30 16:41:47 +01:00
Yann Lanthony
1ec966fe2c [commands] remove unnecessary updates
* Core Graph is now updated  internally when needed
* addNewNode already calls applyExpr on newly created node
2017-10-30 16:39:49 +01:00
Yann Lanthony
5e4b26fa5e [graph] automatically trigger Graph updates
* update graph internals / node status when:
 - an input attribute is set
 - edges are added/removed
* add GraphModification context manager to group graph updates
2017-10-30 16:37:09 +01:00
Yann Lanthony
a0cdc65143 [core] add isInput property in Attribute desc 2017-10-30 16:21:51 +01:00
Yann Lanthony
b22c2b5a62 [graph] minor clean 2017-10-30 11:56:29 +01:00
Yann Lanthony
454b19ed0f [graph] dummy override of List/GroupAttribute uid methods
TODO: implement the real uid mechanism based on child attributes
2017-10-30 11:40:40 +01:00
Yann Lanthony
263ad6b4f5 [graph] remove uid on node, use name as unique identifier 2017-10-30 11:38:42 +01:00
Yann Lanthony
c1a0f43ee3 [graph] handle invalidation value for output attributes
output attributes UIDs are only based on the hash of their values without the cache folder
2017-10-30 11:35:07 +01:00
Yann Lanthony
7da2466c74 [core] expose registerNodeType function 2017-10-30 10:30:28 +01:00
Fabien Castan
6f2ea4c8ef [core] support killed job
* add KILLED status
* register atexit function to update the status of running nodes to
KILLED
2017-10-27 11:24:12 +02:00
Fabien Castan
99ec7ab386 [doc] cosmetic 2017-10-26 18:47:27 +02:00
Fabien Castan
486d1081c8 [core] if rez is in env use it for command line creation 2017-10-26 18:47:01 +02:00
Fabien Castan
0b0ef01997 [core] add package and package version notion 2017-10-26 18:02:28 +02:00
Fabien Castan
0bdad5a588 [nodes] create default values from os.environ directly in nodes 2017-10-26 16:10:14 +02:00
Fabien Castan
c38c2d3407 Add the notion of cpu, gpu, ram ressources requirements 2017-10-26 14:25:11 +02:00
Fabien Castan
6c8a2d06a1 [node] CameraInit: clean param description 2017-10-26 12:25:51 +02:00
Fabien Castan
40974149ee [core] cache directory per graph 2017-10-26 12:22:06 +02: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
Fabien Castan
5d8771f07e [core] graph: retrieve nodes and edges at the same time 2017-10-24 20:19:24 +02:00
Fabien Castan
75317be1d2 [nodes] fix uid in test nodes 2017-10-24 20:19:23 +02:00
Yann Lanthony
c30b92b695 [commands] add ListAttributeAppend/Remove commands 2017-10-24 19:04:04 +02:00
Yann Lanthony
61ade5bfa7 [graph] simplify methods related to Attribute values and links 2017-10-24 19:02:38 +02:00
Yann Lanthony
75ddea0329 [graph] expose Attribute's description type as a property 2017-10-23 19:55:33 +02:00
Yann Lanthony
05be8932ca [graph] fix call to property nodeType 2017-10-23 19:55:33 +02:00
Yann Lanthony
e42e04fd9d [graph] handle ListAttribute and GroupAttribute 2017-10-23 19:55:33 +02:00
Yann Lanthony
d0c0a28d5d [common] introduce ListModel
*qt: for now, use QObjectListModel for both Dict and List models
2017-10-23 19:55:32 +02:00
Yann Lanthony
d22c2f7f8e [desc] Introducing ListAttribute and GroupAttribute 2017-10-23 19:55:32 +02:00
Yann Lanthony
2a213b70cf [common] add 'parent' field to CoreObject
useful to match QObject's API
2017-10-23 19:55:32 +02:00
Yann Lanthony
8e472b7d2b [common] qt: use begin/endResetModel in 'clear' method 2017-10-23 19:55:31 +02:00
Yann Lanthony
455d61672e [common] use python list naming for adding elements to QObjectListModel
differentiate append and extend methods
2017-10-23 19:55:31 +02:00
Yann Lanthony
1e306f8408 rename Model to DictModel + augment API
* add "update" and "reset" methods
* core: no more default keyAttrName
* qt: if keyAttrName is empty, don't register items in internal dictionnary
2017-10-23 19:54:55 +02:00
Yann Lanthony
9c7d0c1b1c [desc] Attribute inherits BaseObject and expose members as properties
* also expose graph.Attribute's desc as a property
* introduce Variant in data structure backend API
2017-10-23 15:07:09 +02:00
Yann Lanthony
74e4089c68 [stats] update stats one last time only if subprocess is still running 2017-10-23 14:42:39 +02:00
Yann Lanthony
473141ebed [core] fix graph file loading
Only resolve attribute expressions (containing edges description) once all nodes have been created
2017-10-23 14:33:42 +02:00
Yann Lanthony
6fa0cba8db [qt-backend] fix object referencement in setObjectList method 2017-10-20 14:57:32 +02:00
Yann Lanthony
6c3c50048a [misc] fix indentation 2017-10-20 14:56:14 +02:00
Yann Lanthony
c004e2af91 [commands] use new Graph.attribute method 2017-10-19 17:48:27 +02:00
Yann Lanthony
7f78fac119 [core] add Graph.attribute method
shortcut to get an attribute from its fullname
2017-10-19 17:45:02 +02:00
Yann Lanthony
925d2e71f6 [core] turn Node.nodeType into a property 2017-10-19 17:35:32 +02:00
Yann Lanthony
f9ff32c68a [core] plugin loading: ignore folders starting with __ 2017-10-19 16:22:04 +02:00
Fabien Castan
48e3e4cfa1 Merge branch 'dev_processGraph' of https://github.com/alicevision/meshroom into dev_processGraph 2017-10-19 12:30:48 +02:00
Fabien Castan
edd14691fc [nodes] use non-exclusive choice for describerTypes param 2017-10-19 12:30:05 +02:00
Fabien Castan
7ec61b9d6c [nodes] refineIntrinsics param as a choice 2017-10-19 12:28:19 +02:00
Fabien Castan
d42c44af07 [nodes] verbose param should not invalidate 2017-10-19 12:27:30 +02:00
Fabien Castan
76fad411a4 [core] support for non-exclusive choice params 2017-10-19 12:26:31 +02:00
Yann Lanthony
e49fdf457c [core] reset status of submitted nodes when a node computation fails
* catch Exception and stop graph execution
* report error using logging.error
* misc: fix indentation issues
2017-10-17 16:53:52 +02:00
Yann Lanthony
fd0c209837 [commands] only re-create out edges when undoing RemoveNode
"in" edges are automatically recreated since serialized as a connection expression in Node's dict representation and resolved by addNode
2017-10-17 16:32:57 +02:00
Fabien Castan
977a6b1507 [core] fix indent 2017-10-16 19:56:58 +02:00
Fabien Castan
daebef92f1 [nodes] ImageMatching: add minNbImages parameter 2017-10-16 19:25:01 +02:00