diff options
author | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2007-09-05 17:49:58 +0000 |
---|---|---|
committer | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2007-09-05 17:49:58 +0000 |
commit | e00d6b3da60009117012f1d31dbdd7b4ed129480 (patch) | |
tree | b9d0196c86f30b9adc78473dd7b4ab4aab2f3365 /src/displaywindow.c | |
parent | 4ce57716fa17aac015a683e0eac2857699f5b8d5 (diff) |
Change the formulation of the rotations
git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@121 bf6ca9ba-c028-0410-8290-897cf20841d1
Diffstat (limited to 'src/displaywindow.c')
-rw-r--r-- | src/displaywindow.c | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/src/displaywindow.c b/src/displaywindow.c index fa66382..1fef6ce 100644 --- a/src/displaywindow.c +++ b/src/displaywindow.c @@ -285,9 +285,11 @@ static gint displaywindow_gl_motion_notify(GtkWidget *widget, GdkEventMotion *ev static void displaywindow_gl_create_list(DisplayWindow *dw) { + GLfloat bblue[] = { 0.0, 0.0, 1.0, 1.0 }; GLfloat blue[] = { 0.0, 0.0, 0.5, 1.0 }; GLfloat blue_spec[] = { 0.0, 0.0, 1.0, 1.0 }; GLfloat red[] = { 1.0, 0.0, 0.0, 1.0 }; + GLfloat purple[] = { 0.8, 0.0, 1.0, 1.0 }; GLfloat green[] = { 0.0, 1.0, 0.0, 1.0 }; GLfloat yellow[] = { 1.0, 1.0, 0.0, 1.0 }; GLfloat glass[] = { 0.2, 0.0, 0.8, 000.1 }; @@ -405,7 +407,8 @@ static void displaywindow_gl_create_list(DisplayWindow *dw) { glNewList(dw->gl_list_id, GL_COMPILE); /* Bounding cube: 100 nm^-1 side length */ - glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, red); + glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, purple); + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, black); glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, black); glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 0.0); glBegin(GL_LINE_LOOP); @@ -430,10 +433,29 @@ static void displaywindow_gl_create_list(DisplayWindow *dw) { glVertex3f(50, -50, 50); glVertex3f(50, -50, -50); glEnd(); - + + /* x, y, z pointers */ + glBegin(GL_LINES); + glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, black); + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, red); + glVertex3f(0.0, 0.0, 0.0); + glVertex3f(5.0, 0.0, 0.0); + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, green); + glVertex3f(0.0, 0.0, 0.0); + glVertex3f(0.0, 5.0, 0.0); + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, bblue); + glVertex3f(0.0, 0.0, 0.0); + glVertex3f(0.0, 0.0, 5.0); + glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, black); + glEnd(); + /* Tilt axis */ glPushMatrix(); - glRotatef(-ctx->images[0].omega, 0.0, 0.0, 1.0); + /* Images rotate clockwise by omega to put tilt axis at +x, + * so rotate tilt axis anticlockwise by omega. + * Since the rotation is about +z, this is already anticlockwise + * when looking down z. */ + glRotatef(ctx->images[0].omega, 0.0, 0.0, 1.0); glPolygonOffset(1.0, 1.0); glEnable(GL_POLYGON_OFFSET_LINE); glBegin(GL_LINES); @@ -581,7 +603,7 @@ static void displaywindow_gl_create_list(DisplayWindow *dw) { glEndList(); - printf("DW: Vertex counts: meas:%i, mark:%i, gen:%i\n", dw->gl_ref_num_vertices, dw->gl_marker_num_vertices, dw->gl_gen_num_vertices); + //printf("DW: Vertex counts: meas:%i, mark:%i, gen:%i\n", dw->gl_ref_num_vertices, dw->gl_marker_num_vertices, dw->gl_gen_num_vertices); } |