summaryrefslogtreecommitdiff
path: root/polyinfo.h
blob: daf68db5d86b63f824156e407a9be39b941b9b3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* polyinfo.h
 * This is the description of one polyhedron file
 */

#define MAXVERTS 120
	/* great rhombicosidodecahedron has 120 vertices */
#define MAXNV MAXVERTS
#define MAXFACES 30
	/* (hexakis icosahedron has 120 faces) */
#define MAXEDGES 180
	/* great rhombicosidodecahedron has 180 edges */
#define MAXEDGESPERPOLY 20

typedef struct {
	double x, y, z;
} Point3D;

/* structure of the include files which define the polyhedra */
struct polyinfo {
	const char *longname;	/* long name of object */
	const char *shortname;	/* short name of object */
	const char *dual;	/* long name of dual */
	int numverts;		/* number of vertices */
	int numedges;		/* number of edges */
	int numfaces;		/* number of faces */
	Point3D v[MAXVERTS];	/* the vertices */
	int f[MAXEDGES*2+MAXFACES];	/* the faces */
};
typedef const struct polyinfo Polyinfo;

/* end */