This reference page is linked to from the following overview topics: Mudbox 2013, Mudbox Scenes, Nodes, Scene Graph, Traversing the Scene Graph, Mesh Division.
This class is the base of all node types that can be structured in a hierarchy.
Definition at line 18 of file treenode.h.
#include <treenode.h>

Public Member Functions |
|
| TreeNode (void) | |
| ~TreeNode (void) | |
| virtual void | Serialize (Stream &s) |
| Serializes the node. |
|
| virtual void | AddChild (TreeNode *pChild, bool bFirst=false) const |
| Adds a node/subtree to the list of children.
The added node will be removed from the current parent if it has
one. |
|
| virtual void | RemoveChild (TreeNode *pChild) const |
| Removes a node/subtree from the list of
children. |
|
| virtual TreeNode * | FirstChild (void) const |
| Returns the first node from the child list.
|
|
| virtual TreeNode * | Parent (void) const |
| Returns the parent node. |
|
| virtual TreeNode * | NextSibling (void) const |
| Returns the next linked node with the same
parent. |
|
| virtual TreeNode * | PrevSibling (void) const |
| Returns the previous linked node with the
same parent. |
|
| virtual void | MoveChild (TreeNode *pChild, TreeNode *pAfter) |
| Moves the child after the given node in
order. |
|
| virtual TreeNode * | ChildByClass (const ClassDesc *pClass, bool bAutoCreate=true) const |
| Returns the first child with the specified
type. When the bAutoCreate parameter is true and such a child does
not exists, it creates it with the preferred descedant type.
|
|
| template<typename type > | |
| type * | ChildByClass (bool bAutoCreate=true) const |
| Same as above, a most confortable version.
|
|
| virtual TreeNode * | ChildByClass (const ClassDesc *pClass, unsigned int iIndex=0) const |
| Returns the first child with the specified
type, or returns zero if no child found. |
|
| template<typename type > | |
| type * | ChildByClass (unsigned int iIndex=0) const |
| Same as above, a most confortable version.
|
|
| virtual void | DeleteChildByClass (const ClassDesc *pClass) |
| Deletes all child which is derived from a
specific class. |
|
| virtual QString | Info (void) const |
| Returns descriptive information about the
node. |
|
| virtual bool | Visible (void) const |
| Returns if the node is visible. Should be
overridden in derived classes. |
|
| virtual void | SetVisible (bool b) |
| Sets the node visibility Should be
overridden in derived classes. |
|
| virtual bool | Locked (void) const |
| Returns if the node is locked. Should be
overridden in derived classes. |
|
| virtual void | SetLocked (bool b) |
| Sets the locking of the node. Should be
overridden in derived classes. |
|
| virtual void | OnLinked (const TreeNode *pOldParent) |
| This function is called then the node is
linked to a new parent. |
|
| virtual void | CheckValidity (Node::DiagnosticLevel iLevel=dgnLevel2) const |
| See the documentation for Node::CheckValidity.
|
|
| QString | UniqueChildName (const TreeNode *pChild, const QString &sPrefix="") const |
| Finds a node name that is unique among the
children of this node. |
|
| virtual void | SetName (const QString &sName) |
| This method does the same thing as Node::SetName, except it ensures the name
is unique among this node's siblings. |
|
| virtual void | CopyTo (Node *pNode) const |
Public Attributes |
|
| DECLARE_CLASS | |
| TreeNode | ( | void | ) |
| ~TreeNode | ( | void | ) |
| virtual void Serialize | ( | Stream & | s | ) | [virtual] |
Serializes the node.
Override this function in your plug-in to save and load attributes and custom data with the Mudbox file.
Reimplemented from Node.
Reimplemented in CurveBase, MudboxCurve, LayerContainer, NURBSCurve, SelectionSet, and Topology.
| virtual void AddChild | ( | TreeNode * | pChild, |
| bool | bFirst =
false |
||
| ) | const [virtual] |
Adds a node/subtree to the list of children. The added node will be removed from the current parent if it has one.
| virtual void RemoveChild | ( | TreeNode * | pChild | ) | const [virtual] |
Removes a node/subtree from the list of children.
| virtual TreeNode* FirstChild | ( | void | ) | const [virtual] |
Returns the first node from the child list.
| virtual TreeNode* Parent | ( | void | ) | const [virtual] |
Returns the parent node.
| virtual TreeNode* NextSibling | ( | void | ) | const [virtual] |
Returns the next linked node with the same parent.
| virtual TreeNode* PrevSibling | ( | void | ) | const [virtual] |
Returns the previous linked node with the same parent.
Moves the child after the given node in order.
| virtual TreeNode* ChildByClass | ( | const ClassDesc * | pClass, |
| bool | bAutoCreate =
true |
||
| ) | const [virtual] |
Returns the first child with the specified type. When the bAutoCreate parameter is true and such a child does not exists, it creates it with the preferred descedant type.
| type* ChildByClass | ( | bool | bAutoCreate = true |
) | const [inline] |
Same as above, a most confortable version.
Definition at line 46 of file treenode.h.
{ return dynamic_cast<type *>( ChildByClass( type::StaticClass(), bAutoCreate ) ); };
| virtual TreeNode* ChildByClass | ( | const ClassDesc * | pClass, |
| unsigned int | iIndex = 0 |
||
| ) | const [virtual] |
Returns the first child with the specified type, or returns zero if no child found.
| type* ChildByClass | ( | unsigned int | iIndex = 0 |
) | const [inline] |
Same as above, a most confortable version.
Definition at line 51 of file treenode.h.
{ return dynamic_cast<type *>( ChildByClass( type::StaticClass(), iIndex ) ); };
| virtual void DeleteChildByClass | ( | const ClassDesc * | pClass | ) | [virtual] |
Deletes all child which is derived from a specific class.
| virtual QString Info | ( | void | ) | const [virtual] |
Returns descriptive information about the node.
| virtual bool Visible | ( | void | ) | const [virtual] |
Returns if the node is visible. Should be overridden in derived classes.
Reimplemented in LayerMeshData.
| virtual void SetVisible | ( | bool | b | ) | [virtual] |
Sets the node visibility Should be overridden in derived classes.
Reimplemented in LayerMeshData, NURBSCurve, SelectionSet, and ViewPortFilter.
| virtual bool Locked | ( | void | ) | const [virtual] |
Returns if the node is locked. Should be overridden in derived classes.
| virtual void SetLocked | ( | bool | b | ) | [virtual] |
Sets the locking of the node. Should be overridden in derived classes.
| virtual void OnLinked | ( | const TreeNode * | pOldParent | ) | [virtual] |
This function is called then the node is linked to a new parent.
| virtual void CheckValidity | ( | Node::DiagnosticLevel | iLevel = dgnLevel2 |
) | const [virtual] |
See the documentation for Node::CheckValidity.
Reimplemented from Node.
Reimplemented in Mesh, SubdivisionLevel, and Topology.
Finds a node name that is unique among the children of this node.
| [in] | pChild | The node to find a unique name for |
| [in] | sPrefix | An optional prefix for the unique name. If none, the name of pChild is used. |
| virtual void SetName | ( | const QString & | sName | ) | [virtual] |
This method does the same thing as Node::SetName, except it ensures the name is unique among this node's siblings.
Reimplemented from Node.
Reimplemented in LayerMeshData.
| virtual void CopyTo | ( | Node * | pNode | ) | const [virtual] |
Reimplemented from Node.
Reimplemented in CurveBase, MudboxCurve, Mesh, and Topology.
Reimplemented from Node.
Reimplemented in BrushMask, BrushStamp, BrushStencil, NURBSCurve, SelectionSet, and PtexPainting.
Definition at line 21 of file treenode.h.