animation
Returns True if an object has animated parameters.
Note: This command uses output
arguments. C# and some scripting languages (such as JScript,
PerlScript and Python) don't support arguments passed by reference.
Normally you can get the output arguments via either XSIApplication.ExecuteCommand
method (C#) or the ISIVTCollection (scripting
languages), but this command already returns a value.
The only available workaround in this case is to create a VBScript
custom command which returns both the output arguments and the
return value in one array. For details, see What Happens when the Function Already
Returns a Value?.
oBoolean = IsAnimated( [InputObj], SourceMask, [BranchFlag], [AnimComponents], [Local] ); |
Boolean
Returns True if the objects have animated parameters, and False
otherwise.
Parameter | Type | Description |
---|---|---|
InputObj | String | Object to test.
Default Value: Currently selected object |
SourceMask | siSourceType | Type of animation source.
Default Value: siAnySource |
BranchFlag | siBranchFlag | Remove animation from the branch or just the node.
Default Value: siUnspecified |
AnimComponents | XSICollection | Returns the animated parameters. |
Local | Boolean | Specifies whether the animation to gather is local to the
object or not. If the flag is true then all animated parameters
that come from propagated properties or from intermediate nodes are
ignored. Intermediate nodes are nested under the object but are not
necessary owned by the object itself. For instance, the camera
object nested under a Texture_Projection_Def property is not
considered unless the target object is the projection property
itself. When the flag is set to false, all parameters are
considered.
Default Value: False |
' If an object has animated parameters, output a message ' that looks like this: ' ' INFORMATION : "cone has the following animated parameters: ' ' X Parameter (cone.kine.local.posx) ' Y Parameter (cone.kine.local.posy) ' Z Parameter (cone.kine.local.posz)" sub myIsAnimated () dim fcurves, expressions dim p, params dim object, button dim msg PickElement "object", "Pick object", "Pick object", object, button fcurves = IsAnimated( object, siFcurveSource, siUnspecified, params ) expressions = IsAnimated( object, siExpressionSource, siUnspecified, params ) if ( fcurves ) then msg = object & " has fcurves for the following parameters: " & Chr(10) for each p in params msg = msg & Chr(10) & Chr(9) & p.name & " " & p.type & " (" & p & ")" next LogMessage msg end if if ( expressions ) then msg = object & " has expressions for the following parameters: " & Chr(10) for each p in params msg = msg & Chr(10) & Chr(9) & p.name & " " & p.type & " (" & p & ")" next LogMessage msg end if if not ( fcurves or expressions ) then LogMessage object & " has no animated parameters" end if end sub ' Remove animation from the parameters on a picked object sub myRemoveAnimation () dim animated, p, params dim object, button PickElement "object", "Pick object", "Pick object", object, button animated = IsAnimated( object, siAnySource, params ) if ( animated ) then RemoveAnimation params end if end sub |
// JScript sample showing how to use the object model for getting the animated // parameters of a 3D object. var grid = CreatePrim( "Grid", "MeshSurface" ); SaveKey( "/kine.local.pos", null, 1 ); var params = grid.NodeAnimatedParameters( siAnySource ); for ( var i = 0; i < params.Count; i++ ) { LogMessage( params(i) ); } |