Public Types | Public Member Functions | Protected Member Functions

MFnSet Class Reference

Search for all occurrences

Detailed Description

Function Set for Sets of Objects.

MFnSet is the function set that is used for manipulating sets of objects. Sets in Maya are dependency nodes, so it is possible for one set to contain others.

A set is a list of dependency nodes and dag nodes. Sets are useful for keeping track of lists of objects for many purposes such as selection or applying common rendering parameters. Sets in Maya are also dependency nodes, so it is possible for one set to contain others.

Examples:

animExportUtil.cpp, cleanPerFaceAssignmentCmd.cpp, D3DViewportRenderer.cpp, exportJointClusterDataCmd.cpp, findTexturesPerPolygonCmd.cpp, objExport.cpp, and polyWriter.cpp.

#include <MFnSet.h>

Inheritance diagram for MFnSet:
Inheritance graph
[legend]

List of all members.

Public Types

enum  Restriction {
  kNone, kVerticesOnly, kEdgesOnly, kFacetsOnly,
  kEditPointsOnly, kRenderableOnly
}
 

Set membership restrictions.

More...

Public Member Functions

virtual MFn::Type type () const
 Function set type.
virtual ~MFnSet ()
 Destructor.
 MFnSet ()
 Default constructor.
 MFnSet (MObject &object, MStatus *ReturnStatus=NULL)
 Constructor.
MObject create (const MSelectionList &members, Restriction restriction=kNone, MStatus *ReturnStatus=NULL)
 Creates a new set dependency node and puts it in the dependency graph.
MStatus getUnion (const MObject &withSet, MSelectionList &result)
 This method calculates the union of two sets.
MStatus getUnion (const MObjectArray &setList, MSelectionList &result)
 This method calculates the union of a list of sets.
MStatus getIntersection (const MObject &withSet, MSelectionList &result)
 This method calculates the intersection of two sets.
MStatus getIntersection (const MObjectArray &setList, MSelectionList &result)
 This method calculates the intersection of a list of sets.
MStatus clear ()
 Removes all elements from this set.
MStatus getMembers (MSelectionList &members, bool flatten) const
 Get the members of this set as a selection list.
MStatus addMember (const MObject &obj)
 Add a new object (dependency node) to the set.
MStatus addMember (const MDagPath &obj, const MObject &component=MObject::kNullObj)
 Add a new object (DAG node) to the set.
MStatus addMember (const MPlug &plug)
 Add a new plug to the set.
MStatus addMembers (const MSelectionList &list)
 Add a list of new objects to the set.
MStatus removeMember (const MObject &obj)
 Remove an object (dependency node) from the set.
MStatus removeMember (const MDagPath &obj, const MObject &component)
 Remove an object (DAG node) from the set.
MStatus removeMember (const MPlug &plug)
 Remove an plug from the set.
MStatus removeMembers (const MSelectionList &list)
 Remove items of the selection list from the set.
bool isMember (const MObject &object, MStatus *ReturnStatus=NULL) const
 Returns true if the given object (dependency node) is a member of this set.
bool isMember (const MDagPath &object, const MObject &component=MObject::kNullObj, MStatus *ReturnStatus=NULL) const
 Returns true if the given object (DAG node) is a member of this set.
bool isMember (const MPlug &plug, MStatus *ReturnStatus=NULL) const
 Returns true if the given plug is a member of this set.
bool intersectsWith (const MObject &otherSet, MStatus *ReturnStatus=NULL) const
 Returns true if this set intersects with the given set.
bool hasRestrictions (MStatus *ReturnStatus=NULL) const
 Returns true if this function set has restrictions on the type of objects that it may contain.
Restriction restriction (MStatus *ReturnStatus=NULL) const
 Returns the type of membership restriction that this set has.
MString annotation (MStatus *ReturnStatus=NULL) const
 Returns the annotation string for this set.
MStatus setAnnotation (const MString &annotation)
 Sets the annotation string for this set.
 MFnSet (const MObject &object, MStatus *ReturnStatus=NULL)
 Constructor.

Protected Member Functions

virtual const char * className () const
 Class name.

Member Enumeration Documentation

Set membership restrictions.

Enumerator:
kNone 

 

kVerticesOnly 

 

kEdgesOnly 

 

kFacetsOnly 

 

kEditPointsOnly 

 

kRenderableOnly 

 


Constructor & Destructor Documentation

MFnSet ( 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:
MFnSet ( 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::kSet.

Reimplemented from MFnDependencyNode.

Reimplemented in MFnCharacter.

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

Class name.

Return the class name : "MFnSet".

Reimplemented from MFnDependencyNode.

Reimplemented in MFnCharacter.

MObject create ( const MSelectionList members,
Restriction  restriction = kNone,
MStatus ReturnStatus = NULL 
)

Creates a new set dependency node and puts it in the dependency graph.

Parameters:
[in]memberslist of members for new set
[in]restrictionrestriction applied to members
[out]ReturnStatusreturn status
Returns:
A handle for the new set object
Status Codes:
Examples:
createClipCmd.cpp.
MStatus getUnion ( const MObject withSet,
MSelectionList result 
)

This method calculates the union of two sets.

The result will be the union of this set and the set passed into the method.

Parameters:
[in]withSetset to find union of with this set
[out]resultstorage for the result of the union operation
Returns:
Return status
Status Codes:
MStatus getUnion ( const MObjectArray setList,
MSelectionList result 
)

This method calculates the union of a list of sets.

The result will be the union of this set and the sets passed into the method.

Parameters:
[in]setListsets to find union of with this set
[out]resultstorage for the result of the union operation
Returns:
Return status
Status Codes:
MStatus getIntersection ( const MObject withSet,
MSelectionList result 
)

This method calculates the intersection of two sets.

The result will be the intersection of this set and the set passed into the method.

Parameters:
[in]withSetset to find intersection of with this set
[out]resultstorage for the result of the intersection operation
Returns:
Return status
Status Codes:
MStatus getIntersection ( const MObjectArray setList,
MSelectionList result 
)

This method calculates the intersection of a list of sets.

The result will be the intersection of this set and the sets passed into the method.

Parameters:
[in]setListsets to find intersection of with this set
[out]resultstorage for the result of the intersection operation
Returns:
Return status
Status Codes:
MStatus clear ( )

Removes all elements from this set.

Returns:
Return status
Status Codes:
MStatus getMembers ( MSelectionList members,
bool  flatten 
) const

Get the members of this set as a selection list.

This information is provided as a selection list so that all of the path information is retained for DAG nodes.

It is possible to ask for the returned list to be flattened. This means that all sets that exist inside this set will be expanded into a list of their contents.

Parameters:
[out]membersstorage for the returned list of members
[in]flattenwhether to flatten the returned list.
Returns:
Return status
Status Codes:
MStatus addMember ( const MObject obj)

Add a new object (dependency node) to the set.

Parameters:
[in]objthe object to add
Returns:
Return status
Status Codes:
MStatus addMember ( const MDagPath obj,
const MObject component = MObject::kNullObj 
)

Add a new object (DAG node) to the set.

Parameters:
[in]objthe object to add
[in]componentthe selection component
Returns:
Return status
Status Codes:
MStatus addMember ( const MPlug plug)

Add a new plug to the set.

Parameters:
[in]plugthe plug to add
Returns:
Return status
Status Codes:
MStatus addMembers ( const MSelectionList list)

Add a list of new objects to the set.

Parameters:
[in]listthe list of objects as a selection list
Returns:
Return status
Status Codes:
MStatus removeMember ( const MObject obj)

Remove an object (dependency node) from the set.

Parameters:
[in]objthe object to remove
Returns:
Return status
Status Codes:
MStatus removeMember ( const MDagPath obj,
const MObject component 
)

Remove an object (DAG node) from the set.

Parameters:
[in]objthe object to remove
[in]componentthe selection component
Returns:
Return status
Status Codes:
MStatus removeMember ( const MPlug plug)

Remove an plug from the set.

Parameters:
[in]plugthe plug to remove
Returns:
Return status
Status Codes:
MStatus removeMembers ( const MSelectionList list)

Remove items of the selection list from the set.

Parameters:
[in]listthe selection list of items to remove
Returns:
Return status
Status Codes:
bool isMember ( const MObject object,
MStatus ReturnStatus = NULL 
) const

Returns true if the given object (dependency node) is a member of this set.

Parameters:
[in]objectobject to test for membership
[out]ReturnStatusreturn status
Returns:
A boolean value indicating whether the object is a member
Status Codes:
bool isMember ( const MDagPath object,
const MObject component = MObject::kNullObj,
MStatus ReturnStatus = NULL 
) const

Returns true if the given object (DAG node) is a member of this set.

Parameters:
[in]objectobject to test for membership
[in]componentselection component (optional)
[out]ReturnStatusreturn status
Returns:
A boolean value indicating whether the object is a member
Status Codes:
bool isMember ( const MPlug plug,
MStatus ReturnStatus = NULL 
) const

Returns true if the given plug is a member of this set.

Parameters:
[in]plugplug to test for membership
[out]ReturnStatusreturn status
Returns:
A boolean value indicating whether the plug is a member
Status Codes:
bool intersectsWith ( const MObject otherSet,
MStatus ReturnStatus = NULL 
) const

Returns true if this set intersects with the given set.

An intersection occurs if there are any common members between the two sets.

Parameters:
[in]otherSetset to test for intersection with
[out]ReturnStatusreturn status
Returns:
Boolean value indicating whether there was an intersection
Status Codes:
bool hasRestrictions ( MStatus ReturnStatus = NULL) const

Returns true if this function set has restrictions on the type of objects that it may contain.

Parameters:
[out]ReturnStatusreturn status
Returns:
A boolean value indicating whether this set has restriction
Status Codes:
MFnSet::Restriction restriction ( MStatus ReturnStatus = NULL) const

Returns the type of membership restriction that this set has.

Parameters:
[out]ReturnStatusreturn status
Returns:
The type of restriction
Status Codes:
MString annotation ( MStatus ReturnStatus = NULL) const

Returns the annotation string for this set.

This allows a description of the set to be stored with it.

Parameters:
[out]ReturnStatusreturn status
Returns:
The annotation string
Status Codes:
MStatus setAnnotation ( const MString annotation)

Sets the annotation string for this set.

This allows a description of the set to be stored with it.

Parameters:
[in]annotationnew annotation string
Returns:
Return status
Status Codes:

MFnSet MFnSet MFnSet MFnSet MFnSet MFnSet MFnSet MFnSet MFnSet MFnSet
MFnSet MFnSet MFnSet MFnSet MFnSet MFnSet MFnSet MFnSet MFnSet MFnSet