noStroke and noFill in PShape3D now work when called after building the shape.

This commit is contained in:
codeanticode
2012-01-08 22:28:56 +00:00
parent ad7fe0c8ef
commit 45160dd538
2 changed files with 26 additions and 3 deletions
@@ -1,4 +1,6 @@
PShape circle;
boolean filled = true;
boolean stroked = true;
public void setup() {
size(400, 400, P3D);
@@ -14,10 +16,28 @@ public void draw () {
background(0);
if (5000 < millis()) {
circle.fill(map(mouseX, 0, width, 255, 0), 0, 0);
circle.stroke(0, 0, map(mouseY, 0, height, 255, 0));
if (filled) circle.fill(map(mouseX, 0, width, 255, 0), 0, 0);
if (stroked) circle.stroke(0, 0, map(mouseY, 0, height, 255, 0));
}
translate(mouseX, mouseY);
shape(circle);
}
void keyPressed() {
if (key == 's') {
if (stroked) {
circle.noStroke();
stroked = false;
} else {
stroked = true;
}
} else if (key == 'f') {
if (filled) {
circle.noFill();
filled = false;
} else {
filled = true;
}
}
}
@@ -598,7 +598,8 @@ public class PShape3D extends PShape {
public void noFill() {
fill = false;
// What to do here? re-tessellate or change alpha to 0?
colorCalc(0, 0);
fillFromCalc();
}
public void fill(int rgb) {
@@ -670,6 +671,8 @@ public class PShape3D extends PShape {
public void noStroke() {
stroke = false;
colorCalc(0, 0);
strokeFromCalc();
}