MItSelectionList Class Reference
[OpenMaya - API module for common classes]

#include <MItSelectionList.h>

List of all members.


Detailed Description

Iterate over the items in the selection list.

Class for iterating over the items in an MSelection list. A filter can be specified so that only those items of interest on a selection list can be obtained.

If a filter is specified then the children of DAG selection items will be searched if the selection item does not match the filter. For example, if filter = MFn::kNurbsCurve and a transform is selected then the underlying shape for the transform will be in the iteration if it is a nurbs curve.

Example: (of a simple traversal)

    MSelectionList activeList;
    MGlobal::activeSelectionList(activeList);
    MItSelectionList iter( activeList );

    for ( ; !iter.isDone(); iter.next() )
    {
        MDagPath item;
        MObject component;
        iter.getDagPath( item, component );

        // do something with it
    }

Example: (of a traversal to find all active cameras)

    MSelectionList activeList;
    MGlobal::activeSelectionList(activeList);
    MItSelectionList iter( activeList, MFn::kCamera );

    for ( ; !iter.isDone(); iter.next() )
    {
        MDagPath camera;
        iter.getDagPath( camera );

        MFnCamera cameraFn( camera );

        // ...
   }
Examples:

animExportUtil.cpp, blindComplexDataCmd.cpp, blindDoubleDataCmd.cpp, blindShortDataCmd.cpp, cleanPerFaceAssignmentCmd.cpp, closestPointCmd.cpp, componentScaleManip.cpp, convertEdgesToFacesCmd.cpp, convertVerticesToEdgesCmd.cpp, convertVerticesToFacesCmd.cpp, createClipCmd.cpp, customAttrManip.cpp, cvExpandCmd.cpp, cvPosCmd.cpp, dagPoseInfoCmd.cpp, findFileTexturesCmd.cpp, getAttrAffectsCmd.cpp, helix2Cmd.cpp, instancerListCmd.cpp, intersectCmd.cpp, lassoTool.cpp, latticeNoiseCmd.cpp, lepTranslator.cpp, lineManip.cpp, lineManipContainer.cpp, lockEvent.cpp, meshOpCmd.cpp, meshRemapCmd.cpp, meshRemapTool.cpp, meshReorderCmd.cpp, meshReorderTool.cpp, motionPathCmd.cpp, motionTraceCmd.cpp, moveCurveCVsCmd.cpp, moveManip.cpp, moveTool.cpp, narrowPolyViewer.cpp, nodeInfoCmd.cpp, objExport.cpp, polyExporter.cpp, rotateManip.cpp, spiralAnimCurveCmd.cpp, splitUVCmd.cpp, squareScaleManip.cpp, surfaceBumpManip.cpp, surfaceTwist.cpp, surfaceTwistCmd.cpp, translateCmd.cpp, and whatisCmd.cpp.


Public Types

enum   selItemType { , kDagSelectionItem, kAnimSelectionItem, kDNselectionItem, kPlugSelectionItem }
  Types of items which can appear on a selection list. More...

Public Member Functions

bool  isDone (MStatus *ReturnStatus=NULL)
MStatus  next ()
MStatus  reset ()
MStatus  getDependNode (MObject &depNode)
MStatus  getDagPath (MDagPath &dagPath, MObject &component)
MStatus  getDagPath (MDagPath &dagPath)
MStatus  getPlug (MPlug &plug)
MStatus  getStrings (MStringArray &array)
selItemType  itemType (MStatus *ReturnStatus=NULL)
MStatus  setFilter (MFn::Type filter)
bool  hasComponents (MStatus *ReturnStatus=NULL) const
  MItSelectionList (const MSelectionList &list, MFn::Type=MFn::kInvalid, MStatus *ReturnStatus=NULL)
virtual  ~MItSelectionList ()

Member Enumeration Documentation

Types of items which can appear on a selection list.

Enumerator:
kDagSelectionItem  DAG node or component.
kAnimSelectionItem  keyset
kDNselectionItem  dependency node
kPlugSelectionItem  plug

Constructor & Destructor Documentation

MItSelectionList::MItSelectionList ( const MSelectionList list,
MFn::Type  filter = MFn::kInvalid,
MStatus ReturnStatus = NULL  
)

Class constructor. Creates a iterator for the given selection list.

NOTE: this class iterates on a copy of the given list and so any changes to the original list will not be reflected upon in this iterator.

Parameters:
[in]  list  The selection list to iterate over
[in]  filter  Type filter
[out]  ReturnStatus  Status code
Status Codes:

MItSelectionList::~MItSelectionList (  )  [virtual]

Class destructor. Removes internal iterator data.


Member Function Documentation

bool MItSelectionList::isDone ( MStatus ReturnStatus = NULL  ) 

Specifies whether or not there is anything more to iterator over.

Parameters:
[out]  ReturnStatus  Status code
Returns:
  • true if there is nothing else to iterate over
  • false if there are more items left to iterate over
Status Codes:
Examples:

MStatus MItSelectionList::next (  ) 

Advance to the next item. If components are selected then advance to next component.

If a filter is specified then the next item will be one that matches the filter.

Returns:
Status code
Status Codes:
Examples:

MStatus MItSelectionList::reset (  ) 

Reset the iterator. If a filter has been specified then the current item will be the first selected item that matches the filter.

Returns:
Status code
Status Codes:
Examples:

MStatus MItSelectionList::getDependNode ( MObject depNode  ) 

This method retrieves the dependency node of the current selection item

Parameters:
[out]  depNode  a pointer the the dependency node to be retrieved
Returns:
Status code
Status Codes:
Examples:

MStatus MItSelectionList::getDagPath ( MDagPath dagPath,
MObject component  
)

This method retrieves the dag path and the components of the current selection item. If components are not selected then NULL is assigned to the component pointer.

Parameters:
[out]  dagPath  The dag path of the current selection item.
[out]  component  A pointer to the selected components of the current selection item.
Returns:
Status code
Status Codes:
Examples:

MStatus MItSelectionList::getDagPath ( MDagPath dagPath  ) 

This method retrieves the dag path of the current selection item.

Parameters:
[out]  dagPath  The dag path of the current selection item.
Returns:
Status code
Status Codes:

MStatus MItSelectionList::getPlug ( MPlug plug  ) 

This method retrieves the plug of the current selection item.

Parameters:
[out]  plug  The plug of the current selection item.
Returns:
Status code
Status Codes:

MStatus MItSelectionList::getStrings ( MStringArray array  ) 

Get the string representation of the current item in the selection list. It is possible that it will require more than one string to represent the item (the item may contain groups of CVs for example), so a string array is used to pass back the results.

Parameters:
[out]  array  Storage for the returned array.
Returns:
Status code
Status Codes:
Examples:

MItSelectionList::selItemType MItSelectionList::itemType ( MStatus ReturnStatus = NULL  ) 

Returns the current selection item type.

Parameters:
[out]  ReturnStatus  Status code
Returns:
  • kDagSelectionItem - selection item is in the DAG
  • kAnimSelectionItem - selection item is a keyset
  • kDNselectionItem - selection item is a dependency node
Status Codes:

MStatus MItSelectionList::setFilter ( MFn::Type  filter  ) 

Apply a filter to the iteration. Selection items not matching the filter type will be excluded from the iteration.

Parameters:
[in]  filter  The MFn::Type that you will be included in the iteration. See MFn.h for possible types.
Returns:
Status code
Status Codes:

bool MItSelectionList::hasComponents ( MStatus ReturnStatus = NULL  )  const

Returns whether or not the current selection item has components.

Parameters:
[out]  ReturnStatus  Status code
Returns:
  • true the current selection item has components
  • false the current selection item does not have components
Status Codes:

Autodesk® Maya® 2011 © 1997-2010 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6