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

#include <MIteratorType.h>
Collaboration diagram for MIteratorType:
Collaboration graph
[legend]

List of all members.


Detailed Description

MIteratorType class.

The MIteratorType class is used on iterators where more than one type of filters can be specified. It also provides functionalities to set and get the filter list or individual types of filter. This class should be used in conjunction with DAG/DG/DependencyNodes iterators for using filter list (list of MFn::Type objects) on them, thus enabling faster traversal thro' iterators.

Also, the class has functionalities for specifying the type of object the iterator will be reset to. This could be an MObject, an MPlug or an MDagPath.


Public Types

enum   objFilterType { kMObject, kMDagPathObject, kMPlugObject }
  Type of object the iterator deals with. More...

Public Member Functions

  MIteratorType (MStatus *ReturnStatus=NULL)
  MIteratorType (const MIteratorType &, MStatus *ReturnStatus=NULL)
  ~MIteratorType ()
void  setFilterType (MFn::Type type, MStatus *ReturnStatus=NULL)
void  setFilterList (MIntArray &listOfFilters, MStatus *ReturnStatus=NULL)
void  setObjectType (objFilterType objType, MStatus *ReturnStatus=NULL)
MFn::Type  getFilterType (MStatus *ReturnStatus=NULL)
MStatus  getFilterList (MIntArray &listOfFilters)
MIteratorType::objFilterType  getObjectType (MStatus *ReturnStatus=NULL)
bool  filterListEnabled ()

Member Enumeration Documentation

Type of object the iterator deals with.

Enumerator:
kMObject  This is to indicate that the root of the iterator has to be reset to an MObject.
kMDagPathObject  This is to indicate that the root of the iterator has to be reset to an MDagPath object.
kMPlugObject  This is to indicate that the root of the iterator has to be reset to an MPlug object.

Constructor & Destructor Documentation

MIteratorType::MIteratorType ( MStatus ReturnStatus = NULL  ) 

Class Constructor

Initializes the filter type and object type.

Parameters:
[out]  ReturnStatus  Status Code (see below)
Status Codes:
  • MS::kSuccess Success
  • MS::kInvlaidParameter Invalid parameter passed for mode or type
  • MS::kFailure Failure creating iterator

MIteratorType::MIteratorType ( const MIteratorType src,
MStatus ReturnStatus = NULL  
)

Copy Constructor

Constructs the object from an object of the same type.

Parameters:
[in]  src  Source object.
[out]  ReturnStatus  Status Code (see below)
Status Codes:
  • MS::kSuccess Success
  • MS::kInvlaidParameter Invalid parameter passed for mode or type
  • MS::kFailure Failure creating iterator

MIteratorType::~MIteratorType (  ) 

Destructor.


Member Function Documentation

void MIteratorType::setFilterType ( MFn::Type  type,
MStatus ReturnStatus = NULL  
)

Sets the filter type to be used in the iterator. See MFn::Type for the list of filter types that can be set.

Parameters:
[in]  type  An object of type MFn::Type.
[out]  ReturnStatus  Status Code (see below)
Status Codes:
  • MS::kSuccess Success
  • MS::kInvlaidParameter Invalid parameter passed for mode or type
  • MS::kFailure Failure creating iterator

void MIteratorType::setFilterList ( MIntArray listOfFilters,
MStatus ReturnStatus = NULL  
)

Sets the filter list. The types of filters to be traversed in the iterator is added to an array and then passed in to this function. This also enables filter list usage on iterators, as opposed to single filter.

Parameters:
[in]  listOfFilters  List of MFn::Type filters.
[out]  ReturnStatus  Status Code (see below)
Status Codes:
  • MS::kSuccess Success
  • MS::kInvlaidParameter Invalid parameter passed for mode or type
  • MS::kFailure Failure creating iterator

void MIteratorType::setObjectType ( objFilterType  objFilterType,
MStatus ReturnStatus = NULL  
)

Sets the object type. This function should be used only when we want to reset the iterator root. Iterator root can be reset to either an MObject, an MDagPath or to an MPlug. For each of this, there is a corresponding enum value, which has to be used as an argument to this function.

During creation of the iterator, this function has no effect.

Parameters:
[in]  objFilterType  Type specifying the type of object.
[out]  ReturnStatus  Status Code (see below)
Status Codes:
  • MS::kSuccess Success
  • MS::kInvlaidParameter Invalid parameter passed for mode or type
  • MS::kFailure Failure creating iterator

MFn::Type MIteratorType::getFilterType ( MStatus ReturnStatus = NULL  ) 

Returns the type of filter.

Parameters:
[out]  ReturnStatus  Status Code (see below)
Returns:
The filter type.
Status Codes:
  • MS::kSuccess Success
  • MS::kInvlaidParameter Invalid parameter passed for mode or type
  • MS::kFailure Failure creating iterator

MStatus MIteratorType::getFilterList ( MIntArray listOfFilters  ) 

Gets the list of filters.

Parameters:
[out]  listOfFilters  Array of filters.
Returns:

MIteratorType::objFilterType MIteratorType::getObjectType ( MStatus ReturnStatus = NULL  ) 

Returns the object type.

Parameters:
[out]  ReturnStatus  Status Code (see below)
Returns:
The object type.
Status Codes:

bool MIteratorType::filterListEnabled (  ) 

Returns whether the we are using a single filter on the iterator or a filter list.

Returns:
true if a filter list is being used, false otherwise

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