00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ROOT_X3DDefs
00012 #define ROOT_X3DDefs
00013
00014
00015
00016
00017 #ifdef USE_INTS
00018
00019 #define SHIFT 12
00020 #define TRIG_ADJ 4096.0
00021 typedef int number;
00022
00023 #else
00024
00025 #define TRIG_ADJ 1.0
00026 typedef float number;
00027
00028 #endif
00029
00030 typedef struct POINT point;
00031 typedef struct SEGMENT segment;
00032 typedef struct POLYGON polygon;
00033 typedef struct COLOR_ Color;
00034
00035
00036 typedef struct {
00037 short x, y;
00038 } _XPoint;
00039
00040
00041 struct POINT {
00042 int ClipFlags;
00043 int visibility;
00044 number x,y,z;
00045 float RX,BX,Y;
00046 _XPoint R;
00047 short sBX;
00048 float dist;
00049 int numSegs;
00050 segment **segs;
00051 int numPolys;
00052 polygon **polys;
00053 point *redNext;
00054 point *blueNext;
00055 };
00056
00057 struct SEGMENT{
00058 point *P, *Q;
00059 Color *color;
00060 int numPolys;
00061 polygon **polys;
00062 };
00063
00064 struct POLYGON{
00065 segment *m, *n;
00066 float minDist, maxDist;
00067 polygon *next;
00068 float dist;
00069 int visibility;
00070 Color *color;
00071 int numPoints;
00072 point **points;
00073 int numSegs;
00074 segment **segs;
00075 };
00076
00077 struct COLOR_{
00078 long value;
00079 long stereoColor;
00080 int stipple;
00081 int red, green, blue;
00082 };
00083
00084 #endif