Public Types | Public Member Functions

MIteratorType Class Reference

Search for all occurrences

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.

#include <MIteratorType.h>

List of all members.

Public Types

enum  objFilterType { kMObject, kMDagPathObject, kMPlugObject }
 

Type of object the iterator deals with.

More...

Public Member Functions

 MIteratorType (MStatus *ReturnStatus=NULL)
 Class Constructor.
 MIteratorType (const MIteratorType &, MStatus *ReturnStatus=NULL)
 Copy Constructor.
 ~MIteratorType ()
 Destructor.
void setFilterType (MFn::Type type, MStatus *ReturnStatus=NULL)
 Sets the filter type to be used in the iterator.
void setFilterList (MIntArray &listOfFilters, MStatus *ReturnStatus=NULL)
 Sets the filter list.
void setObjectType (objFilterType objType, MStatus *ReturnStatus=NULL)
 Sets the object type.
MFn::Type getFilterType (MStatus *ReturnStatus=NULL)
 Returns the type of filter.
MStatus getFilterList (MIntArray &listOfFilters)
 Gets the list of filters.
MIteratorType::objFilterType getObjectType (MStatus *ReturnStatus=NULL)
 Returns the object type.
bool filterListEnabled ()
 Returns whether the we are using a single filter on the iterator or a filter list.

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 ( MStatus ReturnStatus = NULL)

Class Constructor.

Initializes the filter type and object type.

Parameters:
[out]ReturnStatusStatus Code (see below)
Status Codes:
  • MS::kSuccess Success
  • MS::kInvlaidParameter Invalid parameter passed for mode or type
  • MS::kFailure Failure creating iterator
MIteratorType ( const MIteratorType src,
MStatus ReturnStatus = NULL 
)

Copy Constructor.

Constructs the object from an object of the same type.

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

Member Function Documentation

void 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]typeAn object of type MFn::Type.
[out]ReturnStatusStatus Code (see below)
Status Codes:
  • MS::kSuccess Success
  • MS::kInvlaidParameter Invalid parameter passed for mode or type
  • MS::kFailure Failure creating iterator
void 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]listOfFiltersList of MFn::Type filters.
[out]ReturnStatusStatus Code (see below)
Status Codes:
  • MS::kSuccess Success
  • MS::kInvlaidParameter Invalid parameter passed for mode or type
  • MS::kFailure Failure creating iterator
void 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]objFilterTypeType specifying the type of object.
[out]ReturnStatusStatus Code (see below)
Status Codes:
  • MS::kSuccess Success
  • MS::kInvlaidParameter Invalid parameter passed for mode or type
  • MS::kFailure Failure creating iterator
MFn::Type getFilterType ( MStatus ReturnStatus = NULL)

Returns the type of filter.

Parameters:
[out]ReturnStatusStatus 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 getFilterList ( MIntArray listOfFilters)

Gets the list of filters.

Parameters:
[out]listOfFiltersArray of filters.
Returns:
MIteratorType::objFilterType getObjectType ( MStatus ReturnStatus = NULL)

Returns the object type.

Parameters:
[out]ReturnStatusStatus Code (see below)
Returns:
The object type.
Status Codes:
bool 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

MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType
MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType MIteratorType