===============
Keyframe editor
===============

The keyframe editor is provided as a simple tool to create animations from existing geometry. It is not meant as a replacement for a "serious" authoring tool (like 3D Studio or similar packages) but rather as a way to quickly enhance HOOPS data with animations.

.. image:: images/keyframeeditor.jpg

Each animation "channel" is displayed as a separate row in the main window. Keyframes appear as grey dots while the color of the area between two keyframes indicates either a linear or a non-linear interpolation type. Clicking anywhere inside the editor window changes the current keyframe to the new position.

Animations are created interactively by choosing the "Manipulator" operator. Now, whenever an object is clicked on in the current view a set of handles will appear around it. Dragging those handles not only rotates, orbits or scales the object interactively but also creates a new keyframe at the current position. By creating multiple keyframes at different "times" an animation is defined.

Here is a quick overview of the various buttons:

.. image:: images/copypaste.jpg

Copy/Paste - Copies Keyframes from one position inside an animation channel to another. By dragging the mouse in the editor window multiple keyframes can be selected simultaniously

.. image:: images/duplicatekeyframe.jpg

Duplicate Last/Next - Duplicates either the last or the next keyframe of the currently selected channels by creating a new keyframe at the selected position

.. image:: images/deleteanimation.jpg 

Delete Animations - Deletes the currently selected animations

.. image:: images/deletekeyframe.jpg

Delete Keyframes - Deletes the currently selected keyframes

.. image:: images/camerakfr.jpg

Creates a new camera keyframe with the current camera attributes of the view

.. image:: images/attswitchkfr.jpg

AttSwitchKfr - Creates a new attribute switch keyframe with the currently selected segment

.. image:: images/axisrotkfr.jpg

AxisRotKfr - Creates a new Axis Rotation Keyframe 

.. image:: images/linnolin.jpg

Linear/Non Linear - Changes the currentlly selected keyframe interval from linear to non-linear and vice versa

.. image:: images/cncani.jpg

CnC Animation - Converts the selected Animation into a CNC tool Animation

.. image:: images/collisiondetection.jpg

Collision Detections - Enables/disables collision detection for the target object that the selected animation refers to

.. image:: images/showpath.jpg

Show Animation Path - Visulalizes Position/Rotation of Object

.. image:: images/xmlshow.jpg

Edit XML - Show an XML Representation of the Animation Data of the current model which can be modified directly

.. image:: images/camerasettings.jpg

Camera Target/Pos - Sets the default for camera keyframes.  Determines if the camera target or position is directly adjusted while the camera is interpolated. 

.. image:: images/updatedo.jpg

Update - If checked the current model is automatically updated whenever the user clicks in the editor window. 

.. image:: images/dragmode.jpg

Drag Mode - Switches from Selection mode to Drag mode. In Drag Mode clickling and dragging in between two keyframes expands/shrinks the keyframe time interval

.. image:: images/autorecord.jpg

Automatic Record - Turns on Auto-Record Mode which advances the Current Ticktime and creates new Keyframes automatically

.. image:: images/scaletimeline.jpg

Scale timeline - Scales Timeline Display

.. image:: images/createavi.jpg

Save as AVI - Allows you to create an .AVI media file from the animation
