Hello,
Just to add to the discussion, if it can help, here is a list of custom functions complementary to “Select Tree” and “Branch Select” that I constantly use to navigate and work with my hierarchies while rigging.
I use two sets of functions:
- “Getters” that are used while scripting (they do not change the selection)
- “Selectors” that are mainly intended to call from a GUI (they call the getters internally and then they select the returned lists of nodes)
All these functions work in single or mutli selection.
Getters:
GetAncestors
GetChildren
GetCousins
GetDescendants
GetFirstChildren
GetForkPreceding
GetLeaves
GetLineage
GetLineageDown (same as GetDescendants but also returns the input argument objects)
GetLineageUp (same as GetAncestors but also returns the input argument objects)
GetNodesInBetween
GetParent
GetRoot
GetSiblingPreceding
GetSiblingSucceeding
GetSiblings
GetTree
Selectors:
SelectAncestors
SelectChildren
SelectCousins
SelectDescendants
SelectFirstChildren
SelectForkPreceding
SelectLeaves
SelectLineage
SelectLineageDown
SelectLineageUp
SelectParent
SelectRoot
SelectSiblingPreceding
SelectSiblingSucceeding
SelectSiblings
SelectTree
These functions really help to rig faster since box selection is difficult due to the network editor automatic layouting that does not line up siblings and cousins nodes at the same height. They also foster multi selection workflows.
I think it would be great to have those functions available in Houdini “out of the box”, maybe through a contextual menu or some nice GUI.
I will log an RFE for it
Any other hierarchy navigation functions you guys think that should be included by default?