PShapeOpenGL uses close field from parent PShape, this takes care of

#2035
This commit is contained in:
codeanticode
2013-09-03 11:51:04 -04:00
parent 39d2287f12
commit bb518933b0
3 changed files with 8 additions and 72 deletions

View File

@@ -307,35 +307,6 @@ public class PGraphics2D extends PGraphicsOpenGL {
} else if (type == PShape.GEOMETRY) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
}
/*
if (type == POINTS) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(POINTS);
} else if (type == LINES) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(LINES);
} else if (type == TRIANGLE || type == TRIANGLES) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(TRIANGLES);
} else if (type == TRIANGLE_FAN) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(TRIANGLE_FAN);
} else if (type == TRIANGLE_STRIP) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(TRIANGLE_STRIP);
} else if (type == QUAD || type == QUADS) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(QUADS);
} else if (type == QUAD_STRIP) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(QUAD_STRIP);
} else if (type == POLYGON) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(POLYGON);
}
*/
shape.is3D(false);
return shape;
}

View File

@@ -178,38 +178,6 @@ public class PGraphics3D extends PGraphicsOpenGL {
} else if (type == PShape.GEOMETRY) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
}
/*
(type == POINTS) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(POINTS);
} else if (type == LINES) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(LINES);
} else if (type == TRIANGLE || type == TRIANGLES) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(TRIANGLES);
} else if (type == TRIANGLE_FAN) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(TRIANGLE_FAN);
} else if (type == TRIANGLE_STRIP) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(TRIANGLE_STRIP);
} else if (type == QUAD || type == QUADS) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(QUADS);
} else if (type == QUAD_STRIP) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(QUAD_STRIP);
} else if (type == POLYGON) {
shape = new PShapeOpenGL(parent, PShape.GEOMETRY);
shape.setKind(POLYGON);
}
*/
shape.is3D(true);
return shape;
}

View File

@@ -162,12 +162,9 @@ public class PShapeOpenGL extends PShape {
protected boolean tessellated;
protected boolean needBufferInit = false;
// protected boolean polyBuffersCreated = false;
// protected boolean lineBuffersCreated = false;
// protected boolean pointBuffersCreated = false;
protected boolean isSolid;
protected boolean isClosed;
// Flag to indicate if the shape can have holes or not.
protected boolean solid;
protected boolean breakShape = false;
protected boolean shapeCreated = false;
@@ -951,7 +948,7 @@ public class PShapeOpenGL extends PShape {
child.solid(solid);
}
} else {
isSolid = solid;
this.solid = solid;
}
}
@@ -1090,7 +1087,7 @@ public class PShapeOpenGL extends PShape {
// size, which might lead to arrays larger than the vertex counts.
inGeo.trim();
isClosed = mode == CLOSE;
close = mode == CLOSE;
markForTessellation();
shapeCreated = true;
}
@@ -2531,8 +2528,8 @@ public class PShapeOpenGL extends PShape {
if (normalMode == NORMAL_MODE_AUTO) inGeo.calcQuadStripNormals();
tessellator.tessellateQuadStrip();
} else if (kind == POLYGON) {
if (stroke) inGeo.addPolygonEdges(isClosed);
tessellator.tessellatePolygon(isSolid, isClosed,
if (stroke) inGeo.addPolygonEdges(close);
tessellator.tessellatePolygon(solid, close,
normalMode == NORMAL_MODE_AUTO);
}
} else if (family == PRIMITIVE) {
@@ -2924,8 +2921,8 @@ public class PShapeOpenGL extends PShape {
}
}
if (stroke) inGeo.addPolygonEdges(isClosed);
tessellator.tessellatePolygon(false, isClosed, true);
if (stroke) inGeo.addPolygonEdges(close);
tessellator.tessellatePolygon(false, close, true);
}