ConstructionHistory.Filter

Description

Returns a collection of Operator objects that match the specified criteria.

C# Syntax

OperatorCollection ConstructionHistory.Filter( String in_filter, Object in_famArray, String in_path );

Scripting Syntax

oReturn = ConstructionHistory.Filter( [Type], [Family], [Path] );

Return Value

OperatorCollection

Parameters

Parameter Type Description
Type String Operator type e.g. twistop (see Operator Information for a list of available operators.)
Family siFamily Name of family to filter by (for example, use "siDeformOperatorFamily" for the deform operator family).
Path String Name of object(s) as an Object List string expression (for example, "twist*" to return all twist operators).

Examples

VBScript Example

' The following code illustrates how to get a ConstructionHistory, 

' filter the construction history for DeformOperators and then iterate 

' the converters using the For Each...Next statement: 

Dim oGPig

' See if there are any DeformOperators now

Set oGPig = ActiveSceneRoot.AddGeometry( "Torus", "MeshSurface" )

ShowTransforms oGPig 

' Apply a Bend Operator and then see

ApplyOp "bend", oGPig

ShowTransforms oGPig 

' Apply a Twist Operator and then see

ApplyOp "twist", oGPig

ShowTransforms oGPig 

Function ShowTransforms( in_object )

	Dim oStack, oTransform, sMemberList 

	Set oStack = in_object.ActivePrimitive.ConstructionHistory.Filter( , siDeformOperatorFamily )

	If oStack.Count > 0 Then

		For Each oTransform In oStack

			sMemberList = sMemberList & oTransform.Name & ", "

		Next

		sMemberList = Left( sMemberList, ( Len( sMemberList ) - 2 ) )

	Else

		sMemberList = "(none found)"

	End If

	LogMessage sMemberList

	ShowConstructionHistory = sMemberList

End Function

' Output of above script:

'INFO : "(none found)"

'INFO : "Bend Op"

'INFO : "Twist Op, Bend Op"