//a building based loosely on one in Newark, New Jersey SIZE = 1.0; FLOORS = 15; //textures brown = new UniformTexture(); brown.diffuseColor.setRGB(0.6,0.5,0.1); win = new UniformTexture(); win.diffuseColor.setRGB(0.6,0.6,0.6); win.shininess = 1.0f; win.specularity = 0.5f; white = new UniformTexture(); white.diffuseColor.setRGB(0.85,0.85,0.85); //windows box = new Cube(14*SIZE,SIZE*FLOORS,3*SIZE); box.setTexture(win,win.getDefaultMapping(box)); pos = new Vec3(0,FLOORS*SIZE/2.0,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); //white bars box = new Cube(0.5*SIZE,SIZE*(FLOORS+0.25),0.5*SIZE); box.setTexture(white, white.getDefaultMapping(box)); for (i=-1;i<2;i=i+2) { for (j=-1;j<2;j=j+2) { pos = new Vec3(i*7.2*SIZE,(FLOORS+0.25)*SIZE/2.0,j*1.7*SIZE); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); } } box = new Cube(14.9*SIZE,0.5*SIZE,3.9*SIZE); box.setTexture(white, white.getDefaultMapping(box)); pos = new Vec3(0,(FLOORS+0.25)*SIZE,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); //horizontals box = new Cube(3.9*SIZE,0.5*SIZE,3.1*SIZE); box.setTexture(brown, brown.getDefaultMapping(box)); for (i=0;i<=FLOORS;i++) { pos = new Vec3(5*SIZE,i*SIZE,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(-5*SIZE,i*SIZE,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); } box = new Cube(2.1*SIZE,0.5*SIZE,3.1*SIZE); box.setTexture(brown, brown.getDefaultMapping(box)); for (i=0;i<=FLOORS;i++) { pos = new Vec3(0,i*SIZE,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); } //verticals box = new Cube(0.6*SIZE,SIZE*FLOORS,0.1*SIZE); box.setTexture(brown, brown.getDefaultMapping(box)); for (i=-1;i<2;i=i+2) { for (j=3;j<=7;j++) { pos = new Vec3(j*SIZE,SIZE*FLOORS/2.0,i*1.5*SIZE); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(-j*SIZE,SIZE*FLOORS/2.0,i*1.5*SIZE); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); } for (j=-1;j<2;j++) { pos = new Vec3(j*SIZE,SIZE*FLOORS/2.0,i*1.5*SIZE); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); } pos = new Vec3(7*SIZE,SIZE*FLOORS/2.0,i*1.15*SIZE); script.addObject(box, new CoordinateSystem(pos, 0,90,0)); pos = new Vec3(-7*SIZE,SIZE*FLOORS/2.0,i*1.15*SIZE); script.addObject(box, new CoordinateSystem(pos, 0,90,0)); } //balconies box = new Cube(1.7*SIZE,0.1*SIZE,4.5*SIZE); box.setTexture(white, white.getDefaultMapping(box)); bar = new Cube(1.7*SIZE,0.2*SIZE, 0.02*SIZE); bar.setTexture(white, white.getDefaultMapping(bar)); bar2 = new Cube(0.02*SIZE,0.2*SIZE,4.5*SIZE); bar2.setTexture(white, white.getDefaultMapping(bar2)); for (i=0;i