The SEDRIS Data Representation Model
APPENDIX A - Classes
Animation Behaviour

Class Name: Animation Behaviour

Superclass - <SEDRIS Abstract Base>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

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

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

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

  2. The <Animation Related Geometry> class would have 60 ordered <Geometry Hierarchies> as 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.

FAQs

Can animation sequences be chained together?

Yes. The <Animation Related Geometry> class can have one or more ordered classes 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 Behaviours> are ordered, they behave as though they are chained together, one following the other.

Can the frames in different animation sequences overlap?

Yes.

Constraints

None.

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Long_Float period; (notes)
SE_Short_Integer_Unsigned count; (notes)
SE_Boolean forward_sequence_mode; (notes)
SE_Short_Integer_Positive beginning_frame; (notes)
SE_Short_Integer_Positive ending_frame; (notes)
SE_Boolean random_beginning_frame; (notes)

Notes

Fields Notes


period

 This specifies the duration (in seconds) of each frame.

count

 This specifies the number of times that the animation sequence
 will repeat, where 0 indicates that it repeats endlessly.

forward_sequence_mode

 If SE_TRUE the animation sequence cycles from beginning to end,
 beginning to end, beginning to end, etc. (standard cycling)
 If SE_FALSE the animation sequence cycles from beginning to end, end
 to beginning, beginning to end, end to beginning, etc. (swing mode)

beginning_frame

 This specifies the index of the beginning frame (1 to n).

ending_frame

 This specifies the index of the ending frame (1 to n).

random_beginning_frame

 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.

Prev: Ambient Colour. Next: Animation Related Geometry. Up:Index.

Last updated: October 1, 2002 Copyright © 2002 SEDRIS™