| 57 | | |
| 58 | | |
| 59 | | ==== Implementation note ==== |
| 60 | | |
| 61 | | r33799 provides revisions to 'scene' command: |
| 62 | | {{{ |
| 63 | | scene <scene-name> save |
| 64 | | scene <scene-name> reset |
| 65 | | scene <scene-name> reset <intFrames> |
| 66 | | scene list |
| 67 | | ~scene <scene-name> |
| 68 | | ~scene all |
| 69 | | }}} |
| 70 | | |
| 71 | | Notes: |
| 72 | | - args to (scene | ~scene) are comprised of any non-whitespace characters, unless they are 'action' keywords (list | save | reset | all) or otherwise noted below. It is possible to save a scene called 'scene' using "{{{scene scene save}}}", or a scene called 'save' using "{{{scene save save}}}", but it is never possible to save a scene named 'list'. |
| 73 | | - Unless the first arg to 'scene' is 'list', it must be a <scene-name> (there is no default) and the 'save' or 'reset' action is required (there is no default). |
| 74 | | - For reset, it is an error to specify a <scene-name> that was not previously saved. |
| 75 | | - The <intFrames> argument to reset is optional, the default is 1 frame; when it is given, it must be an integer (the value provided is cast using {{{int()}}}). |
| 76 | | - The reset command effects a transition from the current display state to a saved <scene-name> state. |
| 77 | | - When transition commands are defined and implemented, the scene command set might be augmented with a transition name: |
| 78 | | {{{ |
| 79 | | scene <scene-name> reset [<intFrames>[,<trans-name>]] |
| 80 | | }}} |
| 81 | | |
| 82 | | |
| | 130 | |
| | 131 | |
| | 132 | == Implementation Notes == |
| | 133 | |
| | 134 | All the commands have been defined based on prior experience with savepos/reset/fly, regardless of the implementation status for all their features in the animate extension. At present (June 2011), to avoid confusion for daily-build users, the 'transition' and 'animate' commands are disabled in the ChimeraExtension.py, until the animate extension can implement everything to support these commands (work in progress). |
| | 135 | |
| | 136 | === scene command === |
| | 137 | |
| | 138 | r33799 provides the following 'scene' command: |
| | 139 | {{{ |
| | 140 | scene <scene-name> save |
| | 141 | scene <scene-name> reset |
| | 142 | scene <scene-name> reset <intFrames> |
| | 143 | scene list |
| | 144 | ~scene <scene-name> |
| | 145 | ~scene all |
| | 146 | }}} |
| | 147 | |
| | 148 | Notes: |
| | 149 | - args to (scene | ~scene) are comprised of any non-whitespace characters, unless they are 'action' keywords (list | save | reset | all) or otherwise noted below. It is possible to save a scene called 'scene' using "{{{scene scene save}}}", or a scene called 'save' using "{{{scene save save}}}", but it is never possible to save a scene named 'list'. |
| | 150 | - Unless the first arg to 'scene' is 'list', it must be a <scene-name> (there is no default) and the 'save' or 'reset' action is required (there is no default). |
| | 151 | - For reset, it is an error to specify a <scene-name> that was not previously saved. |
| | 152 | - The <intFrames> argument to reset is optional, the default is 1 frame; when it is given, it must be an integer (the value provided is cast using {{{int()}}}). |
| | 153 | - The reset command effects a transition from the current display state to a saved <scene-name> state. |
| | 154 | - When transition commands are defined and implemented, the scene command set might be augmented with a transition name: |
| | 155 | {{{ |
| | 156 | scene <scene-name> reset [<intFrames>[,<trans-name>]] |
| | 157 | }}} |
| | 158 | |
| | 159 | === transition command === |
| | 160 | |
| | 161 | Implemented in r33819 - that completes the first approximation for an implementation of all the animation commands. |
| | 162 | |
| | 163 | === animate command === |
| | 164 | |
| | 165 | Implemented in r33819. |
| | 166 | |
| | 167 | 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. |