## IsAnimated

### Description

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?.

### Scripting Syntax

    oBoolean = IsAnimated( [InputObj], SourceMask, [BranchFlag], [AnimComponents], [Local] );

### Return Value

Boolean
Returns True if the objects have animated parameters, and False otherwise.

### Parameters

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

### Examples

#### 1. VBScript Example

    ' 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

#### 2. JScript Example

    // 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) );
    }

### See Also

RemoveAnimation ProjectItem.IsAnimated2 ProjectItem.AnimatedParameters2 X3DObject.IsNodeAnimated X3DObject.NodeAnimatedParameters Parameter.IsAnimated Parameter.AnimatedParameters