11fb077a1Smrg/* polyinfo.h 21fb077a1Smrg * This is the description of one polyhedron file 31fb077a1Smrg */ 41fb077a1Smrg 51fb077a1Smrg#define MAXVERTS 120 61fb077a1Smrg /* great rhombicosidodecahedron has 120 vertices */ 71fb077a1Smrg#define MAXNV MAXVERTS 81fb077a1Smrg#define MAXFACES 30 91fb077a1Smrg /* (hexakis icosahedron has 120 faces) */ 101fb077a1Smrg#define MAXEDGES 180 111fb077a1Smrg /* great rhombicosidodecahedron has 180 edges */ 121fb077a1Smrg#define MAXEDGESPERPOLY 20 131fb077a1Smrg 141fb077a1Smrgtypedef struct { 151fb077a1Smrg double x, y, z; 161fb077a1Smrg} Point3D; 171fb077a1Smrg 181fb077a1Smrg/* structure of the include files which define the polyhedra */ 19ae51dfb6Smrgstruct polyinfo { 201fb077a1Smrg const char *longname; /* long name of object */ 211fb077a1Smrg const char *shortname; /* short name of object */ 221fb077a1Smrg const char *dual; /* long name of dual */ 231fb077a1Smrg int numverts; /* number of vertices */ 241fb077a1Smrg int numedges; /* number of edges */ 251fb077a1Smrg int numfaces; /* number of faces */ 261fb077a1Smrg Point3D v[MAXVERTS]; /* the vertices */ 271fb077a1Smrg int f[MAXEDGES*2+MAXFACES]; /* the faces */ 28ae51dfb6Smrg}; 29ae51dfb6Smrgtypedef const struct polyinfo Polyinfo; 301fb077a1Smrg 311fb077a1Smrg/* end */ 32