TreeNode Class Reference

This reference page is linked to from the following overview topics: Mudbox Scenes, Nodes, Scene Graph, Traversing the Scene Graph, Mesh Division.



Detailed Description

This class is the base of all node types that can be structured in a hierarchy.

Examples:

MeshDisplace/displacer.h.

Definition at line 35 of file treenode.h.

#include <treenode.h>

Inheritance diagram for TreeNode:
Inheritance graph
[legend]

List of all members.

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

Constructor & Destructor Documentation

TreeNode ( void  )
~TreeNode ( void  )

Member Function Documentation

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]

See the documentation for Node::CheckValidity.

Reimplemented from Node.

QString UniqueChildName ( const TreeNode pChild,
const QString &  sPrefix = "" 
) const

Finds a node name that is unique among the children of this node.

Parameters:
[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.

Examples:
PLYImport/Importer.cpp.

Member Data Documentation

Reimplemented from Node.

Reimplemented in BrushMask, BrushStamp, BrushStencil, NURBSCurve, and SelectionSet.

Definition at line 41 of file treenode.h.


The documentation for this class was generated from the following file:

TreeNode TreeNode TreeNode TreeNode TreeNode TreeNode TreeNode TreeNode TreeNode TreeNode
TreeNode TreeNode TreeNode TreeNode TreeNode TreeNode TreeNode TreeNode TreeNode TreeNode