[Bf-committers] List the nodes of Frame with API
Bartek Skorupa (priv)
bartekskorupa at bartekskorupa.com
Sun Jan 6 22:00:40 CET 2013
I was dealing with this issue when working on "Nodes Efficiency Tools": http://projects.blender.org/tracker/index.php?func=detail&aid=33543&group_id=153&atid=467
In the current version I don't set parents, but I certainly will want to be able to do it.
The workaround I came up with is as follows:
Say you have a node 'frame'. It has children. Say we have a list of them and it's a list called 'children'.
Now we want some node outside this frame to be "parented" to it. (Let's call it 'my_node')
What I'd do would be:
Remove 'frame', but first I'd store it's name, label and maybe some other parameters, then select all of it's children (for node in children: node.select = True), plus 'my_none' (my_node.select = True) and use bpy.ops.node.join() operator.
This will create new FRAME node and all of the selected nodes will become its children. Then you may set some previously stored parameters of removed 'frame'.
When using operators for nodes you have to mind the context, so it will not work from the console level or simple scripts run from text editor.
This is however a workaround and I'd really appreciate if it was possible to simply say node.parent = frame
On 6 sty 2013, at 19:25, Fabio Russo <ruesp83 at gmail.com> wrote:
> Excellent! : D
> But this only allows me to read the relationship, if I instead want to set
> up the relationship? How do I? Parent is read only
> 2013/1/6 Lukas Tönne <lukas.toenne at gmail.com>
>> Nodes have a "parent" pointer that defines the hierarchy. When you
>> have a frame node called "frame", the list of attached nodes consists
>> of all nodes whose parent is "frame":
>> node_tree = frame.id_data
>> children = [node for node in node_tree.nodes if node.parent == frame]
>> On Sun, Jan 6, 2013 at 1:17 PM, Fabio Russo <ruesp83 at gmail.com> wrote:
>>> I'm back with some more questions regarding the nodes!
>>> I'm trying to improve the addon Compositing Presets, so do not call me
>>> annoying :P
>>> My new question is how do I know which nodes are located above the frame
>>> node via API?
>>> Thank you very much,
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>> Bf-committers mailing list
>> Bf-committers at blender.org
> Bf-committers mailing list
> Bf-committers at blender.org
More information about the Bf-committers