summaryrefslogtreecommitdiff
path: root/xc/unsupported/programs/gpc/brftypes.h
blob: c7ed5cfd63add818145fd5b012589a35f0d74eff (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
/* $XConsortium$ */

/*
 */

/*--------------------------------------------------------------------*\
|
|  Copyright (C) 1989,1990, 1991, National Computer Graphics Association
|
|  Permission is granted to any individual or institution to use, copy, or
|  redistribute this software so long as it is not sold for profit, provided
|  this copyright notice is retained.
|
|                         Developed for the
|                National Computer Graphics Association
|                         2722 Merrilee Drive
|                         Fairfax, VA  22031
|                           (703) 698-9600
|
|                                by
|                 SimGraphics Engineering Corporation
|                    1137 Huntington Drive  Unit A
|                      South Pasadena, CA  91030
|                           (213) 255-0900
|---------------------------------------------------------------------
|
| Author        :	SimGraphics Engineering Corportation
|
| File          :	brftypes.h
| Date          :	Fri Feb  9 10:46:55 PST 1990
| Project       :	PLB
| Description   :	Defines the structure types for the BRF
| Status        :	Version 1.0
|
| Revisions     :	
|
\*--------------------------------------------------------------------*/

typedef struct 
{
	int	brf_flag;
	int	brf_start_frame;
	int	brf_end_frame;
	int	brf_num_frames;
} BRF_state;

#define BRF_COLLECT 0
#define BRF_INITIALIZE 1
#define BRF_REPORT 2
#define BRF_REPORT2 3
#define BRF_REPORT3 4

#define BRF_ENTITY_HEADER \
	int            entity_type;\
	union brf_all *next;\
	union brf_all *brf_totals; \
	int            (*handler)(); \
	char		*name; \
	int		times_called;\
	int		exceptions;\
	int		optional_data[7]; /* optional data groups */


#define BRF_DATA_BODY	\
	int		numCoords; \
	int		numFacets; \
	int		numEdges; \
	int		numContours; \
	int		vcolr; \
	int		vnorm; \
	int		fcolr; \
	int		fnorm; \
	int		evisi; 

/* ****************** */
/* General Structures */
/* ****************** */
typedef struct
{
	BRF_ENTITY_HEADER
} BRF_No_data;

typedef struct
{
	BRF_ENTITY_HEADER
	BRF_DATA_BODY
} BRF_With_data;

typedef BRF_No_data BRF_Any;
typedef BRF_With_data BRF_Any_With_Data;

typedef BRF_With_data BRF_Label;
typedef BRF_With_data BRF_Marker;
typedef BRF_With_data BRF_Marker3;
typedef BRF_With_data BRF_Line;
typedef BRF_With_data BRF_Line3;
typedef BRF_With_data BRF_Text;
typedef BRF_With_data BRF_Text3;
typedef BRF_With_data BRF_Annotationtext3;
typedef BRF_With_data BRF_Pixelmap3;
typedef BRF_With_data BRF_Gensphere3;
typedef BRF_With_data BRF_Gencircle;
typedef BRF_With_data BRF_Gencircle3;
typedef BRF_With_data BRF_Polygon;
typedef BRF_With_data BRF_Polygon3;
typedef BRF_With_data BRF_Fillareaset;
typedef BRF_With_data BRF_Fillareaset3;
typedef BRF_With_data BRF_Triangle3;
typedef BRF_With_data BRF_Quadmesh3;
typedef BRF_With_data BRF_Indexpolygons3;
typedef BRF_No_data BRF_Linetype;
typedef BRF_No_data BRF_Interiorshading;
typedef BRF_No_data BRF_Interiorlighting;
typedef BRF_No_data BRF_Backfaceprocessing;
typedef BRF_No_data BRF_Edgeflag;
typedef BRF_No_data BRF_Textfont;
typedef BRF_No_data BRF_Textprec;
typedef BRF_No_data BRF_Lightstate;
typedef BRF_No_data BRF_Depthcueindex;
typedef BRF_No_data BRF_Hlhsremoval;
typedef BRF_No_data BRF_Readgeometryfile;
typedef BRF_No_data BRF_Cleargeometry;
typedef BRF_No_data BRF_Beginstructure;
typedef BRF_No_data BRF_Endstructure;
typedef BRF_No_data BRF_Executestructure;
typedef BRF_No_data BRF_Callstructure;
typedef BRF_No_data BRF_Invokeatframe;
typedef BRF_No_data BRF_Defineviewspecification;
typedef BRF_No_data BRF_Definelight;
typedef BRF_No_data BRF_Markertype;
typedef BRF_No_data BRF_Markersize;
typedef BRF_No_data BRF_Markercolor;
typedef BRF_No_data BRF_Markercolorindex;
typedef BRF_No_data BRF_Linewidth;
typedef BRF_No_data BRF_Linecolor;
typedef BRF_No_data BRF_Linecolorindex;
typedef BRF_No_data BRF_Lineshading;
typedef BRF_No_data BRF_Interiorstyle;
typedef BRF_No_data BRF_Interiorpatternindex;
typedef BRF_No_data BRF_Interiorcolor;
typedef BRF_No_data BRF_Interiorcolorindex;
typedef BRF_No_data BRF_Backfaceinteriorcolor;
typedef BRF_No_data BRF_Backfaceinteriorcolorindex;
typedef BRF_No_data BRF_Surfaceproperties;
typedef BRF_No_data BRF_Backfaceproperties;
typedef BRF_No_data BRF_Edgetype;
typedef BRF_No_data BRF_Edgewidth;
typedef BRF_No_data BRF_Edgecolor;
typedef BRF_No_data BRF_Edgecolorindex;
typedef BRF_No_data BRF_Textcolor;
typedef BRF_No_data BRF_Textcolorindex;
typedef BRF_No_data BRF_Textpath;
typedef BRF_No_data BRF_Textalign;
typedef BRF_No_data BRF_Charheight;
typedef BRF_No_data BRF_Charexp;
typedef BRF_No_data BRF_Charspace;
typedef BRF_No_data BRF_Charupvector;
typedef BRF_No_data BRF_Annotextcharheight;
typedef BRF_No_data BRF_Annotextcharupvector;
typedef BRF_No_data BRF_Annotextstyle;
typedef BRF_No_data BRF_Identity3;
typedef BRF_No_data BRF_Concatmatrix3;
typedef BRF_No_data BRF_Invertmatrix3;
typedef BRF_No_data BRF_Rotate3;
typedef BRF_No_data BRF_Rotatexyz3;
typedef BRF_No_data BRF_Translate3;
typedef BRF_No_data BRF_Scale3;
typedef BRF_No_data BRF_Matrix3;
typedef BRF_No_data BRF_Getmatrix3;
typedef BRF_No_data BRF_Pushmatrix3;
typedef BRF_No_data BRF_Popmatrix3;
typedef BRF_No_data BRF_Globaltransformation3;
typedef BRF_No_data BRF_Localtransformation3;
typedef BRF_No_data BRF_Applytoglobal3;
typedef BRF_No_data BRF_Applytolocal3;
typedef BRF_No_data BRF_Vieworientation3;
typedef BRF_No_data BRF_Viewmapping3;
typedef BRF_No_data BRF_Activeview;
typedef BRF_No_data BRF_Begintest;
typedef BRF_No_data BRF_Endtest;
typedef BRF_No_data BRF_Pause;
typedef BRF_No_data BRF_Sleep;
typedef BRF_No_data BRF_Definecolor;
typedef BRF_No_data BRF_Backgroundcolor;
typedef BRF_No_data BRF_Backgroundcolorindex;
typedef BRF_No_data BRF_Defaultviewspecification;
typedef BRF_No_data BRF_Definedepthcue;
typedef BRF_No_data BRF_Configuration;

/* Union of all entities for easy recasting */
typedef union brf_all
{
	int entity_type;
	BRF_Any any;
	BRF_Any_With_Data any_with_data;

	BRF_Beginstructure beginstructure;
	BRF_Endstructure endstructure;
	BRF_Label label;
	BRF_Marker marker;
	BRF_Marker3 marker3;
	BRF_Line line;
	BRF_Line3 line3;
	BRF_Polygon polygon;
	BRF_Polygon3 polygon3;
	BRF_Fillareaset fillareaset;
	BRF_Fillareaset3 fillareaset3;
	BRF_Triangle3 triangle3;
	BRF_Quadmesh3 quadmesh3;
	BRF_Indexpolygons3 indexpolygons3;
	BRF_Gensphere3 gensphere3;
	BRF_Gencircle gencircle;
	BRF_Gencircle3 gencircle3;
	BRF_Text text;
	BRF_Text3 text3;
	BRF_Annotationtext3 annotationtext3;
	BRF_Pixelmap3 pixelmap3;
	BRF_Markertype markertype;
	BRF_Markersize markersize;
	BRF_Markercolor markercolor;
	BRF_Markercolorindex markercolorindex;
	BRF_Linetype linetype;
	BRF_Linewidth linewidth;
	BRF_Linecolor linecolor;
	BRF_Linecolorindex linecolorindex;
	BRF_Lineshading lineshading;
	BRF_Interiorstyle interiorstyle;
	BRF_Interiorpatternindex interiorpatternindex;
	BRF_Interiorcolor interiorcolor;
	BRF_Interiorcolorindex interiorcolorindex;
	BRF_Backfaceinteriorcolor backfaceinteriorcolor;
	BRF_Backfaceinteriorcolorindex backfaceinteriorcolorindex;
	BRF_Interiorshading interiorshading;
	BRF_Interiorlighting interiorlighting;
	BRF_Surfaceproperties surfaceproperties;
	BRF_Backfaceproperties backfaceproperties;
	BRF_Backfaceprocessing backfaceprocessing;
	BRF_Edgeflag edgeflag;
	BRF_Edgetype edgetype;
	BRF_Edgewidth edgewidth;
	BRF_Edgecolor edgecolor;
	BRF_Edgecolorindex edgecolorindex;
	BRF_Textfont textfont;
	BRF_Textprec textprec;
	BRF_Textcolor textcolor;
	BRF_Textcolorindex textcolorindex;
	BRF_Textpath textpath;
	BRF_Textalign textalign;
	BRF_Charheight charheight;
	BRF_Charexp charexp;
	BRF_Charspace charspace;
	BRF_Charupvector charupvector;
	BRF_Annotextcharheight annotextcharheight;
	BRF_Annotextcharupvector annotextcharupvector;
	BRF_Annotextstyle annotextstyle;
	BRF_Lightstate lightstate;
	BRF_Depthcueindex depthcueindex;
	BRF_Hlhsremoval hlhsremoval;
	BRF_Identity3 identity3;
	BRF_Concatmatrix3 concatmatrix3;
	BRF_Invertmatrix3 invertmatrix3;
	BRF_Rotate3 rotate3;
	BRF_Rotatexyz3 rotatexyz3;
	BRF_Translate3 translate3;
	BRF_Scale3 scale3;
	BRF_Matrix3 matrix3;
	BRF_Getmatrix3 getmatrix3;
	BRF_Pushmatrix3 pushmatrix3;
	BRF_Popmatrix3 popmatrix3;
	BRF_Globaltransformation3 globaltransformation3;
	BRF_Localtransformation3 localtransformation3;
	BRF_Applytoglobal3 applytoglobal3;
	BRF_Applytolocal3 applytolocal3;
	BRF_Vieworientation3 vieworientation3;
	BRF_Viewmapping3 viewmapping3;
	BRF_Activeview activeview;
	BRF_Executestructure executestructure;
	BRF_Callstructure callstructure;
	BRF_Readgeometryfile readgeometryfile;
	BRF_Cleargeometry cleargeometry;
	BRF_Begintest begintest;
	BRF_Endtest endtest;
	BRF_Pause pause;
	BRF_Sleep sleep;
	BRF_Invokeatframe invokeatframe;
	BRF_Definecolor definecolor;
	BRF_Backgroundcolor backgroundcolor;
	BRF_Backgroundcolorindex backgroundcolorindex;
	BRF_Defineviewspecification defineviewspecification;
	BRF_Defaultviewspecification defaultviewspecification;
	BRF_Definelight definelight;
	BRF_Definedepthcue definedepthcue;
	BRF_Configuration configuration;
} brf_all;

typedef union brf_all *BRF_table;