Public Member Functions | Protected Member Functions

MFnGenericAttribute Class Reference

This reference page is linked to from the following overview topics: Generic Attributes.


Search for all occurrences

Detailed Description

Generic attribute function set.

MFnGenericAttribute is a function set for attributes that can accept several types of data. A generic attribute is similar to a typed attribute (MFnTypedAttribute) except that it has a list of types that it considers valid.

If the attribute will only take one type of data then it is more efficient to use one of the other attribute function sets such as MFnTypedAttribute or MFnNumericAttribute.

Examples:

genericAttributeNode.cpp, and slopeShaderNode.cpp.

#include <MFnGenericAttribute.h>

Inheritance diagram for MFnGenericAttribute:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual MFn::Type type () const
 Function set type.
virtual ~MFnGenericAttribute ()
 Destructor.
 MFnGenericAttribute ()
 Default constructor.
 MFnGenericAttribute (MObject &object, MStatus *ReturnStatus=NULL)
 Constructor.
MObject create (const MString &full, const MString &brief, MStatus *ReturnStatus=NULL)
 Creates a new generic attribute.
MStatus addDataAccept (MFnData::Type newType)
 Add a new connection type that this attribute can accept.
MStatus addNumericDataAccept (MFnNumericData::Type newType)
 Add a new connection type that this attribute can accept.
MStatus addAccept (const MTypeId &id)
 Add a new connection type that this attribute can accept.
MStatus removeDataAccept (MFnData::Type oldType)
 Remove one of the types that this attribute can accept.
MStatus removeNumericDataAccept (MFnNumericData::Type oldType)
 Remove one of the types that this attribute can accept.
MStatus removeAccept (const MTypeId &id)
 Remove one of the types that this attribute can accept.
 MFnGenericAttribute (const MObject &object, MStatus *ReturnStatus=NULL)
 Constructor.
MStatus addAccept (MFnData::Type newType)
 Obsolete & no script support.
MStatus addAccept (MFnNumericData::Type newType)
 Obsolete & no script support.
MStatus removeAccept (MFnData::Type oldType)
 Obsolete & no script support.
MStatus removeAccept (MFnNumericData::Type oldType)
 Obsolete & no script support.

Protected Member Functions

virtual const char * className () const
 Class name.

Constructor & Destructor Documentation

MFnGenericAttribute ( 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:
MFnGenericAttribute ( 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:

Member Function Documentation

MFn::Type type ( ) const [virtual]

Function set type.

Return the class type : MFn::kGenericAttribute.

Reimplemented from MFnAttribute.

const char * className ( ) const [protected, virtual]

Class name.

Return the class name : "MFnGenericAttribute".

Reimplemented from MFnAttribute.

MObject create ( const MString full,
const MString brief,
MStatus ReturnStatus = NULL 
)

Creates a new generic attribute.

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]fullLong name of the attribute.
[in]briefShort name of the attribute.
[out]ReturnStatusStatus code.
Returns:
New attribute.
Status Codes:
Examples:
genericAttributeNode.cpp, and slopeShaderNode.cpp.
MStatus addDataAccept ( MFnData::Type  newType)

Add a new connection type that this attribute can accept.

Parameters:
[in]newTypenew type
Returns:
Status code
Status Codes:
MStatus addNumericDataAccept ( MFnNumericData::Type  newType)

Add a new connection type that this attribute can accept.

Parameters:
[in]newTypenew type
Returns:
Status code
Status Codes:
MStatus addAccept ( const MTypeId id)

Add a new connection type that this attribute can accept.

This method takes the type id (iff tag) of the data objects that can be accepted.

Parameters:
[in]idid of new type
Returns:
Status code
Status Codes:
Examples:
genericAttributeNode.cpp, and slopeShaderNode.cpp.
MStatus removeDataAccept ( MFnData::Type  oldType)

Remove one of the types that this attribute can accept.

Parameters:
[in]oldTypeold type that is no longer accepted
Returns:
Status code
Status Codes:
MStatus removeNumericDataAccept ( MFnNumericData::Type  oldType)

Remove one of the types that this attribute can accept.

Parameters:
[in]oldTypeold type that is no longer accepted
Returns:
Status code
Status Codes:
MStatus removeAccept ( const MTypeId id)

Remove one of the types that this attribute can accept.

This method takes the type id (iff tag) of the data objects that can no longer be accepted.

Parameters:
[in]idid of old type that is no longer accepted
Returns:
Status code
Status Codes:
MStatus addAccept ( MFnData::Type  newType)

Obsolete & no script support.

This method is obsolete. This method is not available in Python.

Deprecated:
Use the MFnGenericAttribute::addDataAccept method instead.
Parameters:
[in]newType
MStatus addAccept ( MFnNumericData::Type  newType)

Obsolete & no script support.

This method is obsolete. This method is not available in Python.

Deprecated:
Use the MFnGenericAttribute::addNumericDataAccept method instead.
Parameters:
[in]newType
MStatus removeAccept ( MFnData::Type  oldType)

Obsolete & no script support.

This method is obsolete. This method is not available in Python.

Deprecated:
Use the MFnGenericAttribute::removeDataAccept method instead.
Parameters:
[in]oldType
MStatus removeAccept ( MFnNumericData::Type  oldType)

Obsolete & no script support.

This method is obsolete. This method is not available in Python.

Deprecated:
Use the MFnGenericAttribute::removeNumericDataAccept method instead.
Parameters:
[in]oldType

MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute
MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute MFnGenericAttribute