28#define TESS_MAX_CACHE 100 
   30typedef struct CachedVertex
 
   42    GLUhalfEdge *lastEdge; 
 
   46    void(GLAPIENTRY *callError)(GLenum errnum);
 
   56    GLdouble relTolerance; 
 
   64    void(GLAPIENTRY *callCombine)(GLdouble coords[3], 
void *data[4], GLfloat weight[4], 
void **outData);
 
   68    GLboolean flagBoundary; 
 
   69    GLboolean boundaryOnly; 
 
   70    GLUface *lonelyTriList;
 
   73    void(GLAPIENTRY *callBegin)(GLenum 
type);
 
   74    void(GLAPIENTRY *callEdgeFlag)(GLboolean boundaryEdge);
 
   75    void(GLAPIENTRY *callVertex)(
void *data);
 
   76    void(GLAPIENTRY *callEnd)(void);
 
   77    void(GLAPIENTRY *callMesh)(GLUmesh *mesh);
 
   83    CachedVertex cache[TESS_MAX_CACHE]; 
 
   86    void(GLAPIENTRY *callBeginData)(GLenum 
type, 
void *polygonData);
 
   87    void(GLAPIENTRY *callEdgeFlagData)(GLboolean boundaryEdge, 
void *polygonData);
 
   88    void(GLAPIENTRY *callVertexData)(
void *data, 
void *polygonData);
 
   89    void(GLAPIENTRY *callEndData)(
void *polygonData);
 
   90    void(GLAPIENTRY *callErrorData)(GLenum errnum, 
void *polygonData);
 
   91    void(GLAPIENTRY *callCombineData)(GLdouble coords[3], 
void *data[4], GLfloat weight[4], 
void **outData,
 
   99void GLAPIENTRY __gl_noBeginData(GLenum type, 
void *polygonData);
 
  100void GLAPIENTRY __gl_noEdgeFlagData(GLboolean boundaryEdge, 
void *polygonData);
 
  101void GLAPIENTRY __gl_noVertexData(
void *data, 
void *polygonData);
 
  102void GLAPIENTRY __gl_noEndData(
void *polygonData);
 
  103void GLAPIENTRY __gl_noErrorData(GLenum errnum, 
void *polygonData);
 
  104void GLAPIENTRY __gl_noCombineData(GLdouble coords[3], 
void *data[4], GLfloat weight[4], 
void **outData,
 
  107#define CALL_BEGIN_OR_BEGIN_DATA(a)                     \ 
  108    if (tess->callBeginData != &__gl_noBeginData)       \ 
  109        (*tess->callBeginData)((a), tess->polygonData); \ 
  111        (*tess->callBegin)((a)); 
  113#define CALL_VERTEX_OR_VERTEX_DATA(a)                    \ 
  114    if (tess->callVertexData != &__gl_noVertexData)      \ 
  115        (*tess->callVertexData)((a), tess->polygonData); \ 
  117        (*tess->callVertex)((a)); 
  119#define CALL_EDGE_FLAG_OR_EDGE_FLAG_DATA(a)                \ 
  120    if (tess->callEdgeFlagData != &__gl_noEdgeFlagData)    \ 
  121        (*tess->callEdgeFlagData)((a), tess->polygonData); \ 
  123        (*tess->callEdgeFlag)((a)); 
  125#define CALL_END_OR_END_DATA()                   \ 
  126    if (tess->callEndData != &__gl_noEndData)    \ 
  127        (*tess->callEndData)(tess->polygonData); \ 
  131#define CALL_COMBINE_OR_COMBINE_DATA(a, b, c, d)                         \ 
  132    if (tess->callCombineData != &__gl_noCombineData)                    \ 
  133        (*tess->callCombineData)((a), (b), (c), (d), tess->polygonData); \ 
  135        (*tess->callCombine)((a), (b), (c), (d)); 
  137#define CALL_ERROR_OR_ERROR_DATA(a)                     \ 
  138    if (tess->callErrorData != &__gl_noErrorData)       \ 
  139        (*tess->callErrorData)((a), tess->polygonData); \ 
  141        (*tess->callError)((a)); 
Type type(const QSqlDatabase &db)