This reference page is linked to from the following overview topics: Attributes, Node Events.
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.
FileEventHandler/FileEventHandler.h, FixedFunctionMaterial/FixedFunctionMaterial.h, ImmediateModeRenderer/ImmediateModeRenderer.h, MeshDisplace/displacer.h, SampleViewportFilter/SampleViewportFilter.cpp, SampleViewportFilter/SampleViewportFilter.h, TextureSwapperViewportFilter/TextureSwapperViewportFilter.cpp, TextureSwapperViewportFilter/TextureSwapperViewportFilter.h, and ToonMaterial/ToonMaterial.h.
#include <node.h>
Public Types |
|
enum |
AttributeType { typeUnknown, typeInt, typeFloat, typeBool, typeString, typePointer, typeColor, typeVector, typeEnum, typeWatch } |
Type of the attribute. More... |
|
enum | AsStringOptions { asStringInternal = 0x0001, asStringLocalized = 0x0002, asStringDefault = 0x0000, asStringDefaultSet = asStringInternal } |
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 | 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 (unsigned int options=asStringDefault) const |
Returns the value of the attribute as a
string. See also SetFromString. |
|
virtual void | SetFromString (const QString &sValue, unsigned int options=asStringDefaultSet) |
Sets the value of the attribute as a string.
See also AsString. |
|
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) |
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 |
QString | m_sID |
Friends |
|
class | Node |
enum AttributeType |
Type of the attribute.
typeUnknown |
Unknown attribute. |
typeInt |
Standard integer, 4 bytes. |
typeFloat |
Standard float, 4 bytes. |
typeBool |
Standard bool, 1 bytes. |
typeString |
String attribute, can store any UNICODE text. |
typePointer |
Pointer attribute, see AttributePointer. |
typeColor | |
typeVector | |
typeEnum |
Standard enum attribute, 4 bytes. |
typeWatch |
Empty attribute, used only to catch events. See AttributeWatch. |
Definition at line 169 of file node.h.
{ typeUnknown, typeInt, typeFloat, typeBool, typeString, typePointer, typeColor, typeVector, typeEnum, typeWatch };
enum AsStringOptions |
asStringInternal |
Specify that SetFromString() shouldn't trigger any event. |
asStringLocalized |
Specify that the string should be formatted according to the user locale settings. |
asStringDefault |
Default options for AsString(). |
asStringDefaultSet |
Default options for SetForString(). |
Definition at line 193 of file node.h.
{ asStringInternal = 0x0001, asStringLocalized = 0x0002, asStringDefault = 0x0000, asStringDefaultSet = asStringInternal };
virtual ~Attribute | ( | void | ) | [virtual] |
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 [virtual] |
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 |
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 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.
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 | ) |
Set the width of label.
int Index | ( | void | ) | const |
Returns the attribute index;.
void SetIndex | ( | int | iIndex | ) |
Sets the attribute index;.
virtual void Serialize | ( | Stream & | s | ) | [virtual] |
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 | ( | unsigned int | options =
asStringDefault |
) | const [virtual] |
Returns the value of the attribute as a string. See also SetFromString.
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, |
unsigned int | options =
asStringDefaultSet |
||
) | [virtual] |
Sets the value of the attribute as a string. See also AsString.
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 | ) |
Removes all outgoing connections from the attribute.
void ClearSource | ( | void | ) |
Removes the incoming connection for this attribute.
virtual void AddTarget | ( | Attribute & | cTarget | ) | [virtual] |
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 | ) |
Connect this attribute to another one.
virtual void UpdateTargets | ( | void | ) | [virtual] |
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] |
This is valid only for pointer attributes (See AttributePointer). Returns the type of the pointer.
virtual void SetPointerValue | ( | Node * | pValue, |
bool | bLink = true |
||
) | [virtual] |
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] |
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] |
Validate a possible value for the pointer, returns true if the value is acceptable.
virtual void StartEvent | ( | NodeEventType | cType | ) | const [virtual] |
Reimplemented in AttributePointer< type >, AttributeFloatRange, and AttributePointer< NURBSCurve >.
void SetOwner | ( | Node * | pOwner | ) |
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] |
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.
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] |
Reimplemented in AttributeFilename.
virtual QString ParameterName | ( | unsigned int | iIndex | ) | const [virtual] |
Returns the name of a parameter with a given index.
Reimplemented in AttributeFilename.
virtual QString ParameterValue | ( | unsigned int | iIndex | ) | const [virtual] |
Returns the value of parameter with a given index.
Reimplemented in AttributeFilename.
virtual void SetParameterValue | ( | const QString & | sName, |
const QString & | sValue | ||
) | [virtual] |
void LogTargets | ( | void | ) |
Log all targets (for debug purposes)
void LogSource | ( | void | ) |
Log source (for debug purposes)
void Uninstall | ( | void | ) | [protected] |
friend class Node [friend] |
Reimplemented in AttributePointer< type >, and AttributePointer< NURBSCurve >.
int
m_iSize [protected] |
Store<Attribute *>
m_aTargets [protected] |
QString
m_sName [protected] |
bool
m_bSeparator [protected] |
QString
m_sCategory [protected] |
QString
m_sToolTip [protected] |
float
m_fLabelWidth [protected] |
bool
m_bConst [protected] |
bool
m_bVisible [protected] |
int
m_iIndex [protected] |
QString
m_sID [protected] |