Node Grouping
 
 
 

A 3ds Max user can take a node in the scene and make it part of a group. Groups allow the user to select all the nodes in the group as one element without having to select each piece. Groups can be included in other groups so nesting can occur. INode::IsGroupMember() indicates whether a node is included in a group or not by returning TRUE if the node is in a group and FALSE if not.

The following interfaces on the Interface class are also used for working with node groups:

When 3ds Max constructs a group it first creates an invisible dummy node and linking the group members to this dummy. The dummy node is called the group head. The method INode::IsGroupHead() tells if the node is one of the dummy nodes that heads a group.

If you have a member of a group and want to get a pointer to the group head use INode::GetParentNode(). If you go through the children of the head (and all their children), and all the member booleans are set, the nodes are still part of the same group.

Groups may be opened allowing the user to edit the individual components (without otherwise breaking up the group). The method INode::IsOpenGroupMember() returns TRUE if the node is a member of an open group and FALSE if not. Group head nodes can be checked if they are open by calling INode::IsOpenGroupHead().