/*A building based on One Biscayne Tower in Miami has parking underneath and a mast. Total height almost twice number of floors*/ SIZE = 1.0; FLOORS = 40; //multiple of 4 //textures window = new UniformTexture(); window.diffuseColor.setRGB(0.4,0.4,0.4); window.specularity = 0.4f; window.shininess = 1.0f; brown = new UniformTexture(); brown.diffuseColor.setRGB(0.5,0.4,0.3); //light = new UniformTexture(); //light.diffuseColor.setRGB(0.75,0.7,0.7); dark = new UniformTexture(); dark.diffuseColor.setRGB(0.2,0.2,0.2); red = new UniformTexture(); red.diffuseColor.setRGB(0.7,0.1,0.1); white = new UniformTexture(); white.diffuseColor.setRGB(0.8,0.8,0.8); light = white; //first floor box = new Cube(21*SIZE,0.8*SIZE,35*SIZE); box.setTexture(light, light.getDefaultMapping(box)); pos = new Vec3(0,1.8*SIZE,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); box = new Cube(24*SIZE,0.8*SIZE,28*SIZE); box.setTexture(light, light.getDefaultMapping(box)); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); box = new Cube(17*SIZE,0.8*SIZE,37*SIZE); box.setTexture(light, light.getDefaultMapping(box)); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); box = new Cube(20*SIZE,1.8*SIZE,34*SIZE); box.setTexture(light, light.getDefaultMapping(box)); pos = new Vec3(0,0.6*SIZE,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); box = new Cube(23*SIZE,1.8*SIZE,27*SIZE); box.setTexture(window, window.getDefaultMapping(box)); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); box = new Cube(16*SIZE,1.8*SIZE,36*SIZE); box.setTexture(window, window.getDefaultMapping(box)); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); box = new Cube(0.5*SIZE, 1.8*SIZE,36.8*SIZE); box.setTexture(light, light.getDefaultMapping(box)); for(i=-3;i<4;i++) { pos = new Vec3((i)*2.5*SIZE,0.8*SIZE,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); } box = new Cube(23.8*SIZE, 1.8*SIZE,0.5*SIZE); box.setTexture(light, light.getDefaultMapping(box)); for(i=-5;i<6;i++) { pos = new Vec3(0,0.8*SIZE,(i)*2.5*SIZE); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); } //base box = new Cube(14*SIZE,FLOORS*SIZE/4,24*SIZE); box.setTexture(dark, dark.getDefaultMapping(box)); pos = new Vec3(0,FLOORS*SIZE/8.0,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); box = new Cube(24*SIZE,FLOORS*SIZE/4-2*SIZE,0.5*SIZE); box.setTexture(light, light.getDefaultMapping(box)); for (i=-2;i<=3;i++) { pos = new Vec3(0,(FLOORS*SIZE/4+2*SIZE)/2.0,(i-0.5)*5*SIZE); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); } box = new Cube(0.5*SIZE,FLOORS*SIZE/4-2*SIZE,37*SIZE); box.setTexture(light,light.getDefaultMapping(box)); for (i=-1;i<=2;i++) { pos = new Vec3((i-0.5)*5*SIZE,(FLOORS*SIZE/4+2*SIZE)/2.0,0); script.addObject(box, new CoordinateSystem(pos, 0,0,0)); } box = new Cube(24*SIZE,0.6*SIZE,25.5*SIZE); box.setTexture(light, light.getDefaultMapping(box)); box2 = new Cube(15.5*SIZE,0.6*SIZE,37*SIZE); box2.setTexture(light, light.getDefaultMapping(box)); for (i=2;i