diff options
Diffstat (limited to 'hacks/glx/extrusion-screw.c')
| -rw-r--r-- | hacks/glx/extrusion-screw.c | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/hacks/glx/extrusion-screw.c b/hacks/glx/extrusion-screw.c deleted file mode 100644 index 6724476..0000000 --- a/hacks/glx/extrusion-screw.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - * screw.c - * - * FUNCTION: - * Draws a screw shape. - * - * HISTORY: - * -- created by Linas Vepstas October 1991 - * -- heavily modified to draw more texas shapes, Feb 1993, Linas - * -- converted to use GLUT -- December 1995, Linas - * - */ - -#include "extrusion.h" -#include <stdlib.h> -#include <math.h> - -/* =========================================================== */ - -#define SCALE 1.3 -#define CONTOUR(x,y) { \ - double ax, ay, alen; \ - contour[i][0] = SCALE * (x); \ - contour[i][1] = SCALE * (y); \ - if (i!=0) { \ - ax = contour[i][0] - contour[i-1][0]; \ - ay = contour[i][1] - contour[i-1][1]; \ - alen = 1.0 / sqrt (ax*ax + ay*ay); \ - ax *= alen; ay *= alen; \ - norms [i-1][0] = ay; \ - norms [i-1][1] = -ax; \ - } \ - i++; \ -} - -#define NUM_PTS (25) - -static double contour [NUM_PTS][2]; -static double norms [NUM_PTS][2]; - -static void init_contour (void) -{ - int i; - - /* outline of extrusion */ - i=0; - CONTOUR (1.0, 1.0); - CONTOUR (1.0, 2.9); - CONTOUR (0.9, 3.0); - CONTOUR (-0.9, 3.0); - CONTOUR (-1.0, 2.9); - - CONTOUR (-1.0, 1.0); - CONTOUR (-2.9, 1.0); - CONTOUR (-3.0, 0.9); - CONTOUR (-3.0, -0.9); - CONTOUR (-2.9, -1.0); - - CONTOUR (-1.0, -1.0); - CONTOUR (-1.0, -2.9); - CONTOUR (-0.9, -3.0); - CONTOUR (0.9, -3.0); - CONTOUR (1.0, -2.9); - - CONTOUR (1.0, -1.0); - CONTOUR (2.9, -1.0); - CONTOUR (3.0, -0.9); - CONTOUR (3.0, 0.9); - CONTOUR (2.9, 1.0); - - CONTOUR (1.0, 1.0); /* repeat so that last normal is computed */ -} - -/* =========================================================== */ - -/* controls shape of object */ -extern float lastx; -extern float lasty; - -void InitStuff_screw (void) -{ - int style; - - /* configure the pipeline */ - style = TUBE_JN_CAP; - style |= TUBE_CONTOUR_CLOSED; - style |= TUBE_NORM_FACET; - style |= TUBE_JN_ANGLE; - gleSetJoinStyle (style); - - init_contour(); -} - -/* =========================================================== */ - -void DrawStuff_screw (void) { - - glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glColor3f (0.5, 0.6, 0.6); - - /* set up some matrices so that the object spins with the mouse */ - glPushMatrix (); - /* glTranslatef (0.0, 0.0, -80.0); */ - /* glRotatef (130.0, 0.0, 1.0, 0.0); */ - /* glRotatef (65.0, 1.0, 0.0, 0.0); */ - - /* draw the brand and the handle */ - gleScrew (20, contour, norms, - NULL, -6.0, 9.0, lasty); - - glPopMatrix (); -} - -/* ===================== END OF FILE ================== */ |
