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

- Class List
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends

# Attribute Struct Reference

This reference page is linked to from the following overview topics: Mudbox 2013, Attributes, Node Events.

Search for all occurrences

## Detailed Description

This is an abstract base structure for all attributes.

Do not use it directly, use AttributeInstance instead.

Each node has a list of attributes with different types. The attributes are used like plain data members of the node class, but in case of attributes, mudbox will be able to get a list of all the attributes in a node, and for example it will be possible so simply display a dialog to the used where it is possible to check and alter the value of the variables.

Examples:

  AutoExtract/AutoExtract.h, FileEventHandler/FileEventHandler.h, FixedFunctionMaterial/FixedFunctionMaterial.h, ImmediateModeRenderer/ImmediateModeRenderer.h, MeshDisplace/displacer.h, PtexExtractor/PtexLayout.h, PtexExtractor/PtexUtilizer.h, SampleViewportFilter/SampleViewportFilter.cpp, SampleViewportFilter/SampleViewportFilter.h, TextureSwapperViewportFilter/TextureSwapperViewportFilter.cpp, TextureSwapperViewportFilter/TextureSwapperViewportFilter.h, and ToonMaterial/ToonMaterial.h.

Definition at line 173 of file node.h.

`#include <node.h>`

Inheritance diagram for Attribute:
[legend]

List of all members.

## Public Types
enum | AttributeType { typeUnknown, typeInt, typeFloat, typeBool, typeString, typePointer, typeColor, typeVector, typeEnum, typeWatch }
| Type of the attribute. More...
## Public Member Functions
unsigned int | TargetCount (void) const
| Returns the number of attributes currently linked to this attribute as target.
Attribute * | Target (unsigned int iIndex) const
| Returns the target with the given index. If iIndex is greater than the number of targets, returns 0;.
Attribute * | Source (void)
| Returns the source attribute, or 0 if there is no source.
bool | operator== (const Attribute &cAttribute) const
| This is a special operator, it does NOT compare the value of the attribute. See Node::OnNodeEvent for details.
bool | operator!= (const Attribute &cAttribute) const
| This is a special operator, it does NOT compare the value of the attribute. See Node::OnNodeEvent for details.
virtual AttributeType | Type (void) const
| Returns the type of the attribute.
QString | ID (void) const
| Returns the unique ID (within this node) of the attribute.
QString | Name (void) const
| Returns the name of the attribute.
void | SetName (const QString &sName)
| Sets the name of the attribute.
QString | Category (void) const
| Returns the category of the attribute.
void | SetCategory (const QString &sCategory, bool bSeparator=false)
| Sets the category of the attribute. This value will be used in the user interface to determine which attribute group to be used.
bool | Separator (void) const
| Returns the separator state of the widget.
void | SetSeparator (bool bSeparator)
| Call this with true to display a separator line below this widget.
bool | Const (void) const
| Gets the constant status of the attribute. Default value is false. If this is set to true the attribute will not be editable by the user on the interface.
void | SetConst (bool bConst)
| Sets the constant status of the attribute. Default value is false. If this is set to true the attribute will not be editable by the user on the interface.
bool | InstantEdit (void) const
| Returns true, if the attribute edition should be instant, i.e. the attribute should change every time the user makes any changes to the widget. Default is false.
void | SetInstantEdit (bool bOn)
| If bOn is true, editing the attribute on the UI will be instant, i.e. the attribute will change value every time when the user make changes in the widget. Default is false.
bool | Visible (void) const
| Returns true if the property is visible.
void | SetVisible (bool bVisible)
| Sets the visible status of the property.
QString | ToolTip (void) const
| Gets the tooltip text to be used on the user interface, this is optional.
void | SetToolTip (const QString &sToolTip)
| Sets the tooltip text to be used on the user interface, this is optional.
unsigned int | Size (void) const
| Returns the size of the attribute value in bytes.
float | LabelWidth (void) const
| Returns the width of label relative to the full width of the line.
void | SetLabelWidth (float fLabelWidth)
| Set the width of label.
int | Index (void) const
| Returns the attribute index;.
void | SetIndex (int iIndex)
| Sets the attribute index;.
Node * | Owner (void) const
| Gets the address of the Node which contains this attribute.
virtual void | Serialize (Stream &s)
| Serialize the value of the attribute into a stream.
virtual QString | AsString (bool bLocalized=false) const
| Returns the value of the attribute as a string.
virtual void | SetFromString (const QString &sValue, bool bInternal=true, bool bLocalized=false)
| Sets the value of the attribute as a string.
virtual | ~Attribute (void)
virtual void | StartEvent (NodeEventType cType) const
void | SetOwner (Node *pOwner)
| This function sets the owner of the attribute.
virtual AttributeWidget * | CreateEditorWidget (QWidget *pParent, int iWidth)
| This function creates and returns the address of a QWidget object.
void | LogTargets (void)
void | LogSource (void)
void | CheckValidity (void)
Attribute connecting functions
These functions are related to creating dependent connections between attributes. When a source attribute value changes, the target attribute value will change also.
void | ClearTargets (void)
| Removes all outgoing connections from the attribute.
void | ClearSource (void)
| Removes the incoming connection for this attribute.
virtual void | AddTarget (Attribute &cTarget)
| Adds a new outgoing connection for this node to pTarget.
void | Connect (Attribute &cSource)
| Connect this attribute to another one.
virtual void | UpdateTargets (void)
Pointer attribute functions
These functions are intended for use only with AttributePointer.
virtual const ClassDesc * | TargetType (void) const
| This is valid only for pointer attributes (See AttributePointer). Returns the type of the pointer.
virtual void | SetPointerValue (Node *pValue, bool bLink=true)
| This is valid only for pointer attributes (See AttributePointer). Sets the value of the pointer. This function is used only if you dont know exactly the type of the attribute. Use AttributePointer::SetValue otherwise.
virtual Node * | PointerValue (void) const
| This is valid only for pointer attributes (See AttributePointer). Gets the value of the pointer. This function is used only if you dont know exactly the type of the attribute. Use AttributePointer::Value otherwise.
virtual bool | ValidatePointerValue (const Node *pValue)
| Validate a possible value for the pointer, returns true if the value is acceptable.
Parameter functions
These functions allow you to query or modify the parameters associated with an attribute. Returns the number of parameters assigned to this attribute.
virtual unsigned int | ParameterCount (void) const
virtual QString | ParameterName (unsigned int iIndex) const
| Returns the name of a parameter with a given index.
virtual QString | ParameterValue (unsigned int iIndex) const
| Returns the value of parameter with a given index.
virtual void | SetParameterValue (const QString &sName, const QString &sValue)
| Set the value of a parameter.
## Protected Member Functions
| Attribute (Node *pOwner, const QString &sID)
| Attribute (Node *pOwner, bool bInstall)
void | Uninstall (void)
## Protected Attributes
int | m_iSize
Attribute * | m_pSource
Attribute * | m_pNext
Store< Attribute * > | m_aTargets
Node * | m_pNode
QString | m_sName
bool | m_bSeparator
QString | m_sCategory
QString | m_sToolTip
float | m_fLabelWidth
bool | m_bConst
bool | m_bVisible
int | m_iIndex
bool | m_bInstantEdit
QString | m_sID
## Friends
class | Node

## Member Enumeration Documentation

enum AttributeType

Search for all occurrences

Type of the attribute.

Enumerator:

  typeUnknown | Unknown attribute. Search for all occurrences
  typeInt | Standard integer, 4 bytes. Search for all occurrences
  typeFloat | Standard float, 4 bytes. Search for all occurrences
  typeBool | Standard bool, 1 bytes. Search for all occurrences
  typeString | String attribute, can store any UNICODE text. Search for all occurrences
  typePointer | Pointer attribute, see AttributePointer. Search for all occurrences
  typeColor | Color attribute, 4xfloat, See Color. Search for all occurrences
  typeVector | Vector, 3xfloat, see Vector. Search for all occurrences
  typeEnum | Standard enum attribute, 4 bytes. Search for all occurrences
  typeWatch | Empty attribute, used only to catch events. See AttributeWatch. Search for all occurrences

Definition at line 176 of file node.h.

        {
            typeUnknown,
            typeInt,
            typeFloat,
            typeBool,
            typeString,
            typePointer,
            typeColor,
            typeVector,
            typeEnum,
            typeWatch
        };

## Constructor & Destructor Documentation

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

Attribute | ( | Node * | pOwner,
|  | const QString & | sID
| ) |  | `[protected]`

Attribute | ( | Node * | pOwner,
|  | bool | bInstall
| ) |  | `[protected]`

## Member Function Documentation

unsigned int TargetCount | ( | void |  | ) | const

Search for all occurrences

Returns the number of attributes currently linked to this attribute as target.

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

Search for all occurrences

Returns the target with the given index. If iIndex is greater than the number of targets, returns 0;.

Attribute* Source | ( | void |  | ) |

Search for all occurrences

Returns the source attribute, or 0 if there is no source.

bool operator== | ( | const Attribute & | cAttribute | ) | const

This is a special operator, it does NOT compare the value of the attribute. See Node::OnNodeEvent for details.

bool operator!= | ( | const Attribute & | cAttribute | ) | const

This is a special operator, it does NOT compare the value of the attribute. See Node::OnNodeEvent for details.

virtual AttributeType Type | ( | void |  | ) | const `[virtual]`

Search for all occurrences

Returns the type of the attribute.

Reimplemented in AttributeCheckableFloat, AttributeCheckableFloatArray, AttributeInstance< type >, AttributePointer< type >, AttributeInstance< Color >, AttributeInstance< StampConfiguration >, AttributeInstance< float >, AttributeInstance< QString >, AttributeInstance< int >, AttributeInstance< NURBSCurve * >, AttributeInstance< CheckableFloatArray >, AttributeInstance< bool >, AttributeInstance< type * >, AttributeInstance< CheckableFloat >, AttributeInstance< MirrorConfiguration >, and AttributePointer< NURBSCurve >.

QString ID | ( | void |  | ) | const

Search for all occurrences

Returns the unique ID (within this node) of the attribute.

QString Name | ( | void |  | ) | const

Search for all occurrences

Returns the name of the attribute.

void SetName | ( | const QString & | sName | ) |

Search for all occurrences

Sets the name of the attribute.

QString Category | ( | void |  | ) | const

Search for all occurrences

Returns the category of the attribute.

void SetCategory | ( | const QString & | sCategory,
|  | bool | bSeparator = `false`
| ) |  |

Search for all occurrences

Sets the category of the attribute. This value will be used in the user interface to determine which attribute group to be used.

bool Separator | ( | void |  | ) | const

Search for all occurrences

Returns the separator state of the widget.

void SetSeparator | ( | bool | bSeparator | ) |

Search for all occurrences

Call this with true to display a separator line below this widget.

bool Const | ( | void |  | ) | const

Search for all occurrences

Gets the constant status of the attribute. Default value is false. If this is set to true the attribute will not be editable by the user on the interface.

void SetConst | ( | bool | bConst | ) |

Search for all occurrences

Sets the constant status of the attribute. Default value is false. If this is set to true the attribute will not be editable by the user on the interface.

bool InstantEdit | ( | void |  | ) | const

Search for all occurrences

Returns true, if the attribute edition should be instant, i.e. the attribute should change every time the user makes any changes to the widget. Default is false.

void SetInstantEdit | ( | bool | bOn | ) |

Search for all occurrences

If bOn is true, editing the attribute on the UI will be instant, i.e. the attribute will change value every time when the user make changes in the widget. Default is false.

bool Visible | ( | void |  | ) | const

Search for all occurrences

Returns true if the property is visible.

void SetVisible | ( | bool | bVisible | ) |

Search for all occurrences

Sets the visible status of the property.

QString ToolTip | ( | void |  | ) | const

Search for all occurrences

Gets the tooltip text to be used on the user interface, this is optional.

void SetToolTip | ( | const QString & | sToolTip | ) |

Search for all occurrences

Sets the tooltip text to be used on the user interface, this is optional.

unsigned int Size | ( | void |  | ) | const

Search for all occurrences

Returns the size of the attribute value in bytes.

float LabelWidth | ( | void |  | ) | const

Search for all occurrences

Returns the width of label relative to the full width of the line.

A value 0.4 means that the label will take 40%, while the value part will take 60% of the available space.

void SetLabelWidth | ( | float | fLabelWidth | ) |

Search for all occurrences

Set the width of label.

int Index | ( | void |  | ) | const

Search for all occurrences

Returns the attribute index;.

void SetIndex | ( | int | iIndex | ) |

Search for all occurrences

Sets the attribute index;.

Node* Owner | ( | void |  | ) | const

Search for all occurrences

Gets the address of the Node which contains this attribute.

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

Search for all occurrences

Serialize the value of the attribute into a stream.

Reimplemented in AttributeInstance< type >, AttributePointer< type >, AttributeInstance< Color >, AttributeInstance< StampConfiguration >, AttributeInstance< float >, AttributeInstance< QString >, AttributeInstance< int >, AttributeInstance< NURBSCurve * >, AttributeInstance< CheckableFloatArray >, AttributeInstance< bool >, AttributeInstance< type * >, AttributeInstance< CheckableFloat >, AttributeInstance< MirrorConfiguration >, and AttributePointer< NURBSCurve >.

virtual QString AsString | ( | bool | bLocalized = `false` | ) | const `[virtual]`

Search for all occurrences

Returns the value of the attribute as a string.

See also SetFromString.

Parameters:

  bLocalized | if this is true the string representation of the value is assumed to be localized (translated)

Reimplemented in AttributeCheckableFloat, AttributeInstance< type >, AttributePointer< type >, AttributeInstance< Color >, AttributeInstance< StampConfiguration >, AttributeInstance< float >, AttributeInstance< QString >, AttributeInstance< int >, AttributeInstance< NURBSCurve * >, AttributeInstance< CheckableFloatArray >, AttributeInstance< bool >, AttributeInstance< type * >, AttributeInstance< CheckableFloat >, AttributeInstance< MirrorConfiguration >, and AttributePointer< NURBSCurve >.

virtual void SetFromString | ( | const QString & | sValue,
|  | bool | bInternal = `true`,
|  | bool | bLocalized = `false`
| ) |  | `[virtual]`

Search for all occurrences

Sets the value of the attribute as a string.

See also AsString.

Parameters:

  bInternal | if this is false the owner node will receive an event about the value change (See NodeEventType::etValueChanged).
  bLocalized | if this is true the string representation of the value is assumed to be localized (translated)

Reimplemented in AttributeCheckableFloat, AttributeInstance< type >, AttributePointer< type >, AttributeInstance< Color >, AttributeInstance< StampConfiguration >, AttributeInstance< float >, AttributeInstance< QString >, AttributeInstance< int >, AttributeInstance< NURBSCurve * >, AttributeInstance< CheckableFloatArray >, AttributeInstance< bool >, AttributeInstance< type * >, AttributeInstance< CheckableFloat >, AttributeInstance< MirrorConfiguration >, and AttributePointer< NURBSCurve >.

void ClearTargets | ( | void |  | ) |

Search for all occurrences

Removes all outgoing connections from the attribute.

void ClearSource | ( | void |  | ) |

Search for all occurrences

Removes the incoming connection for this attribute.

virtual void AddTarget | ( | Attribute & | cTarget | ) | `[virtual]`

Search for all occurrences

Adds a new outgoing connection for this node to pTarget.

Reimplemented in AttributeInstance< type >, AttributePointer< type >, AttributeInstance< Color >, AttributeInstance< StampConfiguration >, AttributeInstance< float >, AttributeInstance< QString >, AttributeInstance< int >, AttributeInstance< NURBSCurve * >, AttributeInstance< CheckableFloatArray >, AttributeInstance< bool >, AttributeInstance< type * >, AttributeInstance< CheckableFloat >, AttributeInstance< MirrorConfiguration >, and AttributePointer< NURBSCurve >.

void Connect | ( | Attribute & | cSource | ) |

Search for all occurrences

Connect this attribute to another one.

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

Search for all occurrences

Update the values of all the connected target attributes with the current value. Used internally only, do not call this directly.

Reimplemented in AttributeInstance< type >, AttributeInstance< Color >, AttributeInstance< StampConfiguration >, AttributeInstance< float >, AttributeInstance< QString >, AttributeInstance< int >, AttributeInstance< NURBSCurve * >, AttributeInstance< CheckableFloatArray >, AttributeInstance< bool >, AttributeInstance< type * >, AttributeInstance< CheckableFloat >, and AttributeInstance< MirrorConfiguration >.

virtual const ClassDesc* TargetType | ( | void |  | ) | const `[virtual]`

Search for all occurrences

This is valid only for pointer attributes (See AttributePointer). Returns the type of the pointer.

virtual void SetPointerValue | ( | Node * | pValue,
|  | bool | bLink = `true`
| ) |  | `[virtual]`

Search for all occurrences

This is valid only for pointer attributes (See AttributePointer). Sets the value of the pointer. This function is used only if you dont know exactly the type of the attribute. Use AttributePointer::SetValue otherwise.

Reimplemented in AttributePointer< type >, and AttributePointer< NURBSCurve >.

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

Search for all occurrences

This is valid only for pointer attributes (See AttributePointer). Gets the value of the pointer. This function is used only if you dont know exactly the type of the attribute. Use AttributePointer::Value otherwise.

virtual bool ValidatePointerValue | ( | const Node * | pValue | ) | `[virtual]`

Search for all occurrences

Validate a possible value for the pointer, returns true if the value is acceptable.

virtual void StartEvent | ( | NodeEventType | cType | ) | const `[virtual]`

Search for all occurrences

Reimplemented in AttributePointer< type >, AttributeFloatRange, and AttributePointer< NURBSCurve >.

void SetOwner | ( | Node * | pOwner | ) |

Search for all occurrences

This function sets the owner of the attribute.

The owner receives all events for this attribute

The owner is the receiver of all events from the attribute. This function removes any old owner & installs a new owner. If NULL or 0 is used as an argument then the old owner is removed and no owner exists for this attribute.

virtual AttributeWidget* CreateEditorWidget | ( | QWidget * | pParent,
|  | int | iWidth
| ) |  | `[virtual]`

Search for all occurrences

This function creates and returns the address of a QWidget object.

The object then can be used in the interface to give the user control over the attribute value. Mudbox calls this function for every attribute in a node when it displays a properties dialog box for it. You must override it if you implement a new kind of attribute and want a special interface.

Parameters:

  iWidth | Width of the control in pixels.

Reimplemented in AttributeCheckableFloat, AttributeCheckableFloatArray, AttributeInstance< type >, AttributeFloatRange, AttributeEnumeration, AttributeFilename, AttributeTextureFilename, AttributeLocale, AttributeInstance< Color >, AttributeInstance< StampConfiguration >, AttributeInstance< float >, AttributeInstance< QString >, AttributeInstance< int >, AttributeInstance< NURBSCurve * >, AttributeInstance< CheckableFloatArray >, AttributeInstance< bool >, AttributeInstance< type * >, AttributeInstance< CheckableFloat >, and AttributeInstance< MirrorConfiguration >.

virtual unsigned int ParameterCount | ( | void |  | ) | const `[virtual]`

Search for all occurrences

Reimplemented in AttributeFilename.

virtual QString ParameterName | ( | unsigned int | iIndex | ) | const `[virtual]`

Search for all occurrences

Returns the name of a parameter with a given index.

Reimplemented in AttributeFilename.

virtual QString ParameterValue | ( | unsigned int | iIndex | ) | const `[virtual]`

Search for all occurrences

Returns the value of parameter with a given index.

Reimplemented in AttributeFilename.

virtual void SetParameterValue | ( | const QString & | sName,
|  | const QString & | sValue
| ) |  | `[virtual]`

Search for all occurrences

Set the value of a parameter.

Reimplemented in AttributeFilename.

void LogTargets | ( | void |  | ) |

Search for all occurrences

Log all targets (for debug purposes)

void LogSource | ( | void |  | ) |

Search for all occurrences

Log source (for debug purposes)

void CheckValidity | ( | void |  | ) |

Search for all occurrences

Check validity (for debug purposes)

void Uninstall | ( | void |  | ) | `[protected]`

Search for all occurrences

## Friends And Related Function Documentation

friend class Node `[friend]`

Search for all occurrences

Reimplemented in AttributePointer< type >, and AttributePointer< NURBSCurve >.

Definition at line 359 of file node.h.

## Member Data Documentation

int m_iSize `[protected]`

Search for all occurrences

Definition at line 342 of file node.h.

Attribute* m_pSource `[protected]`

Search for all occurrences

Definition at line 343 of file node.h.

Attribute * m_pNext `[protected]`

Search for all occurrences

Definition at line 343 of file node.h.

Store<Attribute *> m_aTargets `[protected]`

Search for all occurrences

Definition at line 344 of file node.h.

Node* m_pNode `[protected]`

Search for all occurrences

Definition at line 345 of file node.h.

QString m_sName `[protected]`

Search for all occurrences

Definition at line 346 of file node.h.

bool m_bSeparator `[protected]`

Search for all occurrences

Definition at line 347 of file node.h.

QString m_sCategory `[protected]`

Search for all occurrences

Definition at line 348 of file node.h.

QString m_sToolTip `[protected]`

Search for all occurrences

Definition at line 349 of file node.h.

float m_fLabelWidth `[protected]`

Search for all occurrences

Definition at line 350 of file node.h.

bool m_bConst `[protected]`

Search for all occurrences

Definition at line 351 of file node.h.

bool m_bVisible `[protected]`

Search for all occurrences

Definition at line 352 of file node.h.

int m_iIndex `[protected]`

Search for all occurrences

Definition at line 353 of file node.h.

bool m_bInstantEdit `[protected]`

Search for all occurrences

Definition at line 354 of file node.h.

QString m_sID `[protected]`

Search for all occurrences

Definition at line 355 of file node.h.

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

- Mudbox/node.h