scene makes it possible to save and restore multiple scenes scene within a single session. A scene consists of the view, all object activity information, all atom-wise visibility, color, representations, and the global frame index.
USAGE (newer v1.1.b4)
scene [key [,action [, message, [ new_key=new-key-value ]]]]
- key = string, new, auto, or *: use new for an automatically numbered new scene, use auto for the current scene (if one exists), and use * for all scenes (clear and recall actions only).
- action = store, recall, insert_after, insert_before, next, previous, update, rename, clear or append: (default = recall). If rename, then a new_key argument must be explicitly defined.
- message = string: a text message to display with the scene.
- new_key = string: the new name for the scene
scene key [,action [,message [ ,view [,color [,active [,rep [,frame]]]]]]] scene *
- key can be any string
- action should be 'store' or 'recall' (default: 'recall')
- view: 1 or 0 controls whether the view is stored
- color: 1 or 0 controls whether colors are stored
- active: 1 or 0 controls whether activity is stored
- rep: 1 or 0 controls whether the representations are stored
- frame: 1 or 0 controls whether the frame is stored
cmd.scene(string key,string action,string-or-list message,int view, int color, int active, int rep, int frame)
scene F1, store scene F2, store, This view shows you the critical hydrogen bond. scene F1 scene F2
This example shows how to use scenes in a movie!
# SUMMARY # # This script demonstrates one way of creating a movie from scenes. # It assumes that we have three scenes, each running for 10 seconds # (300 frames apiece) including 2-second transitions. # 1) Load or create content for three scenes (this could just as easily # come from a session file). load $TUT/1hpv.pdb util.cbc turn x,180 orient as cartoon scene 001, store show sticks, organic orient organic scene 002, store hide cartoon show lines, byres organic expand 5 turn x,45 turn y,45 scene 003, store # 2) Specify a 30-second movie -- state 1, 900 frames at 30 frames per second. mset 1 x900 # 3) Program scene matrices as movie views at appopriate frames # and also add y-axis rocking between scenes. scene 001, animate=0 mview store, 1 mview store, 240 turn y,-30 mview store, 70 turn y,60 mview store, 170 scene 002, animate=0 mview store, 300 mview store, 540 turn y,-30 mview store, 370 turn y,60 mview store, 470 scene 003, animate=0 mview store, 600 mview store, 840 turn y,-30 mview store, 670 turn y,60 mview store, 770 # 4) Now interpolate the movie camera. mview interpolate mview smooth mview smooth # 5) Activate scene content at the appropriate movie frames. mdo 1: scene 001, view=0, quiet=1 mdo 240: scene 002, view=0, quiet=1 mdo 540: scene 003, view=0, quiet=1 mdo 840: scene 001, view=0, quiet=1 # 6) Force frame 1 content to load. rewind # 6) And play the movie. mplay
- Courtesy of Warren DeLano.
- To scroll through your frames, as in a presentation, just use the PG-UP and PG-DN keys. Very handy.
- Scenes F1 through F12 are automatically bound to function keys provided that "set_key" hasn't been used to redefine the behaviour of the respective key.
- If you have a script that modifies the representation of the molecules and stores them, quickly, then the stored frames may not be up to date. I suggest calling "refresh" between the commands.
DEVELOPMENT TO DO
Add support for save/restore of a certain global and object-and-state specific settings, such as: state, surface_color, ribbon_color, stick_color, transparency, sphere_transparency, etc. This would probably best be done by defining a class of "scene" settings which are treated in this manner. The current workaround is to create separate objects which are enabled/disabled differentially.