Overview of Object Animation
The animation functionality in IDL lets you draw a series of images in rapid succession, the speed of which has no limit other than that of system capabilities and graphics hardware. You can easily control the rate and order of the image display, or synchronize several displays. You can also display overlays that contain other types of information (such as text, ROIs, or contours) that are either specific to the currently displayed image or common to all displayed images. In addition to images, other objects such as surface and volume objects can also be animated.
The key to this flexibility is due to the fact that animation capabilities are provided in part by an IDLgrModel object, to which you can add any combination of graphic objects. As shown in the following figure, the object hierarchy for animation is very similar to a standard window-scene-view-model hierarchy of a typical display. When the animation model is used in conjunction with an IDLitWindow and a custom behavior object, the animation display possibilities are nearly limitless.
While the graphics tree of an animation display is very similar to a standard display, it is important to note the differences. Animation relies on an IDLitWindow (not IDLgrWindow), which has a built-in timer mechanism, and an IDLgrModel object that has an awareness of "Active Position" rendering. There is also a user-defined object that determines how the contents in the animation model are modified. This behavior object can incorporate any action, but it will commonly iterate through a series of images or transform a model object in response to a timer signal received from the window. See the following topics for more information on adding animation functionality to a program or application:
- Configuring an Animation Model Object — describes how IDLgrModel properties enable animation
- Controlling the Animation Rate — describes how to incorporate behavior objects, and how to set IDLgrWindow methods and parameters to start, stop, and control the rate of an animation
- Designing a Behavior Object — describes the most important elements of a behavior object, and provides access to two working animation examples (a simple Cine loop, and a timer-based surface rotation)
For an example that incorporates animation elements into a widget application that lets you interactively control the playback of a series of image frames, see Example: Interactive Cine Animation.
Note
For information on how scene contents, image sizes, and display refresh rates influence animation performance, see Factors Affecting Animation Performance.
