- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Directories
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Public Attributes | Friends

# Node Class Reference

This reference page is linked to from the following overview topics: Mudbox 2013, Attributes, Writing Material Plug-ins, Sampling Texture Values, Writing a File Event Handler Plug-in, Node Events, Serializing Plug-in Data.

Search for all occurrences

## Detailed Description

This is the base class for most classes in the Mudbox SDK.

Examples:

  AutoExtract/AutoExtract.h, CurveBrush/CurveDisplayer.h, FileEventHandler/FileEventHandler.h, and FrameCounter/FrameCounter.h.

Definition at line 688 of file node.h.

`#include <node.h>`

Inheritance diagram for Node:
[legend]

List of all members.

## Public Types
enum | DiagnosticLevel { dgnLevel1, dgnLevel2, dgnLevel3 }
| Indicates the level of validity checking that is performed in CheckValidity() More...
## Public Member Functions
| Node (const QString &sStringID="", const QString &sDisplayName="")
| Standard constructor.
virtual | ~Node (void)
virtual void | Initialize (void)
void | LoadTemplate (const QString &sFileName="", bool bStartEvent=false)
| Use an external XML file to initialize the attributes.
void | SaveTemplate (const QString &sFileName="", bool bSaveOnlyVisible=false)
| Save current attributes as an XML template.
unsigned int | Version (void) const
| Returns the current version of the node. This number increases when the content of the node changed (when ContentChanged() called).
void | SetVersion (unsigned int iVersion)
| Sets the current version number for the node.
unsigned int | ReferenceCount (void) const
| Returns the number of pointers referencing this node.
Attribute * | ReferencePointer (unsigned int iIndex) const
| Returns the address of an attribute which refers to this node. The type of the attribute is always aptr.
Node * | ReferenceNode (unsigned int iIndex) const
| Returns the address of a node referencing this node.
virtual QString | Name (const ClassDesc *pClass=0) const
| Deprecated.
virtual void | SetName (const QString &sName)
| Deprecated.
virtual QString | StringID (const ClassDesc *pClass=0) const
| Returns the string id of the node.
virtual void | SetStringID (const QString &sStringID)
| Sets the string id of the node.
virtual QString | DisplayName (void) const
| Returns the display name of the node.
virtual void | SetDisplayName (const QString &sDisplayName)
| Sets the display name of the node.
virtual QString | HelpID (void) const
| Returns the help entry id of the node. Can be overwritten in derived classes.
virtual void | SetHelpID (const QString &sHelpID)
| Sets the help entry id of the node.
void | Annex (Node *pSource, const QString &sCategory="")
| Relink all the attributes of the source node to this one.
virtual void | Serialize (Stream &s)
| Serializes the node.
bool | IsKindOf (const ClassDesc *pClass) const
| Returns true if this node is derived from the pClass class.
void | ContentChanged (void) const
| This function must be called if the content of the node is changed.
virtual void | CheckValidity (DiagnosticLevel iLevel=dgnLevel2) const
| Checks the validity of this node.
virtual void | CopyTo (Node *pNode) const
virtual Node * | Duplicate (void) const
Event functions
These functions are used for working with node events, such as notifications to changes to an attribute.
virtual void | OnNodeEvent (const Attribute &cAttribute, NodeEventType cType)
| This function is called if an event occurs with any of the attributes of the node.
virtual void | OnEvent (const EventGate &cEvent)
| This function is called when a generic event occurs. See EventGate class.
void | RequestDeferredEvent (Attribute &cAttribute)
| Request for a deferred event, which will occur only in the main loop.
Attribute methods
These functions are for working with attributes.
unsigned int | AttributeCount (void) const
| Returns the number of attributes owned by the node.
Attribute * | AttributeByIndex (int iIndex) const
| Returns a specified attribute (or 0 if iIndex is greater than the number of attributes).
Attribute * | AttributeByName (const QString &sName) const
| Returns a specified attribute by its name. Returns 0 if the attribute not found.
Attribute * | AttributeByID (const QString &sID) const
| Returns a specified attribute by its ID. Returns 0 if the attribute not found.
void | SetAttributeValue (const QString &sAttributeID, const QString &sNewValue)
| Set the value of an attribute from a string.
QString | AttributeValue (const QString &sAttributeID) const
| Returns the current value of an attribute as a string.
void | LogAttributes (void) const
| Write all attributes into the log file.
virtual QWidget * | CreatePropertiesWindow (QWidget *pParent)
| Create a window which displays the attributes of the node. Can be overriden to provide a custom interface.
Attribute * | AddAttribute (Attribute::AttributeType type, const QString &id)
| Allows SDK users to add attributes at runtime.
## Public Attributes
AttributeThisPointer | m_pThis
| DECLARE_CLASS
## Friends
struct | Attribute
class | Stream
class | EventGate
## Node enumeration and retrieval function
The following functions are used for enumerating over nodes.
Node * | Next (void) const
| Returns the next node in the chain. Used to enumerate the current nodes. See also First().
int | ID (void) const
| Returns an ID for the node. The ID is unique in the whole application life.
bool | SetID (int iID)
| Set ID for the node. The ID must be unique. If not, this function does nothing and returns false.
static Node * | First (void)
| This function will return the first node in the memory. Used to enumerate all the current nodes. See also Next().
static Node * | ByID (int iID)
| Returns the node with the specified ID, or zero if such a node does not exists.
static Node * | ByName (const QString &sClass, const QString &sName)
| Search for a node with the name sName. Will return 0 if the node was not found.

## Member Enumeration Documentation

enum DiagnosticLevel

Search for all occurrences

Indicates the level of validity checking that is performed in CheckValidity()

Enumerator:

  dgnLevel1 | Very fast, cursory check. Search for all occurrences
  dgnLevel2 | Fairly quick check. Search for all occurrences
  dgnLevel3 | Through check, which can be slower than the others. Search for all occurrences

Definition at line 703 of file node.h.

          :

        enum DiagnosticLevel
        {
            dgnLevel1,

            dgnLevel2,

## Constructor & Destructor Documentation

Node | ( | const QString & | sStringID = `""`,
|  | const QString & | sDisplayName = `""`
| ) |  |

Standard constructor.

You can specify the string id & display name of the node.

See also:
  StringID(), DisplayName()

virtual ~Node | ( | void |  | ) | `[virtual]`

## Member Function Documentation

virtual void Initialize | ( | void |  | ) | `[virtual]`

Search for all occurrences

Reimplemented in ComponentUI, and ViewPortFilter.

virtual void OnNodeEvent | ( | const Attribute & | cAttribute,
|  | NodeEventType | cType
| ) |  | `[virtual]`

Search for all occurrences

This function is called if an event occurs with any of the attributes of the node.

All derived classes should override this function to be able to handle attribute events.

Parameters:

  cAttribute | The attribute which caused the event. The attribute has a special == operator to make it easier to implement this function. You can write the following:
              void MyClass::OnNodeEvent( const Attribute &cAttribute, NodeEventType cType )
              {
                  if ( cAttribute == myAttribute0 )
                  {
                      ...
                  }
                  else if ( cAttribute == myAttribute1 )
                  {
                      ...
                  }
              }
  This comparison will check the address of the two attributes and NOT their values.
  cType | Type of the event occured.

Reimplemented in BrushOperation, Preferences, and AttributeWidget.

virtual void OnEvent | ( | const EventGate & | cEvent | ) | `[virtual]`

Search for all occurrences

This function is called when a generic event occurs. See EventGate class.

void RequestDeferredEvent | ( | Attribute & | cAttribute | ) |

Search for all occurrences

Request for a deferred event, which will occur only in the main loop.

void LoadTemplate | ( | const QString & | sFileName = `""`,
|  | bool | bStartEvent = `false`
| ) |  |

Search for all occurrences

Use an external XML file to initialize the attributes.

void SaveTemplate | ( | const QString & | sFileName = `""`,
|  | bool | bSaveOnlyVisible = `false`
| ) |  |

Search for all occurrences

Save current attributes as an XML template.

unsigned int Version | ( | void |  | ) | const

Search for all occurrences

Returns the current version of the node. This number increases when the content of the node changed (when ContentChanged() called).

Reimplemented in Stream.

void SetVersion | ( | unsigned int | iVersion | ) |

Search for all occurrences

Sets the current version number for the node.

unsigned int ReferenceCount | ( | void |  | ) | const

Search for all occurrences

Returns the number of pointers referencing this node.

Attribute* ReferencePointer | ( | unsigned int | iIndex | ) | const

Search for all occurrences

Returns the address of an attribute which refers to this node. The type of the attribute is always aptr.

Node* ReferenceNode | ( | unsigned int | iIndex | ) | const

Search for all occurrences

Returns the address of a node referencing this node.

static Node* First | ( | void |  | ) | `[static]`

Search for all occurrences

This function will return the first node in the memory. Used to enumerate all the current nodes. See also Next().

Node* Next | ( | void |  | ) | const

Search for all occurrences

Returns the next node in the chain. Used to enumerate the current nodes. See also First().

Reimplemented in Layer, and ViewPortFilter.

int ID | ( | void |  | ) | const

Search for all occurrences

Returns an ID for the node. The ID is unique in the whole application life.

bool SetID | ( | int | iID | ) |

Search for all occurrences

Set ID for the node. The ID must be unique. If not, this function does nothing and returns false.

static Node* ByID | ( | int | iID | ) | `[static]`

Search for all occurrences

Returns the node with the specified ID, or zero if such a node does not exists.

static Node* ByName | ( | const QString & | sClass,
|  | const QString & | sName
| ) |  | `[static]`

Search for all occurrences

Search for a node with the name sName. Will return 0 if the node was not found.

virtual QString Name | ( | const ClassDesc * | pClass = `0` | ) | const `[virtual]`

Search for all occurrences

Deprecated.

Call StringID() or DisplayName() instead. Returns the name of the node. Can be overwritten in derived classes.

virtual void SetName | ( | const QString & | sName | ) | `[virtual]`

Search for all occurrences

Deprecated.

Call SetStringID() or SetDisplayName() instead. Sets the name of the node. Has no effect if Name() is overwritten in a derived class.

Reimplemented in LayerMeshData, TexturePool, and TreeNode.

virtual QString StringID | ( | const ClassDesc * | pClass = `0` | ) | const `[virtual]`

Search for all occurrences

Returns the string id of the node.

String ID will never be translated and keep consistent in any language.

Reimplemented in BrushOperation, and ViewPortFilter.

virtual void SetStringID | ( | const QString & | sStringID | ) | `[virtual]`

Search for all occurrences

Sets the string id of the node.

virtual QString DisplayName | ( | void |  | ) | const `[virtual]`

Search for all occurrences

Returns the display name of the node.

DisplayName may be translated and different according to the language settings.

Reimplemented in BrushOperation, and ViewPortFilter.

virtual void SetDisplayName | ( | const QString & | sDisplayName | ) | `[virtual]`

Search for all occurrences

Sets the display name of the node.

virtual QString HelpID | ( | void |  | ) | const `[virtual]`

Search for all occurrences

Returns the help entry id of the node. Can be overwritten in derived classes.

virtual void SetHelpID | ( | const QString & | sHelpID | ) | `[virtual]`

Search for all occurrences

Sets the help entry id of the node.

void Annex | ( | Node * | pSource,
|  | const QString & | sCategory = `""`
| ) |  |

Search for all occurrences

Relink all the attributes of the source node to this one.

unsigned int AttributeCount | ( | void |  | ) | const

Search for all occurrences

Returns the number of attributes owned by the node.

Attribute* AttributeByIndex | ( | int | iIndex | ) | const

Search for all occurrences

Returns a specified attribute (or 0 if iIndex is greater than the number of attributes).

Attribute* AttributeByName | ( | const QString & | sName | ) | const

Search for all occurrences

Returns a specified attribute by its name. Returns 0 if the attribute not found.

Attribute* AttributeByID | ( | const QString & | sID | ) | const

Search for all occurrences

Returns a specified attribute by its ID. Returns 0 if the attribute not found.

void SetAttributeValue | ( | const QString & | sAttributeID,
|  | const QString & | sNewValue
| ) |  |

Search for all occurrences

Set the value of an attribute from a string.

QString AttributeValue | ( | const QString & | sAttributeID | ) | const

Search for all occurrences

Returns the current value of an attribute as a string.

void LogAttributes | ( | void |  | ) | const

Search for all occurrences

Write all attributes into the log file.

virtual QWidget* CreatePropertiesWindow | ( | QWidget * | pParent | ) | `[virtual]`

Search for all occurrences

Create a window which displays the attributes of the node. Can be overriden to provide a custom interface.

Attribute* AddAttribute | ( | Attribute::AttributeType | type,
|  | const QString & | id
| ) |  |

Search for all occurrences

Allows SDK users to add attributes at runtime.

Attribute UI visibility is set to false. The Node controls the memory of the attribute (it will delete it) Note that the attribute will be serialized when the node is serialized.

virtual void Serialize | ( | Stream & | s | ) | `[virtual]`

Search for all occurrences

Serializes the node.

Override this function in your plug-in to save and load attributes and custom data with the Mudbox file.

Reimplemented in Locator, BrushOperation, CurveBase, MudboxCurve, LayerContainer, NURBSCurve, Preferences, SelectionSet, Topology, and TreeNode.

bool IsKindOf | ( | const ClassDesc * | pClass | ) | const

Search for all occurrences

Returns true if this node is derived from the pClass class.

void ContentChanged | ( | void |  | ) | const

Search for all occurrences

This function must be called if the content of the node is changed.

All other nodes which has an AttributePointer pointing to this node will receive a event notficiation of type etPointerContentChanged (See NodeEventType).

virtual void CheckValidity | ( | DiagnosticLevel | iLevel = `dgnLevel2` | ) | const `[virtual]`

Search for all occurrences

Checks the validity of this node.

Implementors should always call the CheckValidity method of their base class in their subclasses CheckValidity call. throws a mudbox::Error if this node is invalid.

Reimplemented in Mesh, SubdivisionLevel, Topology, and TreeNode.

virtual void CopyTo | ( | Node * | pNode | ) | const `[virtual]`

Search for all occurrences

Reimplemented in CurveBase, MudboxCurve, Mesh, Topology, and TreeNode.

virtual Node* Duplicate | ( | void |  | ) | const `[virtual]`

Search for all occurrences

## Friends And Related Function Documentation

friend struct Attribute `[friend]`

Search for all occurrences

Definition at line 697 of file node.h.

friend class Stream `[friend]`

Search for all occurrences

Definition at line 698 of file node.h.

friend class EventGate `[friend]`

Search for all occurrences

Definition at line 853 of file node.h.

## Member Data Documentation

AttributeThisPointer m_pThis

Search for all occurrences

Definition at line 851 of file node.h.

DECLARE_CLASS

Search for all occurrences

Reimplemented in EdgeBleeding, BrushMask, BrushStamp, BrushStencil, NURBSCurve, SelectionSet, TreeNode, and PtexPainting.

Definition at line 873 of file node.h.

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

- Mudbox/node.h

Node Node Node Node Node Node Node Node Node Node
Node Node Node Node Node Node Node Node Node Node