The SEDRIS Data Representation Model
APPENDIX A - Classes Animation Behaviour |
---|
An instance of this DRM class specifies, for its aggregate <Animation Related Geometry> instance(s), all the information necessary to define one animation sequence among the "frames" defined by that <Animation Related Geometry>.
An animation of an explosion could have many different sections. One section could represent the explosion, another section the fire, and another section smoke. The fields of this class give the duration of each frame and the beginning and ending frame sequence.
The <Animation Related Geometry> instance would have 60 ordered <Geometry Hierarchy> components. The first <Animation Behaviour> (explosion) would define frames 1 through 20 in its animation sequence. The second <Animation Behaviour> (fire) would define frames 21 through 40 in its animation sequence. The third <Animation Behaviour> (smoke) would define frames 41 through 60 as its sequence, with the count set to 0. The effect would be to see the animation of the explosion followed by the fire, followed by the smoke. The smoke would last forever, since its count was set to 0.
Yes. An instance of the <Animation Related Geometry> class can have one or more ordered instances of <Animation Behaviour> as components. In the example (below) of an explosion, each one of the sections (i.e. explosion, fire, and smoke) can be its own <Animation Behaviour>. Because the <Animation Behaviour> components are ordered, they behave as though they are chained together, one following the other.
Yes.
This specifies the duration (in seconds) of each frame.
This specifies the number of times that the animation sequence will repeat, where 0 indicates that it repeats endlessly.
If this value is SE_TRUE, the animation sequence cycles from beginning to end, beginning to end, beginning to end, for the number of iterations specified by count; this is referred to as *standard cycling*. If forward_sequence_mode is SE_FALSE, the animation sequence cycles from beginning to end, end to beginning, beginning to end, end to beginning, as specified by count; this is referred to as *swing mode*.
This specifies the index of the beginning frame (1 to n).
This specifies the index of the ending frame (1 to n).
This flag specifies whether the beginning frame is chosen randomly. If random_beginning_frame = SE_FALSE, the beginning frame is ignored, and the sequence cycles towards the ending frame.
|