NAME
MesaWorkstation - A simple workstation abstraction widget for Mesa/X
DESCRIPTION
Resources
The following X resources are available in addition to the MesaDrawingArea resources:
___________________________________________________________________________⎪ ⎪ ⎪ ⎪ ⎪⎪ Name ⎪ Class ⎪ Type ⎪ OpenGL attribute ⎪⎪____________________⎪____________________⎪_________⎪______________________⎪⎪ ⎪ ⎪ ⎪ ⎪⎪ ⎪ ⎪ ⎪ ⎪⎪____________________⎪____________________⎪_________⎪______________________⎪
Actions
- Projection ()
- Move ()
Translations
- ~Shift<Key>Left: Move(l)
- Shift<Key>Left: Move(l,10)
- ~Shift<Key>Right: Move(r)
- Shift<Key>Right: Move(r,10)
- ~Shift<Key>Up: Move(u)
- Shift<Key>Up: Move(u,10)
- ~Shift<Key>Down: Move(d)
- Shift<Key>Down: Move(d,10)
- <Key>plus: Move(+)
- <Key>minus: Move(-)
- ~Shift<Key>l: Projection(l)
- Shift<Key>l: Projection(L)
- ~Shift<Key>r: Projection(r)
- Shift<Key>r: Projection(R)
- ~Shift<Key>b: Projection(b)
- Shift<Key>b: Projection(B)
- ~Shift<Key>t: Projection(t)
- Shift<Key>t: Projection(T)
- ~Shift<Key>n: Projection(n)
- Shift<Key>n: Projection(N)
- ~Shift<Key>f: Projection(f)
- Shift<Key>f: Projection(F)
- ~Shift<Key>a: Projection(a)
- Shift<Key>a: Projection(A)
- <Key>p: Projection(p)
- <Key>o: Projection(o)
Utility functions
The following utility functions are available
- void GLwBeginProjection (Widget w)
- void GLwEndProjection (void)
-
The following code snippet selects perspective projection for the workstation ws:
GLwBeginProjection (ws);glFrustum (-1.0, 1.0, -1.0, 1.0, 1.0, 10.0);GLwEndProjection ();During redisplay, this will be executed as a display list with the matrix mode set to GL_PROJECTION and an identity matrix on top of the projection matrix stack.
- void GLwPostProjectionList (Widget w, GLuint p)
- void GLwPostProjectionMatrix (Widget w, GLdouble *m)
- void GLwPostCurrentProjection (Widget w)
- void GLwUnpostProjection (Widget w)
- GLuint GLwGetProjectionList (Widget w)
- int GLwGetProjectionMatrix (Widget w, GLdouble *m)
- void GLwSetFrustumProjection (Widget w, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far)
- void GLwSetOrthoProjection (Widget w, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far)
- void GLwBeginView (Widget w)
- void GLwEndView (void)
-
The following code snippet selects a view from the z-axis for the workstation ws:
GLwBeginView (ws);gluLookAt (0.0, 0.0, 3.0,0.0, 0.0, 0.0,0.0, 1.0, 0.0);GLwEndView ();During redisplay, this will be executed as a display list with the matrix mode set to GL_MODELVIEW and an identity matrix on top of the model view matrix stack.
- void GLwPostViewList (Widget w, GLuint v)
- void GLwPostViewMatrix (Widget w, GLdouble *m)
- void GLwPostCurrentView (Widget w)
- void GLwUnpostView (Widget w)
- GLuint GLwGetViewList (Widget w)
- int GLwGetViewMatrix (Widget w, GLdouble *m)
- void GLwSetPolarView (Widget w, GLdouble r, GLdouble theta, GLdouble phi)
- void GLwPostObject (Widget w, GLuint o)
-
posts object to w.
- void GLwUnpostObject (Widget w, GLuint o)
- void GLwUnpostAllObjects (Widget w)
- void GLwRedrawObjects (Widget w)
-
force a redraw of all objects posted to w.
SEE ALSO
the GLwDrawingArea manpage, the MesaDrawingArea manpage
AUTHOR
Thorsten.Ohl @ Physik.TH-Darmstadt.de
DATE
$Id: MesaWorkstation.pod,v 1.6 1995/05/19 20:31:00 ohl Exp $