// Last edited on 2009-07-22 12:53:58 by stolfilocal
// Processed by remove-cam-lights

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

#declare raio = 2.000;

#declare tinta_A = 
  texture {
    pigment { color rgb < 0.10, 0.80, 1.00 > }
    finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 }
  }

#declare tinta_B = 
  texture {
    pigment { color rgb < 1.00, 0.80, 0.10 > }
    finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 }
  }

#declare roleta = seed(415);
#declare roleta4 = seed(15);
#declare dist_prateleiras=0;
#declare prateleira1 =
 box{
  < 0.00, 0.00, 0.00 >,<1.00, 4.00, 0.5>
 }
#declare obj_prateleira1 =
 box{
  < 0.40, 0.00, 0.00 >,<0.5, 0.50, 0.3>
 }
#declare obj_prateleira2 =
 sphere{
  < 0.50, 0.00, 0.00 >, 0.2

 }
 #declare obj_prateleira3 =
 cone{
  < 0.50, 0.00, 0.00 >, 0.25 <0.5, 0.00, 0.5>, 0.1
 }

#declare j=0;
#declare i=0;
#declare estante =
union {
 #while (j<4)
  #declare m =int(rand(roleta)*3)+1;
  #declare dist_prateleiras=dist_prateleiras+m;
  object {prateleira1 translate <0.00,0.00,dist_prateleiras> }
  #while (i<3)  
   #declare m3=int(rand(roleta4)*3);
   #if(i=0)
    #declare dist_obj =1;   
   #end
   #if(i=1)
    #declare dist_obj =2;  
   #end
   #if(i=2)
    #declare dist_obj =2.8;  
   #end
   #if (m3=0)
    object {obj_prateleira1 translate <0.00,dist_obj,0.5+dist_prateleiras> }
   #end
   #if (m3=1)
    object {obj_prateleira2 translate <0.00,dist_obj,0.5+dist_prateleiras> }
   #end
   #if (m3=2)
    object {obj_prateleira3 translate <0.00,dist_obj,0.5+dist_prateleiras> }
   #end
   #declare i=i+1; 
  #end
  #declare i=0; 
  #declare j=j+1; 
 #end
 texture {tinta_A}
}
#declare coluna1 =
 cylinder {
 <0.50, 0.50, 1.00>, <0.50, 0.50, dist_prateleiras> 0.1
 texture { tinta_A }
 }  

#declare coluna2 =
 cylinder {
 <0.50, 3.50, 1.00>, <0.50, 3.50, dist_prateleiras> 0.1
 texture { tinta_A }
 }  
 
#declare j=0;
#declare dist_prateleiras1 = 0;
#declare roleta1 = seed(25);
#declare roleta5 = seed(115);
#declare m1 = 0; 
#declare estante2 =
union {
 #while (j<3)
  #declare m1 =int(rand(roleta1)*2)+1;
  #declare dist_prateleiras1=dist_prateleiras1+m1;
  object {prateleira1 translate <0.00,0.00,dist_prateleiras1> }
  #while (i<3)  
   #declare m4=int(rand(roleta5)*3);
   #if(i=0)
    #declare dist_obj =1;   
   #end
   #if(i=1)
    #declare dist_obj =2;  
   #end
   #if(i=2)
    #declare dist_obj =2.8;  
   #end
   #if (m4=0)
    object {obj_prateleira1 translate <0.00,dist_obj,0.5+dist_prateleiras1> }
   #end
   #if (m4=1)
    object {obj_prateleira2 translate <0.00,dist_obj,0.5+dist_prateleiras1> }
   #end
   #if (m4=2)
    object {obj_prateleira3 translate <0.00,dist_obj,0.5+dist_prateleiras1> }
   #end
   #declare i=i+1; 
  #end
  #declare i=0; 
  #declare j=j+1; 
 #end
 texture {tinta_A}
}
#declare coluna11 =
 cylinder {
 <0.50, 0.50, 1.00>, <0.50, 0.50, dist_prateleiras1> 0.1
 texture { tinta_A }
 }  

#declare coluna21 =
 cylinder {
 <0.50, 3.50, 1.00>, <0.50, 3.50, dist_prateleiras1> 0.1
 texture { tinta_A }
 }  
#declare estante_completo1 =
union {
 object {estante2}
  object {coluna11}
 object {coluna21}
 translate <0.00,-8.00,0.00>
 rotate <0,0,-90>
}

#declare j=0;
#declare dist_prateleiras2 = 0;
#declare roleta2 = seed(134);
#declare roleta6 = seed(579);
#declare m2 = 0;  
#declare estante3 =
union {
 #while (j<2)
  #declare m2 =int(rand(roleta2)*3)+1;
  #declare dist_prateleiras2=dist_prateleiras2+m2;
  object {prateleira1 translate <0.00,0.00,dist_prateleiras2> }
  #while (i<3)  
   #declare m5=int(rand(roleta6)*3);
   #if(i=0)
    #declare dist_obj =1;   
   #end
   #if(i=1)
    #declare dist_obj =2;  
   #end
   #if(i=2)
    #declare dist_obj =2.8;  
   #end
   #if (m5=0)
    object {obj_prateleira1 translate <0.00,dist_obj,0.5+dist_prateleiras2> }
   #end
   #if (m5=1)
    object {obj_prateleira2 translate <0.00,dist_obj,0.5+dist_prateleiras2> }
   #end
   #if (m5=2)
    object {obj_prateleira3 translate <0.00,dist_obj,0.5+dist_prateleiras2> }
   #end
   #declare i=i+1; 
  #end
  #declare i=0; 
  #declare j=j+1; 
 #end
 texture {tinta_A}
}
#declare coluna31 =
 cylinder {
 <0.50, 0.50, 1.00>, <0.50, 0.50, dist_prateleiras2> 0.1
 texture { tinta_A }
 }  

#declare coluna32 =
 cylinder {
 <0.50, 3.50, 1.00>, <0.50, 3.50, dist_prateleiras2> 0.1
 texture { tinta_A }
 }   
 #declare estante_completo3 =
union {
 object {estante3}
  object {coluna31}
 object {coluna32}
 translate <-7.00,-2.00,0.00>
 rotate <0,0,-45>
}

union {
 object {estante}
 object {coluna1}
 object {coluna2}
 object {estante_completo1}
 object {estante_completo3}
}

// Original camera parameters:
// #local cam_ctr = <0.00,-2.00,-1.5>
// #local cam_vec = (<-15.00,9.00,10.00>-<0.00,-2.00,-1.5>)
// #local cam_sky = z

#include "camlight.inc"
camlight(<0.00,5.00,5.00>,<10,10,7>,20.0,z,1.0)