diff options
Diffstat (limited to 'hacks/glx/involute.h')
| -rw-r--r-- | hacks/glx/involute.h | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/hacks/glx/involute.h b/hacks/glx/involute.h deleted file mode 100644 index c6a3066..0000000 --- a/hacks/glx/involute.h +++ /dev/null @@ -1,78 +0,0 @@ -/* involute, Copyright (c) 2004-2014 Jamie Zawinski <jwz@jwz.org> - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation. No representations are made about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - * Utilities for rendering OpenGL gears with involute teeth. - */ - -#ifndef __GEAR_INVOLUTE_H__ -#define __GEAR_INVOLUTE_H__ - -typedef struct { - unsigned long id; /* unique name */ - double x, y, z; /* position */ - double r; /* radius of the gear, at middle of teeth */ - double th; /* rotation (degrees) */ - - GLint nteeth; /* how many teeth */ - double tooth_w, tooth_h; /* size of teeth */ - - double tooth_slope; /* 0 for normal right-angle gear; 1 = 45 deg. */ - double inner_r; /* radius of the (larger) inside hole */ - double inner_r2; /* radius of the (smaller) inside hole, if any */ - double inner_r3; /* yet another */ - - double thickness; /* height of the edge */ - double thickness2; /* height of the (smaller) inside disc if any */ - double thickness3; /* yet another */ - int spokes; /* how many spokes inside, if any */ - int nubs; /* how many little nubbly bits, if any */ - double spoke_thickness; /* spoke versus hole */ - double wobble; /* factory defect! */ - int motion_blur_p; /* whether it's spinning too fast to draw */ - int polygons; /* how many polys in this gear */ - - double ratio; /* gearing ratio with previous gears */ - double rpm; /* approximate revolutions per minute */ - - Bool inverted_p; /* whether this gear has teeth on the inside */ - Bool base_p; /* whether this gear begins a new train */ - int coax_p; /* whether this is one of a pair of bound gears. - 1 for first, 2 for second. */ - double coax_displacement; /* distance between gear planes */ - - double coax_thickness; /* thickness of the other gear in the pair */ - - enum { INVOLUTE_SMALL, - INVOLUTE_MEDIUM, - INVOLUTE_LARGE, - INVOLUTE_HUGE } size; /* Controls complexity of mesh. */ - GLfloat color[4]; - GLfloat color2[4]; - - GLuint dlist; -} gear; - -/* Render one gear, unrotated at 0,0. - Returns the number of polygons. - */ -extern int draw_involute_gear (gear *g, Bool wire_p); - -/* Draws a much simpler representation of a gear. - Returns the number of polygons. - */ -extern int draw_involute_schematic (gear *g, Bool wire_p); - -/* Which of the gear's inside rings is the biggest? - */ -extern int involute_biggest_ring (gear *g, - double *posP, double *sizeP, - double *heightP); - -#endif /* __GEAR_INVOLUTE_H__ */ |
