Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/Geant4/tools/glutess/_glu is written in an unsupported language. File is not indexed.

0001 /*
0002    G.Barrand : glu.h of Mesa-7.8.1 but containing only tess related material.
0003    We bring also the needed material from gl.h.
0004  */
0005 
0006 #ifndef tools_glutess__glu
0007 #define tools_glutess__glu
0008 
0009 #include "rename"
0010 
0011 /* //////////////////////////////////////////////////////////////// */
0012 /* //////////////////////////////////////////////////////////////// */
0013 
0014 typedef unsigned int    GLUenum;
0015 typedef void            GLUvoid;
0016 typedef double          GLUdouble;
0017 
0018 typedef unsigned char   GLUboolean;
0019 typedef float           GLUfloat;       /* single precision float */
0020 typedef double          GLUclampd;      /* double precision float in [0,1] */
0021 
0022 /* //////////////////////////////////////////////////////////////// */
0023 /* //////////////////////////////////////////////////////////////// */
0024 /* //////////////////////////////////////////////////////////////// */
0025 
0026 /* TessCallback */
0027 #define GLU_TESS_BEGIN_DATA                100106
0028 #define GLU_TESS_VERTEX_DATA               100107
0029 #define GLU_TESS_END_DATA                  100108
0030 #define GLU_TESS_ERROR_DATA                100109
0031 #define GLU_TESS_COMBINE_DATA              100111
0032 
0033 /* TessProperty */
0034 #define GLU_TESS_WINDING_RULE              100140
0035 //#define GLU_TESS_TOLERANCE                 100142
0036 
0037 /* TessWinding */
0038 #define GLU_TESS_WINDING_ODD               100130
0039 #define GLU_TESS_WINDING_POSITIVE          100132
0040 #define GLU_TESS_WINDING_NEGATIVE          100133
0041 
0042 /*************************************************************/
0043 
0044 // mesa glu has the below for Windows.
0045 //#define GLUAPIENTRY __stdcall
0046 //typedef void (__stdcall* _GLUfuncptr)();
0047 
0048 #define GLUAPIENTRY
0049 typedef void (* _GLUfuncptr)();
0050 
0051 #define GLUAPI
0052 
0053 typedef struct GLUtesselator GLUtesselator;
0054 
0055 typedef GLUtesselator GLUtesselatorObj;
0056 typedef GLUtesselator GLUtriangulatorObj;
0057 
0058   /*
0059 GLUAPI GLUtesselator* GLUAPIENTRY gluNewTess (void);
0060 GLUAPI void GLUAPIENTRY gluDeleteTess (GLUtesselator* tess);
0061 
0062 GLUAPI void GLUAPIENTRY gluTessBeginContour (GLUtesselator* tess);
0063 GLUAPI void GLUAPIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLUvoid* data);
0064 GLUAPI void GLUAPIENTRY gluTessCallback (GLUtesselator* tess, GLUenum which, _GLUfuncptr CallBackFunc);
0065 GLUAPI void GLUAPIENTRY gluTessEndContour (GLUtesselator* tess);
0066 GLUAPI void GLUAPIENTRY gluTessEndPolygon (GLUtesselator* tess);
0067 GLUAPI void GLUAPIENTRY gluTessNormal (GLUtesselator* tess, GLUdouble valueX, GLUdouble valueY, GLUdouble valueZ);
0068 GLUAPI void GLUAPIENTRY gluTessProperty (GLUtesselator* tess, GLUenum which, GLUdouble data);
0069 GLUAPI void GLUAPIENTRY gluTessVertex (GLUtesselator* tess, GLUdouble *location, GLUvoid* data);
0070   */
0071 
0072 #define GLU_MIN(x,y)    ((x) <= (y) ? (x) : (y))
0073 #define GLU_MAX(x,y)    ((x) >= (y) ? (x) : (y))
0074 #define GLU_ABS(x)      ((x) < 0 ? -(x) : (x))
0075 
0076 /* //////////////////////////////////////////////////////////////// */
0077 /* //////////////////////////////////////////////////////////////// */
0078 /* //////////////////////////////////////////////////////////////// */
0079 
0080 /* Boolean values */
0081 #define TOOLS_GLU_FALSE   0x0
0082 #define TOOLS_GLU_TRUE    0x1
0083 
0084 /* Primitives */
0085 #define GLU_LINE_LOOP                           0x0002
0086 #define GLU_TRIANGLES                           0x0004
0087 #define GLU_TRIANGLE_STRIP                      0x0005
0088 #define GLU_TRIANGLE_FAN                        0x0006
0089 
0090 #define GLU_TESS_MAX_COORD 1.0e150
0091 
0092 /* ErrorCode */
0093 #define GLU_INVALID_ENUM                   100900
0094 #define GLU_INVALID_VALUE                  100901
0095 #define GLU_OUT_OF_MEMORY                  100902
0096 #define GLU_INCOMPATIBLE_GL_VERSION        100903
0097 #define GLU_INVALID_OPERATION              100904
0098 
0099 /* TessCallback */
0100 #define GLU_TESS_BEGIN                     100100
0101 #define GLU_TESS_VERTEX                    100101
0102 #define GLU_TESS_END                       100102
0103 #define GLU_TESS_ERROR                     100103
0104 #define GLU_TESS_EDGE_FLAG                 100104
0105 #define GLU_EDGE_FLAG                      100104
0106 #define GLU_TESS_COMBINE                   100105
0107 #define GLU_TESS_EDGE_FLAG_DATA            100110
0108 
0109 /* TessContour */
0110 #define GLU_CW                             100120
0111 #define GLU_CCW                            100121
0112 #define GLU_INTERIOR                       100122
0113 #define GLU_EXTERIOR                       100123
0114 #define GLU_UNKNOWN                        100124
0115 
0116 /* TessProperty */
0117 #define GLU_TESS_BOUNDARY_ONLY             100141
0118 #define GLU_TESS_TOLERANCE                 100142
0119 
0120 /* TessError */
0121 #define GLU_TESS_ERROR1                    100151
0122 #define GLU_TESS_ERROR2                    100152
0123 #define GLU_TESS_ERROR3                    100153
0124 #define GLU_TESS_ERROR4                    100154
0125 #define GLU_TESS_ERROR5                    100155
0126 #define GLU_TESS_ERROR6                    100156
0127 #define GLU_TESS_ERROR7                    100157
0128 #define GLU_TESS_ERROR8                    100158
0129 #define GLU_TESS_MISSING_BEGIN_POLYGON     100151
0130 #define GLU_TESS_MISSING_BEGIN_CONTOUR     100152
0131 #define GLU_TESS_MISSING_END_POLYGON       100153
0132 #define GLU_TESS_MISSING_END_CONTOUR       100154
0133 #define GLU_TESS_COORD_TOO_LARGE           100155
0134 #define GLU_TESS_NEED_COMBINE_CALLBACK     100156
0135 
0136 /* TessWinding */
0137 #define GLU_TESS_WINDING_NONZERO           100131
0138 #define GLU_TESS_WINDING_ABS_GEQ_TWO       100134
0139 
0140 #endif /* __glu_h__ */