This reference page is linked to from the following overview topics: Kinds of Plug-ins, Nodes, Attributes, Writing Material Plug-ins, Sampling Texture Values, Sculpting and Brushes, Writing a File Event Handler Plug-in, Node Events, Writing Plug-ins, Run-Time Type Information (RTTI), Instantiating Classes and Plug-ins, Serializing Plug-in Data.
This is the base class for most classes in the Mudbox SDK.
#include <node.h>

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. |
|
| 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. |
|
|
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. |
|
| 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. |
|
| enum DiagnosticLevel |
Indicates the level of validity checking that is performed in CheckValidity()
| dgnLevel1 |
Very fast, cursory check. |
| dgnLevel2 |
Fairly quick check. |
| dgnLevel3 |
Through check, which can be slower than the others. |
Definition at line 699 of file node.h.
:
enum DiagnosticLevel
{
dgnLevel1,
dgnLevel2,
| Node | ( | const QString & | sStringID = "", |
| const QString & | sDisplayName =
"" |
||
| ) |
Standard constructor.
You can specify the string id & display name of the node.
| virtual ~Node | ( | void | ) | [virtual] |
| virtual void Initialize | ( | void | ) | [virtual] |
Reimplemented in ViewPortFilter.
| virtual void OnNodeEvent | ( | const Attribute & | cAttribute, |
| NodeEventType | cType | ||
| ) | [virtual] |
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.
| 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 Preferences, and AttributeWidget.
| virtual void OnEvent | ( | const EventGate & | cEvent | ) | [virtual] |
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.
| 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).
Reimplemented in Stream.
| void SetVersion | ( | unsigned int | iVersion | ) |
Sets the current version number for the node.
| static Node* First | ( | void | ) | [static] |
This function will return the first node in the memory. Used to enumerate all the current nodes. See also Next().
| Node* Next | ( | void | ) | const |
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 |
Returns an ID for the node. The ID is unique in the whole application life.
| static Node* ByID | ( | int | iID | ) | [static] |
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 a node with the name sName. Will return 0 if the node was not found.
| virtual QString Name | ( | const ClassDesc * | pClass = 0 |
) | const [virtual] |
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] |
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] |
Returns the string id of the node.
String ID will never be translated and keep consistent in any language.
Reimplemented in ViewPortFilter.
| virtual void SetStringID | ( | const QString & | sStringID | ) | [virtual] |
Sets the string id of the node.
| virtual QString DisplayName | ( | void | ) | const [virtual] |
Returns the display name of the node.
DisplayName may be translated and different according to the language settings.
Reimplemented in ViewPortFilter.
| virtual void SetDisplayName | ( | const QString & | sDisplayName | ) | [virtual] |
Sets the display name of the node.
| virtual QString HelpID | ( | void | ) | const [virtual] |
Returns the help entry id of the node. Can be overwritten in derived classes.
| virtual void SetHelpID | ( | const QString & | sHelpID | ) | [virtual] |
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.
| 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 | ) | [virtual] |
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 | ||
| ) |
| 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 in LayerContainer, NURBSCurve, Preferences, SelectionSet, Topology, and TreeNode.
| 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.
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] |
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 TreeNode.
friend struct Attribute
[friend] |
friend class Stream [friend] |
friend class EventGate
[friend] |
Reimplemented in BrushMask, BrushStamp, BrushStencil, NURBSCurve, SelectionSet, and TreeNode.