Package mmLib :: Module GLViewer :: Class GLViewer
[show private | hide private]
[frames | no frames]

Class GLViewer

         object --+    
                  |    
           GLObject --+
                      |
         object --+   |
                  |   |
OpenGLRenderMethods --+
                      |
                     GLViewer


This class renders a list of GLDrawList (or subclasses of) onto the given glcontext and gldrawable objects. The glcontext and gldrawable must be created by the underling GUI toolkit, or perhaps the GLUT libraries. This class is completely platform and tookit independent once it is passed the glcontext and gldrawable. The design of this class and the associated GLDrawList classes incorporates some basic OpenGL drawing optimizations. The GLDrawList objects are drawn and compiled into OpenGL draw lists, and have their own transformation/rotation operators WRT the GLViewer origin, allowing each GLDrawList to be redrawn very quickly as long as it moves as a rigid body.
Method Summary
  __init__(self)
  glo_install_properties(self)
Called by GLObject.__init__ to install properties.
  glv_add_draw_list(self, draw_list)
Append a GLDrawList.
  glv_add_struct(self, struct)
Adds the visualization for a mmLib.Structure.Structure object to the GLViewer.
  glv_clip(self, near, far)
Adjust near/far clipping planes.
  glv_init(self)
Called once to initalize the GL scene before drawing.
  glv_pre_render(self)
Sets up lighting and OpenGL options before scene rendering.
  glv_redraw(self)
This method is called by GLViewer children to trigger a redraw in the toolkit embedding the GLViewer object.
  glv_remove_draw_list(self, draw_list)
Remove a GLDrawList.
  glv_render(self)
Draw all GLDrawList objects onto the given glcontext/gldrawable.
  glv_resize(self, width, height)
Called to set the size of the OpenGL window this class is drawing on.
  glv_straif(self, x, y)
Translate in the XY plane.
  glv_trackball(self, x1, y1, x2, y2)
Implements a virtual trackball.
  glv_update_cb(self, updates, actions)
  glv_zoom(self, z)
Adjust zoom levels.
    Inherited from GLObject
  glo_add_child(self, child)
  glo_add_property(self, prop_desc)
Adds a new property to the GLObject.
  glo_add_update_callback(self, func)
Adds a function which is called whenever property values change.
  glo_append_child(self, child)
Adds a child GLObject to the end of the GLObject's child list.
  glo_count_descendants(self)
Counts all decendant GLObjects.
  glo_get_child(self, gl_object_id)
Returns the child GLObject matching the given gl_object_id.
  glo_get_degree(self)
Returns the number of children (degree).
  glo_get_depth(self)
Returns the depth, the root composite is depth 0.
  glo_get_glstructure(self)
Returns the parent GLStructure object, or None if the GLObject is not a child of a GLStructure.
  glo_get_index_path(self)
Returns the tree-path to the GLObject as a list of its integer indexes.
  glo_get_lowest_common_ancestor(self, gl_object)
Returns the lowest common ancesotry of self and argument composite.
  glo_get_parent(self)
Returns the parent GLObject.
  glo_get_parent_list(self)
Returns a list of the parent GLObjects back to the root.
  glo_get_path(self)
Returns the tree-path to the composite as a list of its parent composites.
  glo_get_properties_id(self)
  glo_get_property_desc(self, name)
Return the property description dictionary for the given property name.
  glo_get_root(self)
Returns the root GLObject.
  glo_init_properties(self, **args)
This is a special form of update which propagates all linked values, not just the changed ones.
  glo_is_descendant_of(self, gl_object)
Returns true if self composite is a decent of argument GLObject.
  glo_iter_children(self)
Iterate immediate children.
  glo_iter_preorder_traversal(self)
Preorder Traversal for GLObject composite.
  glo_iter_property_desc(self)
Iterates over all property descriptions.
  glo_link_child_property(self, name, child_gl_object_id, child_name)
Link the value of the GLObject's property to the value of a child property.
  glo_name(self)
Returns the GLObject name.
  glo_prepend_child(self, child)
Adds a child GLObject to the beginning of the GLObject's child list.
  glo_remove(self)
The GLObject removes itself from its parent.
  glo_remove_child(self, child)
Removes the child GLObject.
  glo_remove_update_callback(self, func)
Removes the update callback.
  glo_set_name(self, name)
Sets the GLObject name.
  glo_set_properties_id(self, gl_object_id)
Set the property name for this GLObject.
  glo_update_properties(self, **args)
Update property values and trigger update callbacks.
    Inherited from OpenGLRenderMethods
  glr_axis(self, position, axis, radius)
Draw a vector axis using the current set material at position with the given radius.
  glr_cross(self, position, color, line_width)
Draws atom with a cross of lines.
  glr_mult_matrix(self, R, t)
Multiplies the current matrix by rotation matrix R and translates by t
  glr_set_material_rgb(self, r, g, b, a)
Creates a stock rendering material colored according to the given RGB values.
  glr_sphere(self, position, radius, quality)
Draw a atom as a CPK sphere.
  glr_text(self, text, scale)
Renders a text string.
  glr_translate(self, t)
Translates the scene by vector t.
  glr_tube(self, pos1, pos2, radius)
Draws a hollow tube beginning at pos1, and ending at pos2.
  glr_Uaxes(self, position, U, prob, color, line_width)
Draw the anisotropic axies of the atom at the given probability.
  glr_Uellipse(self, position, U, prob)
Renders the ellipsoid enclosing the given fractional probability given the gaussian variance-covariance matrix U at the given position.
  glr_Urms(self, position, U)
Renders the root mean square (one standard deviation) surface of the gaussian variance-covariance matrix U at the given position.
    Inherited from object
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __hash__(x)
x.__hash__() <==> hash(x)
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __repr__(x)
x.__repr__() <==> repr(x)
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value
  __str__(x)
x.__str__() <==> str(x)
    Inherited from type
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T

Class Variable Summary
    Inherited from GLObject
GLPropertyDefault PropertyDefault = <mmLib.GLViewer.GLPropertyDefault obje...

Method Details

glo_install_properties(self)

Called by GLObject.__init__ to install properties.
Overrides:
mmLib.GLViewer.GLObject.glo_install_properties (inherited documentation)

glv_add_draw_list(self, draw_list)

Append a GLDrawList.

glv_add_struct(self, struct)

Adds the visualization for a mmLib.Structure.Structure object to the GLViewer. It returns the GLStructure object created to visualize the Structure object.

glv_clip(self, near, far)

Adjust near/far clipping planes.

glv_init(self)

Called once to initalize the GL scene before drawing.

glv_pre_render(self)

Sets up lighting and OpenGL options before scene rendering.

glv_redraw(self)

This method is called by GLViewer children to trigger a redraw in the toolkit embedding the GLViewer object. It needs to be re-implemented when subclassed to call the tookit's widget redraw method.

glv_remove_draw_list(self, draw_list)

Remove a GLDrawList.

glv_render(self)

Draw all GLDrawList objects onto the given glcontext/gldrawable. If the GLDrawList objects are not yet compiled into OpenGL draw lists, they will be compiled while they are drawn, since this is a useful optimization.

glv_resize(self, width, height)

Called to set the size of the OpenGL window this class is drawing on.

glv_straif(self, x, y)

Translate in the XY plane.

glv_trackball(self, x1, y1, x2, y2)

Implements a virtual trackball.

glv_zoom(self, z)

Adjust zoom levels.

Generated by Epydoc 2.0 on Wed Nov 24 17:34:56 2004 http://epydoc.sf.net