pymel.core.general.itemFilter

itemFilter(*args, **kwargs)

This command creates a named itemFilter object. This object can be attached to selectionConnection objects, or to editors, in order to filter the item lists going through them. Using union, intersection and difference filters, complex composite filters can be created.

Flags:
Long name (short name) Argument Types Properties
byBin (bk) unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

The filter will only pass items whose bin list contains the given string as a bin name.This is a multi-use flag.If more than one occurance of this flag is used in a single command, the filter will accept a node if it matches at least one of the given bins (in other words, a union or logical or of all given bins.

byName (bn) unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

The filter will only pass items whose names match the given regular expression string. This string can contain the special characters * and ?. ‘?’ matches any one character, and ‘*’ matches any substring.

byScript (bs) unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

The filter will run a MEL script named by the given string on each item name. Items will pass the filter if the script returns a non-zero value. The script name string must be the name of a proc whose signature is:global proc int procName( string $name )Note that if -secondScript is also used, it will always take precidence.

byType (bt) unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

The filter will only pass items whose typeName matches the given string. The typeName of an object can be found using the nodeTypecommand. This is a multi-use flag. If more than one occurance of this flag is used in a single command, the filter will accept a node if it matches at least one of the given types (in other words, a union or logical or of all given types.

category (cat) unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
A string for categorizing the filter.
classification (cls) unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Internal use only. Indicates whether the filter is a built-in or user filter. The string argument is one of “builtIn” | “user” | “other”.
clearByBin (cbk) bool ../../../_images/create.gif ../../../_images/edit.gif
 
This flag will clear any existing bins associated with this filter.
clearByType (cbt) bool ../../../_images/create.gif ../../../_images/edit.gif
 
This flag will clear any existing typeNames associated with this filter.
difference (di) unicode, unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

The filter will consist of the set difference of two other filters, whose names are the given strings. Items will pass this filter if and only if they pass the first filter but not the second filter.

exists (ex) bool ../../../_images/create.gif
 
Returns true|false depending upon whether the specified object exists. Other flags are ignored.
intersect (intersect) unicode, unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

The filter will consist of the intersection of two other filters, whose names are the given strings. Items will pass this filter if and only if they pass both of the contained filters.

listBuiltInFilters (lbf) bool ../../../_images/query.gif
 
Returns an array of all item filters with classification “builtIn”.
listOtherFilters (lof) bool ../../../_images/query.gif
 
Returns an array of all item filters with classification “other”.
listUserFilters (luf) bool ../../../_images/query.gif
 
Returns an array of all item filters with classification “user”.
negate (neg) bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
This flag can be used to cause the filter to invert itself, and reverse what passes and what fails.
parent (p) unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

Optional. If specified, the filter’s life-span is linked to that of the parent. When the parent goes out of scope, so does the filter. If not specified, the filter will exist until explicitly deleted.

secondScript (ss) unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

Can be used in conjunction with the -bs flag. The second script is for filtering whole lists at once, rather than individually. Its signature must be:global proc string[] procName( string[] $name )It should take in a list of items, and return a filtered list of items.

text (t) unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 
Defines an annotation string to be stored with the filter
union (un) unicode, unicode ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

The filter will consist of the union of two other filters, whose names are the given strings. Items will pass this filter if they pass at least one of the contained filters.

uniqueNodeNames (unn) bool ../../../_images/create.gif ../../../_images/query.gif ../../../_images/edit.gif
 

Returns unique node names to script filters so there are no naming conflicts.Flag can appear in Create mode of commandFlag can have multiple arguments, passed either as a tuple or a list.

Derived from mel command maya.cmds.itemFilter

Example:

import pymel.core as pm

import maya.cmds as cmds

#    Create a filter that will pass all transforms.
#
transforms = pm.itemFilter(byType='transform')

#    Create a filter that will pass all spot lights.
#
spotLights = pm.itemFilter(byType='spotLight')

#    There are two ways to create a filter that passes both
#    spot lights and transforms.  You can create a filter
#    that is a union of the previous two or just specify
#    both object types on one filter.
#
unionFilter = pm.itemFilter(union=(transforms, spotLights))
spotLightsAndTransforms = pm.itemFilter(byType=('transform','spotLight'))

#    Create a filter that lists all objects beginning with the
#    letter "a".
#
aFilter = pm.itemFilter(byName='a*')

#    Create a filter that lists only transforms and spot lights
#    that begin with the letter "a".
#
intersectionFilter = pm.itemFilter( intersect=(spotLightsAndTransforms, aFilter) )

#    Delete the filters when done with them.
#
pm.delete( transforms, spotLights, aFilter )
pm.delete( unionFilter, intersectionFilter )

Previous topic

pymel.core.general.isolateSelect

Next topic

pymel.core.general.itemFilterAttr

Core

Core Modules

Other Modules

This Page