//a building based loosely on the phone company building in my town //great for labs or schools or other institutional buildings SIZE = 1.0; FLOORS = 14;//at least 3 //textures white = new UniformTexture(); white.diffuseColor.setRGB(0.85,0.85,0.85); yellow = new UniformTexture(); yellow.diffuseColor.setRGB(0.7,0.7,0.25); dark = new UniformTexture(); dark.diffuseColor.setRGB(0.45,0.4,0.25); window = new UniformTexture(); window.diffuseColor.setRGB(0.5,0.5,0.5); window.specularity = 0.5f; window.shininess = 1.0f; //windows box = new Cube(19.35*SIZE,SIZE*FLOORS,19.35*SIZE); box.setTexture(window, window.getDefaultMapping(box)); pos = new Vec3(0,SIZE*FLOORS/2.0,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); //verticals for (i=-3;i<3;i++) { box = new Cube(1.6*SIZE,SIZE*FLOORS,1.6*SIZE); box.setTexture(white,white.getDefaultMapping(box)); x = 3*SIZE*i; xmax = 9*SIZE; pos = new Vec3(x+3*SIZE,SIZE*FLOORS/2,xmax); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(x,SIZE*FLOORS/2,-xmax); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(xmax,SIZE*FLOORS/2,x); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(-xmax,SIZE*FLOORS/2,x+3*SIZE); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); } for (i=-3;i<3;i++) { box = new Cube(0.1*SIZE,SIZE*FLOORS,SIZE*19.5); box.setTexture(yellow,yellow.getDefaultMapping(box)); x = 3*SIZE*i+0.8*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(box, new CoordinateSystem(pos, 0,90,0)); x = 3*SIZE*i+2.2*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(box, new CoordinateSystem(pos, 0,90,0)); bar = new Cube(0.02*SIZE,SIZE*FLOORS,SIZE*19.36); bar.setTexture(dark, dark.getDefaultMapping(bar)); x = 3*SIZE*i+0.85*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(bar, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(bar, new CoordinateSystem(pos, 0,90,0)); x = 3*SIZE*i+1.05*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(bar, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(bar, new CoordinateSystem(pos, 0,90,0)); x = 3*SIZE*i+1.25*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(bar, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(bar, new CoordinateSystem(pos, 0,90,0)); x = 3*SIZE*i+1.45*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(bar, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(bar, new CoordinateSystem(pos, 0,90,0)); box = new Cube(0.1*SIZE,SIZE*FLOORS,SIZE*19.37); box.setTexture(yellow,yellow.getDefaultMapping(box)); x = 3*SIZE*i+1.5*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(box, new CoordinateSystem(pos, 0,90,0)); x = 3*SIZE*i+1.55*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(bar, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(bar, new CoordinateSystem(pos, 0,90,0)); x = 3*SIZE*i+1.75*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(bar, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(bar, new CoordinateSystem(pos, 0,90,0)); x = 3*SIZE*i+1.95*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(bar, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(bar, new CoordinateSystem(pos, 0,90,0)); x = 3*SIZE*i+2.15*SIZE; pos = new Vec3(x,FLOORS*SIZE/2.0,0); script.addObject(bar, new CoordinateSystem(pos, 0,0,0)); pos = new Vec3(0,FLOORS*SIZE/2.0,x); script.addObject(bar, new CoordinateSystem(pos, 0,90,0)); } for (j=0;j