[#1679] Render finset even if zero length

This commit is contained in:
SiboVG 2022-11-30 13:12:48 +01:00
parent 87b021749f
commit 7ffaabcda4

View File

@ -81,7 +81,7 @@ public class FinRenderer {
GLU.gluTessCallback(tess, GLU.GLU_TESS_COMBINE, cb); GLU.gluTessCallback(tess, GLU.GLU_TESS_COMBINE, cb);
// fin side: +z // fin side: +z
if (finSet.getSpan() > 0 && finSet.getLength() > 0 && which == Surface.INSIDE) { // Right side if (finSet.getSpan() > 0 && which == Surface.INSIDE) { // Right side
GLU.gluTessBeginPolygon(tess, null); GLU.gluTessBeginPolygon(tess, null);
GLU.gluTessBeginContour(tess); GLU.gluTessBeginContour(tess);
gl.glNormal3f(0, 0, 1); gl.glNormal3f(0, 0, 1);
@ -110,7 +110,7 @@ public class FinRenderer {
} }
// fin side: -z // fin side: -z
if (finSet.getSpan() > 0 && finSet.getLength() > 0 && which == Surface.OUTSIDE) { // Left side if (finSet.getSpan() > 0 && which == Surface.OUTSIDE) { // Left side
GLU.gluTessBeginPolygon(tess, null); GLU.gluTessBeginPolygon(tess, null);
GLU.gluTessBeginContour(tess); GLU.gluTessBeginContour(tess);
gl.glNormal3f(0, 0, -1); gl.glNormal3f(0, 0, -1);
@ -142,7 +142,7 @@ public class FinRenderer {
GLU.gluDeleteTess(tess); GLU.gluDeleteTess(tess);
// Fin strip around the edge // Fin strip around the edge
if (finSet.getSpan() > 0 && finSet.getLength() > 0 && which == Surface.EDGES) { if (finSet.getSpan() > 0 && which == Surface.EDGES) {
if (!(finSet instanceof EllipticalFinSet)) if (!(finSet instanceof EllipticalFinSet))
gl.glShadeModel(GLLightingFunc.GL_FLAT); gl.glShadeModel(GLLightingFunc.GL_FLAT);
gl.glBegin(GL.GL_TRIANGLE_STRIP); gl.glBegin(GL.GL_TRIANGLE_STRIP);