class Model { private float x=400, y=230, z=-13; private float wid=75, dep=22; private float legHei = 15; private float sitHei = 3; private float leaHei = 15; private float bright = 1.0; private Sequence controlSequence; Model() { } public void setScreenPos(float _x, float _y, float _z) { x = _x; y = _y; z = -_z; } public void controlledBy(Sequence s) { controlSequence = s; } public void updateBrightness(float p) { bright = p; } public void draw() { color wood = color(196*bright,169*bright,101*bright); color cush = color(210*bright,210*bright,245*bright); color cush2 = color(180*bright,180*bright,180*bright); //stroke(128*bright,128*bright,128*bright); noStroke(); pushMatrix(); translate(x,z,y); rotateY(0.55); // LEGS: fill(wood); pushMatrix(); translate(-wid/2.0+1,-legHei/2.0,-dep/2.0+1); box(2,legHei,2); popMatrix(); pushMatrix(); translate(-wid/2.0+1,-legHei/2.0,dep/2.0-1); box(2,legHei,2); popMatrix(); pushMatrix(); translate(wid/2.0-1,-legHei/2.0,-dep/2.0+1); box(2,legHei,2); popMatrix(); pushMatrix(); translate(wid/2.0-1,-legHei/2.0,dep/2.0-1); box(2,legHei,2); popMatrix(); fill(wood); pushMatrix(); translate(0,-legHei-sitHei/2.0,0); box(wid,sitHei,dep); popMatrix(); // cushion: fill(cush); pushMatrix(); translate(0,-legHei-sitHei-sitHei/2.0,0); box(wid-4,sitHei,dep); popMatrix(); // lean wood: fill(wood); pushMatrix(); translate(-wid/2.0+1,-legHei-sitHei-leaHei/2.0,dep/2.0-1); box(2,leaHei,2); popMatrix(); pushMatrix(); translate(wid/2.0-1,-legHei-sitHei-leaHei/2.0,dep/2.0-1); box(2,leaHei,2); popMatrix(); // lean cushion: fill(cush2); pushMatrix(); translate(-wid/2.0+1,-legHei-sitHei-leaHei/2.0,0); box(2,leaHei,dep-2); popMatrix(); pushMatrix(); translate(wid/2.0-1,-legHei-sitHei-leaHei/2.0,0); box(2,leaHei,dep-2); popMatrix(); pushMatrix(); translate(0,-legHei-sitHei-leaHei/2.0,-dep/2.0-1); box(wid-2,leaHei,2); popMatrix(); popMatrix(); } }