/* * pipes.def.ray * * Various defines to make up pipe sections * * Stuart Warmink, February 1993 * sw@groucho.att.com * * Feel free to use and/or distribute for non-commercial purposes as long * as this header remains with the file. * */ #define PL 36 /* pipe length */ #define FL 7 /* flange length (PL + FL = UL = 5)*/ #define RO 3 /* outside radius of pipe */ #define RI 2.5 /* inside radius of pipe */ #define TF 1.2 /* flange thickness */ #define FRO (RO+TF) /* flange outside radius */ #define RF 6 /* flange joiner radius */ #define BL 2.5 /* length of straight bits on bend */ #define TR 0.9*FL /* radius of sphere at Tee */ #define RS 1 /* radius of valve screw */ #define RH 8 /* major radius of valve handle */ #define RT 1 /* minor radius of valve handle */ #define SW 0.8 /* half-width of valve spokes */ #define ST 0.3 /* half-thickness of valve spokes */ #define SH 2.5 /* radius of spoke hub */ #define VH 1.6*FL /* height of valve wheel above center of pipe */ #define TEXTURE texture bump 0.2 scale 0.2 0.2 0.2 surface pipe_grey ambient 0.4 0.4 0.4 diffuse 0.4 0.4 0.4 #ifdef SHINY reflect 0.3 specular 1 1 1 specpow 100 #endif surface fitting_grey ambient 0.3 0.3 0.3 diffuse 0.3 0.3 0.3 #ifdef SHINY reflect 0.1 specular 1 1 1 specpow 60 #endif surface valve_red ambient 0.4 0 0 diffuse 0.4 0 0 reflect 0.2 specular 1 1 1 specpow 60 surface screw_grey ambient 0.2 0.2 0.2 diffuse 0.2 0.2 0.2 name Unit_cylinder list disc 1 0 0 0 -1 0 0 cylinder 1 0 0 0 1 0 0 disc 1 1 0 0 1 0 0 end name Pipe object pipe_grey Unit_cylinder scale (PL) (RO) (RO) translate (FL) 0 0 name Pipe_joint object pipe_grey Unit_cylinder scale (2*(FL)) (RO) (RO) translate (-FL) 0 0 name Flange_plate object Unit_cylinder scale (TF) (RF) (RF) name Flange difference union object Flange_plate object Unit_cylinder scale (FL) (FRO) (FRO) #ifdef BUMP TEXTURE #endif end object Unit_cylinder scale (FL) (RI) (RI) translate (-TF) 0 0 end name Flange_closed list object Flange object Flange_plate rotate 0 0 1 180 end name Tee union list object Unit_cylinder scale (FL) (FRO) (FRO) object Unit_cylinder scale (FL) (FRO) (FRO) rotate 0 0 1 90 object Unit_cylinder scale (FL) (FRO) (FRO) rotate 0 0 1 180 end sphere (TR) 0 0 0 end #ifdef BUMP TEXTURE #endif name Valve_handle union object screw_grey Unit_cylinder scale ((VH)-(FL)) (RS) (RS) rotate 0 1 0 90 union list box valve_red (RH) (SW) (ST) (-RH) (-SW) (-ST) rotate 0 0 1 45 box valve_red (RH) (SW) (ST) (-RH) (-SW) (-ST) rotate 0 0 1 135 end list torus valve_red (RH) (RT) 0 0 0 0 0 1 sphere valve_red (SH) 0 0 0 end end end name Valve list object Tee object Valve_handle rotate 1 0 0 -90 translate 0 (VH) 0 end name Bend union intersect torus (FL) (RO) (FL) (FL) 0 0 0 1 box (FL) (FL) (FL) (-FL) (-FL) (-FL) end list object Unit_cylinder scale (BL) (FRO) (FRO) translate ((FL)-(BL)) 0 0 object Unit_cylinder scale (BL) (FRO) (FRO) translate ((FL)-(BL)) 0 0 rotate 0 0 1 90 end end #ifdef BUMP TEXTURE #endif