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.