MIteratorType Class Reference

#include <MIteratorType.h>

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

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:
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:

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:
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:
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:
MFn::Type getFilterType ( MStatus ReturnStatus = NULL)

Returns the type of filter.

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

The documentation for this class was generated from the following files:
  • MIteratorType.h
  • MIteratorType.cpp