// Last edited on 2005-01-06 02:01:36 by stolfi
// Processed by remove-cam-lights

#include "colors.inc"

background{ color rgb < 0.75, 0.80, 0.85 > }

#declare raio = 2.000;

#declare tinta_Cinza =
  texture {
    pigment { color rgb < 0.85, 0.85, 0.85 > }
    finish { diffuse 0.8 specular 0.2 roughness 0.05 ambient 0.1 }
  }

#declare Glass =
  texture {
    pigment { White filter 0.8 }
    finish {
 diffuse 0.05
 specular 0.2
 roughness 0.001
 ambient 0.05
 reflection 0.10
 }
  }

#declare DarkGlass =
  texture {
    pigment { White filter 0.5 }
    finish {
 diffuse 0.05
 specular 0.2
 roughness 0.001
 ambient 0.05
 reflection 0.10
 }
  }
#declare tinta_C =
  texture {
    pigment { color rgbf < 0.90, 0.90, 0.90, 0.9 > }
    finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.1 }
  }

#declare predio1 =
difference {
box {
 <-7,-5,0>,
 <-2, 5,10>
 texture { tinta_Cinza }
}
box {
 <-6,-4,0>,
 <-3, 4,11>
 texture { tinta_Cinza }
}
box{
 <-3, -3.5, 0>,
 <3, -2, 6>
 texture { tinta_Cinza }
}
}

#declare fileira_frente =
union {
  #declare j=2;
  #while (j <= 8)
  #declare i=0;
  #while (i < 5)
    box { <-6.8 + i, -5.1, j>,<-6.3 + i, -5, j+1>
 #if (mod(i,2) = 0)
     texture { Glass }
 #else
   texture { DarkGlass }
 #end
    }
    #declare i = i + 1;
  #end
  #declare j = j + 2;
  #end
}

#declare predinho =
difference {
cylinder{

 <5, -2, 0>,
 <5, -2, 6>,
 3
 texture { tinta_Cinza }
}
box{
 <-3, -3.5, 0>,
 <3, -2, 6>
 texture { tinta_Cinza }
}
}

#declare janelas_predinho =
union {
  #declare j=2;
  #while (j <= 4)
    #declare i=0;
    #while (i < 30)
      box {
 <0, -3.01, j-0.5>,<0.4, -3, j+0.5>
 #if (mod(i,2) = 0)
     texture { Glass }
 #else
   texture { DarkGlass }
 #end
 rotate 12*i*z
 translate 5*x
 translate -2*y
 }
      #declare i = i + 1;
    #end
    #declare j = j + 2;
  #end
}

#declare cupula =
sphere {
 <5, -2, 6>, 3
 texture { Glass }
}

#declare ligacao =
box {
 <-2, -3.5, 0>,
 <3, -2, 6>
 texture { Glass }
}

#declare ponte1 =
box {
 <-2, -3.5, 1>,
 <3, -2, 1.1>
 texture { tinta_Cinza }
}

#declare ponte2 =
box {
 <-2, -3.5, 3>,
 <3, -2, 3.1>
 texture { tinta_Cinza }
}

#declare ponte3 =
box {
 <-2, -3.5, 5>,
 <3, -2, 5.1>
 texture { tinta_Cinza }
}

#declare gente  =
#declare gerador = seed(696969);
union {
  #declare j = 1;
  #while  (j<=5)
    #declare i = 0;
    #while (i<10)
      #declare x_c = -2 + 4*rand(gerador);
      #declare y_c = -3 + rand(gerador);
      cylinder{
    < x_c, y_c, j>,
       < x_c, y_c, j+0.5>,
     0.2
     pigment { color rgb < 0.5 + rand(gerador), 0.5 + rand(gerador), 0.5 + rand(gerador) > }
      }
      #declare i = i+1;
    #end
  #declare j = j + 2;
  #end
}

union {
 object { predio1 }
 object { fileira_frente }
 object { predinho }
 object { janelas_predinho }
 object { cupula }
 object { ligacao }
 object { ponte1 }
 object { ponte2 }
 object { ponte3 }
 object { gente }
}

#include "camlight.inc"
camlight(<0,0,5>,<4,-20,10>,1.10,z,1.0)