## FilterPSet

### Introduced

v1.0

### Description

Filters a list of property sets to produce a list that includes or excludes all the property sets complying with a specified parent-child relationship.

### Scripting Syntax

    oReturn = FilterPSet( [InputObjs], [Relationship], [Include] );

### Return Value

Returns an XSICollection object that contains the filtered list.

### Parameters

Parameter | Type | Description
--- | --- | ---
InputObjs | String | List of property sets. Default Value: Current selection
Relationship | siPSetRelationship | Relationship to filter on. Default Value: siContainedPSet
Include | Boolean | True to include (False to exclude) property sets that match the relationship. Default Value: True

### Examples

#### 1. VBScript Example

    ' create objects for example

    CreatePrim "Cone", "MeshSurface"

    ' test the pset relationship of visibility, display and material properties

    set psets = FilterPSet( "Camera_Interest.visibility", siLocalPSet, True )

    if TypeName( psets ) <> "Nothing" then

    	LogMessage "Camera_Interest.visibility property is local."

    else

    	LogMessage "Camera_Interest.visibility property is shared."

    end if

    set psets = FilterPSet( "Camera_Interest.display", siSharedPSet, True )

    if TypeName( psets ) <> "Nothing" then

    	LogMessage "Camera_Interest.display property is shared."

    else

    	LogMessage "Camera_Interest.display property is local."

    end if

    set psets = FilterPSet( "cone.Scene_Material", siSharedPSet, True )

    if TypeName( psets ) <> "Nothing" then

    	LogMessage "cone.Scene_Material is inherited."

    else

    	LogMessage "cone.Scene_Material is local."

    end if

    'INFO : "Camera_Interest.visibility property is local."

    'INFO : "Camera_Interest.display property is shared."

    'INFO : "cone.Scene_Material is inherited."

#### 2. VBScript Example

    ' Is the camera interest display property a local property set of its parent?

    set l_PSets = FilterPSet( "Camera_Interest.display", siLocalPSet )

    if TypeName( l_PSets ) <> "Nothing" then

    LogMessage "Camera_Interest.display is a local property set."

    else

    LogMessage "Camera_Interest.display is an inherited property set."

    end if

    '--------------------------------------

    ' The following message will be logged:

    '    'INFO : "Camera_Interest.display is an inherited property set."

    ' Create a cone and select its material.

    set MyCone = CreatePrim( "Cone", "MeshSurface" )

    SelectObj MyCone.Material

    ' Is the selected cone material an inherited property set?

    set l_PSets = FilterPSet( , siSharedPSet )

    if TypeName( l_PSets ) <> "Nothing" then

    LogMessage "The cone material is an inherited property set."

    else

    LogMessage "The cone material is a local property set."

    end if

    '--------------------------------------

    ' The following message will be logged:

    '    'INFO : "The cone material is an inherited property set."

    ' Create a grid.

    CreatePrim "Grid", "MeshSurface"

    ' List all the inherited property sets of the grid.

    set l_PSets = FilterPSet( "grid.*", siSharedPset )

    if TypeName( l_PSets ) <> "Nothing" then

    	LogMessage "Inherited property sets of the grid:"

    	for each p in l_Psets

    		LogMessage "   " & p.name

    	next

    else

    	LogMessage "No shared PSets"

    end if

    '--------------------------------------

    ' The following message will be logged:

    '    'INFO : "Inherited property sets of the grid:"

    '    'INFO : "   Ambient Lighting"

    '    'INFO : "   Scene_Material"

    '    'INFO : "   Geometry Approximation"

    '    'INFO : "   Display"

### See Also

MakeLocal