Changes between Version 11 and Version 12 of AnimationCommands


Ignore:
Timestamp:
Jun 22, 2011, 12:29:01 AM (15 years ago)
Author:
Darren Weber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AnimationCommands

    v11 v12  
    5656 2. Have a special scene name that always means the current scene.  Then "animate" could be used with the syntax of Elaine's proposal (see below) to go from the current scene to any other.
    5757
    58 '''Darren's note''':  If so, that breaks the implicit convention that the first scene in an "animate" command is always a 'snap' transition with 1 frame (as it is in [http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/fly.html fly]).  Also, it means that the first scene in an animate command will always use the [master-frames[,master-trans]] arguments.  It can have defaults, but not anything else, without breaking the current syntax convention and the parsing implementation for "animate".  That is, we could not specify something like:  "{{{animate 20,linear 5 scene1 scene2}}}" to get 5 linear frames to scene1 and then 20 linear frames to scene2; the extra 5 is a real headache!  (How would you parse that without making master-frames,master-trans required arguments?)
     58'''Darren's note''':  If so, that breaks the implicit convention that the first scene in an "animate" command is always a 'snap' transition with 1 frame (as it is in [http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/fly.html fly]).  Also, it means that the first scene in an animate command will always use the [master-frames[,master-trans]] arguments.  It could have a default that is different from the master (such as the 'snap' with 1 frame), but nothing else is possible without breaking the current conventions and assumptions for "animate".  That is, we could not specify something like: "{{{animate 20,linear 5 scene1 scene2}}}" to get 5 linear frames to scene1 and then 20 linear frames to scene2; that extra 5 is a real headache!  (How would you parse that without making master-frames,master-trans required arguments?)
    5959
    6060
     
    165165=== animate command ===
    166166
    167 Implemented in r33819.
     167Implemented in r33819 - that completes the first approximation for an implementation of all the animation commands.
    168168
    169 In order to provide reliability in parsing the animate command, the comma in the [frameN[,trans-name]] construct is required to specify any trans-name.  Moreover, whenever a comma is present in the command arguments, it must be preceded by a frameN argument and followed by a trans-name argument, with no whitespace allowed between any of these elements.  Hence, to specify a scene animation that will use the master-frames but a different trans-name, it is necessary to use a '0' in the place of the framesN argument.  For example, "{{{animate 10,snap scene1 0,linear scene2}}}" will result in master-frames=10, master-trans=snap and scene2 will have 10 frames (not zero frames, that's impossible), with a 'linear' transition instead of a 'snap' master transition.
     169In essence, the implementation of the animate command boils down to something like this:
     170
     171{{{
     172animate <scene-expression1> [<scene-expression2> ... <scene-expressionN>]
     173<scene-expression1> := [<master-frames>[,<master-transName>]] <sceneName1>
     174<scene-expressionN> := [<frames>[,<transName>]] <sceneNameN>
     175}}}
     176
     177
     178Notes:
     179 - '''Implicit transition for <sceneName1>''': The first scene, {{{<sceneName1>}}}, is always a "snap" transition with 1 frame.  This "snap" transition of 1 frame is the default scene transition (therefore, it is the default values for {{{[<master-frames>[,<master-transName>]]}}}).
     180 - In order to provide reliability in parsing the animate command, the comma in the {{{[frameN[,trans-name]]}}} construct is required to specify any trans-name.  Moreover, whenever a comma is present in the command arguments, it must be preceded by a frameN argument and followed by a trans-name argument, with no whitespace allowed between any of these elements.
     181 - To specify a scene animation that will use the master-frames but a different trans-name, it is necessary to use a '0' in the place of the framesN argument.  For example, "{{{animate 10,snap scene1 0,linear scene2}}}" will result in master-frames=10, master-trans=snap and scene2 will have 10 frames (not zero frames, that's impossible), with a 'linear' transition instead of a 'snap' master transition.