Changes between Version 10 and Version 11 of ChimeraAnimationTasks


Ignore:
Timestamp:
Dec 9, 2010, 3:18:03 PM (15 years ago)
Author:
Darren Weber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ChimeraAnimationTasks

    v10 v11  
    33
    44Need to identify all the possible state parameters that can be changed between two states. All of those parameters need to be retained, probably in some form of immutable data type (tuple) within a dictionary for easy access to several parameter groups (viewer, volumes, surfaces, models, labels, etc.). Some of the elements in a state may have shared spatial parameters (e.g., molecular surfaces, molecules, and atoms may share a common spatial transform).
     5
     6
     7
     8=== State Parameters: Categories ===
     9
     10 * Elements
     11   * 2D Labels
     12   * Models (Molecules, Atoms)
     13   * Surfaces
     14   * Volumes
     15   * Selections
     16 * Display State
     17   * Hidden
     18   * Active for Motion
     19 * Spatial
     20   * Camera
     21   * Model Geometry (Center of Rotation, Xform, etc.)
     22   * Clipping Planes
     23 * Lighting
     24   * Background
     25   * Directional Lights
     26 * Surfacing
     27   * Textures
     28   * Materials (Color, Specular reflection, etc.)
     29   * Transparency
     30 * Rendering
     31   * Model and ribbon styles
     32   * Motion Blur
     33
     34
     35=== State Parameters: initial work based on {{{savepos}}} and {{{reset}}} ===
    536
    637The savepos/reset functionality works with a tuple:
     
    2455
    2556
     57
     58=== Parameter Access Methods ===
     59
    2660Something like this gains access to a lot of view parameters:
    2761{{{
     
    3165
    3266Some tips in the [http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/faq.html programming FAQ] are useful (esp, items 4, 5, 7-10). 
     67
     68
    3369
    3470==== Attributes: To Copy or Not to Copy, that is the question! ====
     
    4682
    4783
     84
    4885==== openState attributes ====
    4986
     
    5188
    5289From the [http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/faq.html FAQ], item (10):  The openState attribute of a Model controls whether that model is active for motion ('.active'), and contains the model's transformation matrix ('.xform') and center of rotation ('.cofr'). Since some models must move in synchrony (e.g. a molecule and its surface), !OpenState instances may be shared among multiple models. If you create a model that needs a shared openState with another model, then when adding your model to the list of open models with chimera.openModels.add(), you should use the 'sameAs' keyword to specify the other model.
     90
     91
    5392
    5493==== 'Active' models ====
     
    87126}}}
    88127
    89 === openState.xform ===
     128
     129
     130==== openState.xform ====
    90131
    91132{{{
     
    97138Help on Xform object:
    98139
    99 class Xform(__builtin__.object)
    100  |  Xform() -> Xform
    101  |  Xform(_x: Xform) -> Xform
    102  | 
    103  |  Methods defined here:
    104  | 
    105  |  __copy__(...)
    106  |      __copy__() -> Xform
    107  | 
    108  |  __eq__(...)
    109  |      x.__eq__(y) <==> x==y
    110  | 
    111  |  __ge__(...)
    112  |      x.__ge__(y) <==> x>=y
    113  | 
    114  |  __gt__(...)
    115  |      x.__gt__(y) <==> x>y
    116  | 
    117  |  __init__(...)
    118  |      x.__init__(...) initializes x; see x.__class__.__doc__ for signature
    119  | 
    120  |  __le__(...)
    121  |      x.__le__(y) <==> x<=y
    122  | 
    123  |  __lt__(...)
    124  |      x.__lt__(y) <==> x<y
    125  | 
    126  |  __ne__(...)
    127  |      x.__ne__(y) <==> x!=y
    128  | 
    129  |  __repr__ lambda s
    130  | 
    131  |  __str__(...)
    132  |      x.__str__() <==> str(x)
    133  | 
    134  |  apply(...)
    135  |      apply(p: Point) -> Point
    136  |      apply(p: Vector) -> Vector
    137  | 
    138  |  getCoordFrame(...)
    139  |      getCoordFrame() -> Vector, Vector, Vector, Point
    140  | 
    141  |  getOpenGLMatrix(...)
    142  |      getOpenGLMatrix() -> 16-tuple of float
    143  | 
    144  |  getRotation(...)
    145  |      getRotation() -> Vector, float
    146  | 
    147  |  getTranslation(...)
    148  |      getTranslation() -> Vector
    149  | 
    150  |  inverse(...)
    151  |      inverse() -> Xform
    152  | 
    153  |  invert(...)
    154  |      invert()
    155  | 
    156  |  isIdentity(...)
    157  |      isIdentity() -> bool
    158  | 
    159  |  makeOrthogonal(...)
    160  |      makeOrthogonal(modify: bool)
    161  | 
    162  |  multiply(...)
    163  |      multiply(op: Xform)
    164  | 
    165  |  premultiply(...)
    166  |      premultiply(op: Xform)
    167  | 
    168  |  rotate(...)
    169  |      rotate(xyz: Vector, angle: float)
    170  |      rotate(x: float, y: float, z: float, angle: float)
    171  | 
    172  |  translate(...)
    173  |      translate(xyz: Vector)
    174  |      translate(x: float, y: float, z: float)
    175  | 
    176  |  xRotate(...)
    177  |      xRotate(angle: float)
    178  | 
    179  |  yRotate(...)
    180  |      yRotate(angle: float)
    181  | 
    182  |  zRotate(...)
    183  |      zRotate(angle: float)
    184  | 
    185  |  ----------------------------------------------------------------------
    186  |  Static methods defined here:
    187  | 
    188  |  coordFrame(...)
    189  |      coordFrame(x: Vector, y: Vector, z: Vector, origin: Point, orthogonalize: bool = false) -> Xform
    190  | 
    191  |  identity(...)
    192  |      identity() -> Xform
    193  | 
    194  |  lookAt(...)
    195  |      lookAt(eye: Point, at: Point, up: Point) -> Xform
    196  |      lookAt(eye: Point, at: Point, up: Vector) -> Xform
    197  | 
    198  |  rotation(...)
    199  |      rotation(xyz: Vector, angle: float) -> Xform
    200  |      rotation(x: float, y: float, z: float, angle: float) -> Xform
    201  | 
    202  |  translation(...)
    203  |      translation(xyz: Vector) -> Xform
    204  |      translation(x: float, y: float, z: float) -> Xform
    205  | 
    206  |  xRotation(...)
    207  |      xRotation(angle: float) -> Xform
    208  | 
    209  |  xform(...)
    210  |      xform(r00: float, r01: float, r02: float, t03: float, r10: float, r11: float, r12: float, t13: float, r20: float, r21: float, r22: float, t23: float, orthogonalize: bool = false) -> Xform
    211  | 
    212  |  yRotation(...)
    213  |      yRotation(angle: float) -> Xform
    214  | 
    215  |  zAlign(...)
    216  |      zAlign(p0: Point, p1: Point) -> Xform
    217  |      zAlign(p: Point, v: Vector) -> Xform
    218  | 
    219  |  zRotation(...)
    220  |      zRotation(angle: float) -> Xform
    221  | 
    222  |  ----------------------------------------------------------------------
    223  |  Data descriptors defined here:
    224  | 
    225  |  __dict__
    226  | 
    227  |  ----------------------------------------------------------------------
    228  |  Data and other attributes defined here:
    229  | 
    230  |  __hash__ = None
    231  | 
    232  |  __new__ = <built-in method __new__ of libwrappy2.mutable object>
    233  |      T.__new__(S, ...) -> a new object with type S, a subtype of T
     140...
    234141
    235 >>>
    236142}}}
    237 
    238143
    239144