42 #ifdef CHECK_MEMORY_LEAKS
44 #endif // CHECK_MEMORY_LEAKS
58 const std::string name,
const std::string type,
62 :
Polygon(name, type, color, Pos, fill),
75 FXString t(
myType.c_str());
77 new FXMenuSeparator(ret);
107 const GLubyte* estring;
109 estring = gluErrorString(errorCode);
110 fprintf(stderr,
"Tessellation Error: %s\n", estring);
119 const GLdouble* pointer;
121 pointer = (GLdouble*) vertex;
122 glVertex3dv((GLdouble*) vertex);
126 GLdouble* vertex_data[4],
127 GLfloat weight[4], GLdouble** dataOut) {
132 vertex = (GLdouble*) malloc(7 *
sizeof(GLdouble));
134 vertex[0] = coords[0];
135 vertex[1] = coords[1];
136 vertex[2] = coords[2];
156 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
160 GLUtesselator* tobj = gluNewTess();
161 gluTessCallback(tobj, GLU_TESS_VERTEX, (GLvoid(APIENTRY*)()) &glVertex3dv);
162 gluTessCallback(tobj, GLU_TESS_BEGIN, (GLvoid(APIENTRY*)()) &
beginCallback);
163 gluTessCallback(tobj, GLU_TESS_END, (GLvoid(APIENTRY*)()) &
endCallback);
165 gluTessCallback(tobj, GLU_TESS_COMBINE, (GLvoid(APIENTRY*)()) &
combineCallback);
166 gluTessProperty(tobj, GLU_TESS_WINDING_RULE, GLU_TESS_WINDING_ODD);
167 gluTessBeginPolygon(tobj, NULL);
168 gluTessBeginContour(tobj);
172 points[3 * i + 2] = 0;
179 gluTessVertex(tobj, points + 3 * i, points + 3 * i) ;
181 gluTessEndContour(tobj);
183 gluTessEndPolygon(tobj);