summaryrefslogtreecommitdiff
path: root/dxftess.cc
diff options
context:
space:
mode:
authorkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-01-06 19:38:45 (GMT)
committerkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-01-06 19:38:45 (GMT)
commit6fdfde289b2ac09ebbfc30b104f26cdd8af0d823 (patch)
treef792fda659e5d1bb9042b61bd32014c02069493b /dxftess.cc
parenta96752e37812e7b2cf0d7e3a940186cafb912ac9 (diff)
Fixed typos in classnames
git-svn-id: http://svn.clifford.at/openscad/trunk@220 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'dxftess.cc')
-rw-r--r--dxftess.cc52
1 files changed, 51 insertions, 1 deletions
diff --git a/dxftess.cc b/dxftess.cc
index 00a2f0e..a2c3c31 100644
--- a/dxftess.cc
+++ b/dxftess.cc
@@ -123,6 +123,44 @@ static void STDCALL tess_error(GLenum errno)
PRINTF("GLU tesselation error %d!", errno);
}
+static void STDCALL tess_begin_data()
+{
+ PRINTF("GLU tesselation BEGIN_DATA\n");
+}
+
+static void STDCALL tess_edge_flag(GLboolean flag)
+{
+// PRINTF("GLU tesselation EDGE_FLAG\n");
+}
+
+static void STDCALL tess_edge_flag_data(GLboolean flag, void *polygon_data)
+{
+ PRINTF("GLU tesselation EDGE_FLAG_DATA\n");
+}
+static void STDCALL tess_vertex_data(void *vertex_data, void *polygon_data)
+{
+ PRINTF("GLU tesselation VERTEX_DATA\n");
+}
+static void STDCALL tess_end_data(void *polygon_data)
+{
+ PRINTF("GLU tesselation END_DATA\n");
+}
+static void STDCALL tess_combine(GLdouble coords[3], void *vertex_data[4],
+ GLfloat weight[4], void **outData )
+{
+ PRINTF("GLU tesselation COMBINE\n");
+}
+static void STDCALL tess_combine_data(GLdouble coords[3], void *vertex_data[4],
+ GLfloat weight[4], void **outData,
+ void *polygon_data)
+{
+ PRINTF("GLU tesselation COMBINE_DATA\n");
+}
+static void STDCALL tess_error_data(GLenum errno, void *polygon_data )
+{
+ PRINTF("GLU tesselation ERROR_DATA\n");
+}
+
static bool point_on_line(double *p1, double *p2, double *p3)
{
if (fabs(p1[0] - p2[0]) < 0.00001 && fabs(p1[1] - p2[1]) < 0.00001)
@@ -170,6 +208,17 @@ void dxf_tesselate(PolySet *ps, DxfData *dxf, double rot, bool up, bool do_trian
gluTessCallback(tobj, GLU_TESS_END, (void(STDCALL *)())&tess_end);
gluTessCallback(tobj, GLU_TESS_ERROR, (void(STDCALL *)())&tess_error);
+ gluTessCallback(tobj, GLU_TESS_EDGE_FLAG, (void(STDCALL *)())&tess_edge_flag);
+ gluTessCallback(tobj, GLU_TESS_COMBINE, (void(STDCALL *)())&tess_combine);
+
+/* gluTessCallback(tobj, GLU_TESS_BEGIN_DATA, (void(STDCALL *)())&tess_begin_data); */
+/* gluTessCallback(tobj, GLU_TESS_EDGE_FLAG_DATA, (void(STDCALL *)())&tess_edge_flag_data); */
+/* gluTessCallback(tobj, GLU_TESS_VERTEX_DATA, (void(STDCALL *)())&tess_vertex_data); */
+/* gluTessCallback(tobj, GLU_TESS_END_DATA, (void(STDCALL *)())&tess_end_data); */
+/* gluTessCallback(tobj, GLU_TESS_COMBINE_DATA, (void(STDCALL *)())&tess_combine_data); */
+/* gluTessCallback(tobj, GLU_TESS_ERROR_DATA, (void(STDCALL *)())&tess_error_data); */
+
+
tess_tri.clear();
QList<tess_vdata> vl;
@@ -204,7 +253,7 @@ void dxf_tesselate(PolySet *ps, DxfData *dxf, double rot, bool up, bool do_trian
gluTessEndPolygon(tobj);
gluDeleteTess(tobj);
-#if 0
+#if 1
for (int i = 0; i < tess_tri.count(); i++) {
printf("~~~\n");
printf(" %f %f %f\n", tess_tri[i].p[0][0], tess_tri[i].p[0][1], tess_tri[i].p[0][2]);
@@ -219,6 +268,7 @@ void dxf_tesselate(PolySet *ps, DxfData *dxf, double rot, bool up, bool do_trian
if (point_on_line(tess_tri[i].p[0], tess_tri[i].p[1], tess_tri[i].p[2]) ||
point_on_line(tess_tri[i].p[1], tess_tri[i].p[2], tess_tri[i].p[0]) ||
point_on_line(tess_tri[i].p[2], tess_tri[i].p[0], tess_tri[i].p[1])) {
+ printf("DEBUG: Removed triangle\n");
tess_tri.remove(i--);
}
}
contact: Jan Huwald // Impressum