52#define TESS_MAX_CACHE 100
132 GLfloat weight[4],
void **outData,
135#define CALL_BEGIN_OR_BEGIN_DATA(a) \
136 if (tess->callBeginData != &__gl_noBeginData) \
137 (*tess->callBeginData)((a),tess->polygonData); \
138 else (*tess->callBegin)((a));
140#define CALL_VERTEX_OR_VERTEX_DATA(a) \
141 if (tess->callVertexData != &__gl_noVertexData) \
142 (*tess->callVertexData)((a),tess->polygonData); \
143 else (*tess->callVertex)((a));
145#define CALL_EDGE_FLAG_OR_EDGE_FLAG_DATA(a) \
146 if (tess->callEdgeFlagData != &__gl_noEdgeFlagData) \
147 (*tess->callEdgeFlagData)((a),tess->polygonData); \
148 else (*tess->callEdgeFlag)((a));
150#define CALL_END_OR_END_DATA() \
151 if (tess->callEndData != &__gl_noEndData) \
152 (*tess->callEndData)(tess->polygonData); \
153 else (*tess->callEnd)();
155#define CALL_COMBINE_OR_COMBINE_DATA(a,b,c,d) \
156 if (tess->callCombineData != &__gl_noCombineData) \
157 (*tess->callCombineData)((a),(b),(c),(d),tess->polygonData); \
158 else (*tess->callCombine)((a),(b),(c),(d));
160#define CALL_ERROR_OR_ERROR_DATA(a) \
161 if (tess->callErrorData != &__gl_noErrorData) \
162 (*tess->callErrorData)((a),tess->polygonData); \
163 else (*tess->callError)((a));
void(GLAPIENTRY *callVertex)(void *data)
void(GLAPIENTRY *callVertexData)(void *data
void(GLAPIENTRY *callEdgeFlagData)(GLboolean boundaryEdge
void(GLAPIENTRY *callErrorData)(GLenum errnum
void(GLAPIENTRY *callEdgeFlag)(GLboolean boundaryEdge)
void(GLAPIENTRY *callBegin)(GLenum type)
void(GLAPIENTRY *callMesh)(GLUmesh *mesh)
void(GLAPIENTRY *callEndData)(void *polygonData)
void(GLAPIENTRY *callError)(GLenum errnum)
void GLfloat void ** outData
void GLfloat void void * polygonData
void(GLAPIENTRY *callCombineData)(GLdouble coords[3]
CachedVertex cache[TESS_MAX_CACHE]
void(GLAPIENTRY *callEnd)(void)
void GLAPIENTRY __gl_noErrorData(GLenum errnum, void *polygonData)
void GLAPIENTRY __gl_noEdgeFlagData(GLboolean boundaryEdge, void *polygonData)
struct CachedVertex CachedVertex
void GLAPIENTRY __gl_noEndData(void *polygonData)
void GLAPIENTRY __gl_noVertexData(void *data, void *polygonData)
void GLAPIENTRY __gl_noCombineData(GLdouble coords[3], void *data[4], GLfloat weight[4], void **outData, void *polygonData)
void GLAPIENTRY __gl_noBeginData(GLenum type, void *polygonData)