This reference page is linked to from the following overview topics: 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 35 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 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) 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. |
|
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 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.
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 87 of file treenode.h.
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 97 of file treenode.h.
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 | ) | const [virtual] |
QString UniqueChildName | ( | const TreeNode * | pChild, |
const QString & | sPrefix = "" |
||
) | const |
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.
Reimplemented from Node.
Reimplemented in BrushMask, BrushStamp, BrushStencil, NURBSCurve, and SelectionSet.
Definition at line 41 of file treenode.h.