wiki:AnimationCommands

Version 4 (modified by Darren Weber, 15 years ago) ( diff )

--

Animation Commands

This page defines the animation command syntax and expected behavior (this is related to ticket:9055, see also ticket:9404).

Note on Syntax Style

Greg's suggested using extended Backus-Naur form. It was used it to define a nucleotides command (see the source code comments too).

Proposed command syntax

Elaine's "corrected scheme" from ticket:9055.

(1) scene definition

scene scene-name (save | reset [frames[,trans-name]])
scene list
~scene (scene-name | all)

Notes

  • "scene-name" and "trans-name" are user-specified, see (2) for the latter.
  • default scene not necessary.
  • save corresponds to scadd.
  • reset corresponds to scshow.
  • scsave to file omitted for now, could be third option "write pathname".
  • alternative: expand existing reset command to restore scenes, then only need:
       scene scene-name
       scene list
       ~scene (scene-name | all)
    

(2) transition definition

transition trans-name [color color-options] [visibility vis-options] \
                      [style style-options] [global global-options]
transition list
~transition (trans-name | all)

Notes

  • Keywords could be different, I just wanted to convey purpose/scope ... many many possibilities, e.g.
    color ( linear [f1,f2] | sigmoid [f1,f2] | abrupt f )
    
    where f are % fractions of the transition from the preceding scene (0%) to the next scene (100%). A percentage is easier to type than values in the 0-1 range.
  • Would we want to allow different behaviour for different models?

(3) animation between scenes

This may be analogous to the existing fly command:

fly [master-frames] pos1 \
    [[ frames1_2] pos2] \
    [[ frames2_3] pos3] \
    ... \
    [[ framesN-1_N] posN]

see http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/fly.html

That is, we define a new command called 'animate' with similar syntax:

animate [master-frames[,master-trans]] scene1 \
    [[ frames1_2[,trans1_2]] scene2] \
    [[ frames2_3[,trans2_3]] scene3] \
    ... \
    [[ framesN-1_N[,transN-1_N]] sceneN]

Notes

  • scene*, trans* previously defined with scene and transition commands, respectively.
  • alternative: expand existing fly command to do all this.

Concerns:

  • Does this limit transitions (other than positions, which would be splined as in "fly") to depending on only the bracketing pair of scenes? Do we need fancier transitions that also depend on further preceding and following scenes?
  • How does animation integrate with recording, 2dlabels, coordset, other commands with frame arguments (move,turn,rock,roll)? Simply as interleaved commands between "movie record" and "movie stop"? Could coordset or 2dlabels changes occur at the same time as other transitions?
Note: See TracWiki for help on using the wiki.