' 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" |