# IRiAnim Interface Reference

Inherits IDispatch.

List of all members.

## Public Member Functions
HRESULT | PutFrame ([in] BSTR bszNodeName,[in] VARIANT time)
HRESULT | SetKeyFrame ([in] BSTR bszNodeName,[in] VARIANT time)
HRESULT | SetAttrKeyFrame ([in] BSTR bszNodeName,[in] BSTR bszAttr,[in] VARIANT time)
HRESULT | DeleteKeyFrames ([in] BSTR bszNodeName)
HRESULT | CopyKeyFrames ([in] BSTR bszNodeName)
HRESULT | CutKeyFrames ([in] BSTR bszNodeName)
HRESULT | PasteKeyFrames ([in] BSTR bszNodeName)
HRESULT | ClearSelection ([in] BSTR bszNodeName)
HRESULT | SelectAll ([in] BSTR bszNodeName)
HRESULT | InvertSelection ([in] BSTR bszNodeName)
HRESULT | CopyClips (void)
HRESULT | CutClips (void)
HRESULT | PasteClips (void)
HRESULT | DeleteClips (void)
HRESULT | DeleteSelection ([in] BSTR bszFrameId)
| move these methods to new named item

## Detailed Description

The IRiAnim interface provides the base animation functionality such as set keyframe, put frame, manipulating with keyframes and selections
Root-level name in the scripting engine's name space: RsAnim

## Member Function Documentation

HRESULT IRiAnim::PutFrame | ( | [in] BSTR | bszNodeName,
|  | [in] VARIANT | time |
| ) |  |  |

Evaluate animation for object at given time.
The final state of object is calculated from actual animation graph.

Parameters:

  `[in]` | bszNodeName | Name of animated encapsulator node.
  `[in]` | time | Frame value in which animation is evaluated.

        var owner = System.ThisOwner();
        var target = owner + '/Cube';
        RsAnim.PutFrame(target, 60);

HRESULT IRiAnim::SetKeyFrame | ( | [in] BSTR | bszNodeName,
|  | [in] VARIANT | time |
| ) |  |  |

Set a keyframe for object at given time.
Keyframes are created for all attributes specified in the current keying template.
New keyframe values are evaluated from the current state of the object,
as well as the animation context at given time. Keyframes are storied in selected clip of editable track.
If object has not been animated, default animation structures are created.

Parameters:

  `[in]` | bszNodeName | Name of animated encapsulator node.
  `[in]` | time | Frame value in which keyframes are set.

     RsAnim.SetKeyFrame(target,90);

HRESULT IRiAnim::SetAttrKeyFrame | ( | [in] BSTR | bszNodeName,
|  | [in] BSTR | bszAttr,
|  | [in] VARIANT | time |
| ) |  |  |

Set a keyframe for object at given time.
Only keyframe for specified attribute is created.
New keyframe values are evaluated from the current state of the object,
as well as the animation context at given time.
Keyframes are stored in selected clip of editable track.
Default animation structures are created in case that object has not been animated.

Parameters:

  `[in]` | bszNodeName | Name of animated encapsulator node.
  `[in]` | bszAttr | Name of attribute relative to animated encapsulator space.
  `[in]` | time | Frame value in which keyframes are set.

     RsAnim.SetAttrKeyFrame(target,'Matrix', 120);

HRESULT IRiAnim::DeleteKeyFrames | ( | [in] BSTR | bszNodeName | ) |

Delete selected keyframes.
Selected keyframes in Anim View window are deleted.

Parameters:

  `[in]` | bszNodeName | Name of animated encapsulator node.

     RsAnim.DeleteKeyFrames(target);

HRESULT IRiAnim::CopyKeyFrames | ( | [in] BSTR | bszNodeName | ) |

Copy selected keyframes to the clipboard memory.
All selected keyframes in Anim View window are copied to clipboard.

Parameters:

  `[in]` | bszNodeName | Name of animated encapsulator node.

     RsAnim.CopyKeyFrames(target);

HRESULT IRiAnim::CutKeyFrames | ( | [in] BSTR | bszNodeName | ) |

Remove selected keyframes from the object and add them to clipboard memory.

Parameters:

  `[in]` | bszNodeName | Name of animated encapsulator node.

        var owner = System.ThisOwner();
        var target = owner + '/Cube';
        RsAnim.CutKeyFrames(target);

HRESULT IRiAnim::PasteKeyFrames | ( | [in] BSTR | bszNodeName | ) |

Paste selected keyframes from clipboard memory.
Keyframes are added at current time.

Parameters:

  `[in]` | bszNodeName | Name of animated encapsulator node.

     RsAnim.PasteKeyFrames(target);

HRESULT IRiAnim::ClearSelection | ( | [in] BSTR | bszNodeName | ) |

Remove all keyframes from the selection.

Parameters:

  `[in]` | bszNodeName | Name of animated encapsulator node.

     RsAnim.ClearSelection(target);

HRESULT IRiAnim::SelectAll | ( | [in] BSTR | bszNodeName | ) |

Add all keyframes to the selection.

Parameters:

  `[in]` | bszNodeName | Name of animated encapsulator node.

     RsAnim.SelectAll(target);

HRESULT IRiAnim::InvertSelection | ( | [in] BSTR | bszNodeName | ) |

Invert selection, add only those keyframes to selection which are not selected.

Parameters:

  `[in]` | bszNodeName | Name of animated encapsulator node.

     RsAnim.InvertSelection(target);

HRESULT IRiAnim::CopyClips | ( | void |  | ) |

Copy clips.

        RsAnim.CopyClips();

HRESULT IRiAnim::CutClips | ( | void |  | ) |

Cut clips.

        RsAnim.CutClips();

HRESULT IRiAnim::PasteClips | ( | void |  | ) |

Paste clips.

        RsAnim.PasteClips();

HRESULT IRiAnim::DeleteClips | ( | void |  | ) |

Delete clips.

        RsAnim.DeleteClips();

HRESULT IRiAnim::DeleteSelection | ( | [in] BSTR | bszFrameId | ) |

move these methods to new named item