Small fix/addition: http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53686
You can detach a node simply by setting node.parent = None On Wed, Jan 9, 2013 at 5:08 PM, Lukas Tönne <[email protected]> wrote: > I have now made the parent property writeable in the RNA. > > http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53685 > > * It will perform a sanity check internally when setting, to avoid > infinite recursion when setting a node as its own ancestor (i.e. the > supposed parent frame is already attached to the child frame on some > level). > * It also checks for the Frame node type, which is currently the only > node allowing attachment (in the future there may be more node types > using this feature). > * If the node was attached to another frame before it will be detached > safely and then reattached to the new frame > > On Sun, Jan 6, 2013 at 10:00 PM, Bartek Skorupa (priv) > <[email protected]> wrote: >> 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 >> >> Bartek Skorupa >> >> www.bartekskorupa.com >> >> On 6 sty 2013, at 19:25, Fabio Russo <[email protected]> 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 <[email protected]> >>> >>>> 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 <[email protected]> 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, >>>>> ruesp83 >>>>> _______________________________________________ >>>>> Bf-committers mailing list >>>>> [email protected] >>>>> http://lists.blender.org/mailman/listinfo/bf-committers >>>> _______________________________________________ >>>> Bf-committers mailing list >>>> [email protected] >>>> http://lists.blender.org/mailman/listinfo/bf-committers >>>> >>> _______________________________________________ >>> Bf-committers mailing list >>> [email protected] >>> http://lists.blender.org/mailman/listinfo/bf-committers >> >> _______________________________________________ >> Bf-committers mailing list >> [email protected] >> http://lists.blender.org/mailman/listinfo/bf-committers _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
