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__ */