C++ API Reference

Enumerated attribute function set. More...

#include <MFnEnumAttribute.h>

+ Inheritance diagram for MFnEnumAttribute:

Public Member Functions

virtual MFn::Type type () const
 Function set type. More...
 
virtual ~MFnEnumAttribute ()
 Destructor.
 
 MFnEnumAttribute ()
 Default constructor.
 
 MFnEnumAttribute (MObject &object, MStatus *ReturnStatus=NULL)
 Constructor. More...
 
MObject create (const MString &fullName, const MString &briefName, short defaultValue=0, MStatus *ReturnStatus=NULL)
 Creates an enumerated attribute object. More...
 
MStatus addField (const MString &fieldString, short index)
 Add a field (a string/index pair) to the enumeration. More...
 
MString fieldName (short index, MStatus *ReturnStatus=NULL) const
 Retrieve the string associated with a given index. More...
 
short fieldIndex (const MString &fieldString, MStatus *ReturnStatus=NULL) const
 Retrieve the index associated with a given string. More...
 
MStatus getMin (short &minValue) const
 Return the minimum value for this attribute. More...
 
MStatus getMax (short &maxValue) const
 Return the maximum value for this attribute. More...
 
MStatus setDefault (short index)
 Set a new default value for this enum attribute. More...
 
MStatus setDefault (const MString &fieldString)
 Set a new default value for this enum attribute. More...
 
MStatus getDefault (short &index) const
 Get the default value for the enum attribute. More...
 
MString defaultValue (MStatus *ReturnStatus=NULL) const
 Get the default value for the enum attribute. More...
 
 MFnEnumAttribute (const MObject &object, MStatus *ReturnStatus=NULL)
 Constructor. More...
 
MStatus getDefault (MString &fieldString) const
 NO SCRIPT SUPPORT. More...
 
- Public Member Functions inherited from MFnAttribute
virtual ~MFnAttribute ()
 Destructor.
 
 MFnAttribute ()
 Default constructor.
 
 MFnAttribute (MObject &object, MStatus *ReturnStatus=NULL)
 Constructor. More...
 
bool isReadable (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is readable. More...
 
bool isWritable (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is writable. More...
 
bool isConnectable (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute accepts dependency graph connections. More...
 
bool isStorable (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is to be stored when the node is saved to a file. More...
 
bool isCached (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is cached locally in the node's data block. More...
 
bool isArray (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute supports an array of data. More...
 
bool indexMatters (MStatus *ReturnStatus=NULL) const
 Determines whether the user must specify an index when connecting to this attribute, or whether the next available index can be used. More...
 
bool isKeyable (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is keyable. More...
 
bool isChannelBoxFlagSet (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute has its channel box flag set. More...
 
bool isHidden (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is to hidden from the UI. More...
 
bool isUsedAsColor (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is to be presented as a color in the UI. More...
 
bool isIndeterminant (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is indeterminant. More...
 
bool isRenderSource (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is a render source. More...
 
bool isDynamic (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is a dynamic attribute. More...
 
bool isExtension (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is an extension attribute. More...
 
bool isWorldSpace (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is worldspace. More...
 
bool isAffectsWorldSpace (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute affects worldspace. More...
 
bool isUsedAsFilename (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is to be used as a filename. More...
 
bool affectsAppearance (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute affects the appearance of the object when rendering in the viewport. More...
 
bool isProxyAttribute (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute is a proxy attribute. More...
 
DisconnectBehavior disconnectBehavior (MStatus *ReturnStatus=NULL) const
 Returns the behavior of this attribute when it is disconnected. More...
 
bool usesArrayDataBuilder (MStatus *ReturnStatus=NULL) const
 Returns true if this attribute uses an array data builder. More...
 
bool internal (MStatus *ReturnStatus=NULL) const
 Returns true if a node has internal member data representing this attribute. More...
 
MStatus setReadable (bool state)
 Sets whether this attribute should be readable. More...
 
MStatus setWritable (bool state)
 Sets whether this attribute should be writable. More...
 
MStatus setConnectable (bool state)
 Sets whether this attribute should allow dependency graph connections. More...
 
MStatus setStorable (bool state)
 Sets whether this attribute should be storable. More...
 
MStatus setCached (bool state)
 Sets whether the data for this attribute is cached locally in the node's data block. More...
 
MStatus setArray (bool state)
 Sets whether this attribute should have an array of data. More...
 
MStatus setIndexMatters (bool state)
 If the attribute is an array, then this method specifies whether to force the user to specify an index when connecting to this attribute, or to use the next available index. More...
 
MStatus setKeyable (bool state)
 Sets whether this attribute should accept keyframe data. More...
 
MStatus setChannelBox (bool state)
 Sets whether this attribute should appear in the channel box when the node is selected. More...
 
MStatus setHidden (bool state)
 Sets whether this attribute should be hidden from the UI. More...
 
MStatus setUsedAsColor (bool state)
 Sets whether this attribute should be presented as a color in the UI. More...
 
MStatus setIndeterminant (bool state)
 Sets whether this attribute is indeterminant. More...
 
MStatus setRenderSource (bool state)
 Sets whether this attribute should be used as a render source attribute. More...
 
MStatus setWorldSpace (bool state)
 Sets whether this attribute should be treated as worldspace. More...
 
MStatus setAffectsWorldSpace (bool state)
 Sets whether this attribute should affect worldspace. More...
 
MStatus setUsedAsFilename (bool state)
 Sets whether this attribute should be presented as a filename in the UI. More...
 
MStatus setAffectsAppearance (bool state)
 Sets whether this attribute affects the appearance of the object when rendering in the viewport. More...
 
MStatus setProxyAttribute (bool state)
 Sets whether this attribute is a proxy attribute. More...
 
MStatus setDisconnectBehavior (DisconnectBehavior behavior)
 Sets the disconnection behavior for this attribute. More...
 
MStatus setUsesArrayDataBuilder (bool state)
 Sets whether this attribute uses an array data builder. More...
 
MStatus setInternal (bool state)
 The function controls an attribute's data storage. More...
 
MStatus setNiceNameOverride (const MString &localizedName)
 Sets the localized string which should be used for this attribute in the UI. More...
 
bool acceptsAttribute (const MFnAttribute &attr, MStatus *ReturnStatus=NULL) const
 Returns true if this attribute can accept a connection with the given attribute. More...
 
bool accepts (MFnData::Type type, MStatus *ReturnStatus=NULL) const
 Returns true if this attribute can accept a connection of the given type. More...
 
bool accepts (const MTypeId &id, MStatus *ReturnStatus=NULL) const
 Returns true if this attribute can accept a connection of the given type. More...
 
MObject parent (MStatus *ReturnStatus=NULL) const
 Get the parent of this attribute, if it has one. More...
 
MString name (MStatus *ReturnStatus=NULL) const
 Returns the long name of the attribute. More...
 
MString shortName (MStatus *ReturnStatus=NULL) const
 Returns the short name of the attribute. More...
 
MString getAddAttrCmd (bool useLongName=false, MStatus *status=NULL) const
 Returns a string containing the addAttr command which would be required to recreate the attribute on a node. More...
 
MStatus addToCategory (const MString &category)
 Add the attribute to the named category. More...
 
MStatus removeFromCategory (const MString &category)
 Remove the attribute from the named category. More...
 
bool hasCategory (const MString &category) const
 Check to see if the attribute belongs to the named category. More...
 
MStatus getCategories (MStringArray &ReturnStatus) const
 Get all of the categories to which this attribute belongs. More...
 
 MFnAttribute (const MObject &object, MStatus *ReturnStatus=NULL)
 NO SCRIPT SUPPORT. More...
 
- Public Member Functions inherited from MFnBase
virtual ~MFnBase ()
 Class Destructor. More...
 
bool hasObj (MFn::Type) const
 Determines whether or not the Function Set is compatible with the specified Maya Object within the API RTTI system. More...
 
bool hasObj (const MObject &) const
 Determines whether or not the Function Set is compatible with the specified Maya Object within the API RTTI system. More...
 
MObject object (MStatus *ReturnStatus=nullptr) const
 Returns the MObject that is attached to the Function Set. More...
 
virtual MStatus setObject (MObject &object)
 Attaches the Function Set to the specified Maya Object. More...
 
virtual MStatus setObject (const MObject &object)
 NO SCRIPT SUPPORT. More...
 

Static Public Member Functions

static const char * className ()
 Returns the name of this class. More...
 
- Static Public Member Functions inherited from MFnAttribute
static const char * className ()
 Returns the name of this class. More...
 
- Static Public Member Functions inherited from MFnBase
static const char * className ()
 Returns the name of this class. More...
 
static const char * typeString (MFn::Type)
 Introduced in 2020.0 More...
 
static bool isValid (MFn::Type)
 Introduced in 2020.0 More...
 

Additional Inherited Members

- Public Types inherited from MFnAttribute
enum  DisconnectBehavior { kDelete, kReset, kNothing }
 Attribute behaviour on disconnect. More...
 

Detailed Description

Enumerated attribute function set.

Function set for enumerated attributes. These attributes accept fields as input. Each field consists of a short and its associated string, which is a descriptive name for the field.

Examples:
AbcImport/AlembicNode.cpp, apiMeshShape/apiMeshCreator.cpp, buildRotationNode/buildRotationNode.cpp, cameraSetSubclass/exCameraSet.cpp, dx11Shader/dx11Shader.cpp, glslShader/GLSLShader.cpp, MayaPluginForSpreticle/spReticleLoc.cpp, meshOpCmd/meshOpNode.cpp, MetadataSample/tweakMetadataNode.cpp, transformDrawNode/transformDrawNode.cpp, and uiDrawManager/uiDrawManager.cpp.

Constructor & Destructor Documentation

MFnEnumAttribute ( MObject object,
MStatus ReturnStatus = NULL 
)

Constructor.

Class constructor that initializes the function set to the given MObject.

Parameters
[in]objectThe MObject to attach the function set to
[out]ReturnStatusthe return status
Status Codes:
  • MS::kSuccess if the function set is successfully attached
  • MS::kInvalidParameter if the MObject does not represent a valid Maya object or if the function set is not allowed to attach to this MObject
MFnEnumAttribute ( const MObject object,
MStatus ReturnStatus = NULL 
)

Constructor.

Class constructor that initializes the function set to the given MObject.

Parameters
[in]objectThe MObject to attach the function set to
[out]ReturnStatusthe return status
Status Codes:
  • MS::kSuccess if the function set is successfully attached
  • MS::kInvalidParameter if the MObject does not represent a valid Maya object or if the function set is not allowed to attach to this MObject

Member Function Documentation

MFn::Type type ( ) const
virtual

Function set type.

Return the class type : MFn::kEnumAttribute.

Returns
the class type.

Reimplemented from MFnAttribute.

OPENMAYA_MAJOR_NAMESPACE_OPEN const char * className ( )
static

Returns the name of this class.

Return the class name : "MFnEnumAttribute".

Returns
Name of this class.
MObject create ( const MString fullName,
const MString briefName,
short  defaultValue = 0,
MStatus ReturnStatus = NULL 
)

Creates an enumerated attribute object.

The create method needs to be called on a per node basis. That means if you want to create and add the same attribute to multiple nodes, you need to call the create method for each node to get a unique MObject back. If you call create just once and add the attribute to multiple nodes, Maya will encounter a fatal error.

Parameters
[in]fullNameThe full name of the attribute
[in]briefNameThe brief name of the attribute
[in]defaultValueThe default value of the attribute
[out]ReturnStatusStatus code for the operation.
Returns
The newly created enumerated attribute object.
Status Codes:
  • MS::kSuccess The attribute object was successfully created.
  • MS::kInsufficientMemory There is no more memory
Examples:
AbcImport/AlembicNode.cpp, apiMeshShape/apiMeshCreator.cpp, buildRotationNode/buildRotationNode.cpp, cameraSetSubclass/exCameraSet.cpp, dx11Shader/dx11Shader.cpp, glslShader/GLSLShader.cpp, MayaPluginForSpreticle/spReticleLoc.cpp, meshOpCmd/meshOpNode.cpp, MetadataSample/tweakMetadataNode.cpp, transformDrawNode/transformDrawNode.cpp, and uiDrawManager/uiDrawManager.cpp.
MStatus addField ( const MString fieldString,
short  index 
)

Add a field (a string/index pair) to the enumeration.

Parameters
[in]fieldStringThe string describing the field
[in]indexThe index of the field
Returns
Status code for the operation
Status Codes:
  • MS::kSuccess The field was successfully added
  • MS::kInvalidParameter The passed index is already being used
  • MS::kObjectDoesNotExist The attribute is not bound to an MObject
Examples:
AbcImport/AlembicNode.cpp, apiMeshShape/apiMeshCreator.cpp, buildRotationNode/buildRotationNode.cpp, cameraSetSubclass/exCameraSet.cpp, dx11Shader/dx11Shader.cpp, glslShader/GLSLShader.cpp, MayaPluginForSpreticle/spReticleLoc.cpp, meshOpCmd/meshOpNode.cpp, MetadataSample/tweakMetadataNode.cpp, transformDrawNode/transformDrawNode.cpp, and uiDrawManager/uiDrawManager.cpp.
MString fieldName ( short  index,
MStatus ReturnStatus = NULL 
) const

Retrieve the string associated with a given index.

Parameters
[in]indexThe index of the string to look up
[out]ReturnStatusStatus code for the operation.
Returns
The descriptive string corresponding to the given index
Status Codes:
  • MS::kSuccess The attribute object was successfully created.
  • MS::kInvalidParameter The index is out of range
  • MS::kObjectDoesNotExist the attribute is not bound to an MObject
short fieldIndex ( const MString fieldString,
MStatus ReturnStatus = NULL 
) const

Retrieve the index associated with a given string.

Parameters
[in]fieldStringThe string describing the field.
[out]ReturnStatusStatus code for the operation.
Returns
The index associated with the given descriptive string.
Status Codes:
  • MS::kSuccess The operation was successfully performed
  • MS::kObjectDoesNotExist the attribute is not bound to an MObject
MStatus getMin ( short &  minValue) const

Return the minimum value for this attribute.

Parameters
[out]minValuethe minimum value for this attribute
Returns
  • MS::kSuccess the operation succeeded
  • MS::kFailure the attribute does not have a minimum
  • MS::kObjectDoesNotExist this instance is not bound to an MObject
MStatus getMax ( short &  maxValue) const

Return the maximum value for this attribute.

Parameters
[out]maxValuethe maximum value for this attribute
Returns
  • MS::kSuccess the operation succeeded
  • MS::kFailure the attribute does not have a maximum
  • MS::kObjectDoesNotExist this instance is not bound to an MObject
MStatus setDefault ( short  index)

Set a new default value for this enum attribute.

Parameters
[in]indexnew the default value for this attribute
Returns
  • MS::kSuccess the operation succeeded
  • MS::kObjectDoesNotExist this attribute is not bound to an MObject
  • MS::kInvalidParameter this attribute is not a enum attribute, or the given index value is not valid.
MStatus setDefault ( const MString fieldString)

Set a new default value for this enum attribute.

Parameters
[in]fieldStringnew the default value for this attribute
Returns
  • MS::kSuccess the operation succeeded
  • MS::kObjectDoesNotExist this attribute is not bound to an MObject
  • MS::kInvalidParameter this attribute is not a enum attribute, or the given string value does not exist in the enum
MStatus getDefault ( short &  index) const

Get the default value for the enum attribute.

Parameters
[out]indexdefault index value.
Returns
  • MS::kSuccess the operation succeeded
  • MS::kObjectDoesNotExist this attribute is not bound to an MObject
  • MS::kInvalidParameter this attribute is not an enum
MString defaultValue ( MStatus ReturnStatus = NULL) const

Get the default value for the enum attribute.

Parameters
[out]ReturnStatusOptional status code. See below.
Returns
the string value for the default enum
Status Codes:
  • MS::kSuccess the operation succeeded
  • MS::kObjectDoesNotExist this attribute is not bound to an MObject
  • MS::kInvalidParameter this attribute is not an enum
MStatus getDefault ( MString fieldString) const

NO SCRIPT SUPPORT.

Get the default value for the enum attribute.

Python Notes

This method is not supported in Python. Please see defaultValue()

Parameters
[out]fieldStringthe string value for the default enum
Returns
  • MS::kSuccess the operation succeeded
  • MS::kObjectDoesNotExist this attribute is not bound to an MObject
  • MS::kInvalidParameter this attribute is not an enum

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