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® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6