// Last edited on 2005-01-05 23:30:04 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 1 }
    finish {
 diffuse 0.25
 specular 0.2
 roughness 0.001
 ambient 0.1
 reflection 0.25
 }
  }

#declare DarkGlass =
  texture {
    pigment { White filter 0.5 }
    finish {
 diffuse 0.25
 specular 0.2
 roughness 0.001
 ambient 0.1
 reflection 0.25
 }
  }
#declare ferro =
  texture {
    pigment { color rgbf < 0.60, 0.40, 0.40, 0.1 > }
    finish { diffuse 0.6 specular 0.7 roughness 0.005 ambient 0.1 }
  }

#declare aco =
  texture {
    pigment { color rgbf < 0.70, 0.70, 0.90, 0.1 > }
    finish { diffuse 0.5 specular 0.8 roughness 0.005 ambient 0.3 }
  }

#declare madeira =
  texture {
    pigment { color Brown }
    finish { diffuse 0.25 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare alpha1 = 180*(clock-0.5);
#declare alpha2 = -140*(clock-0.2);
#declare alpha3 = -90*(clock);
#declare alpha4 = -150*(clock-0.7);

#declare beta1 = 360*(clock);

#declare beta2 = 40*(clock-0.5);
#declare beta4 = -160*clock;

#declare faca =
 union {
   cone {
 <0,0,0>, 0.4
 <3,0,0>, 0.01
 texture{ aco }
 scale <1,1,0.6>
   }
 }

#declare barra1 =
 union {
   cylinder {
 <0,0,0>,
 <3,0,0>,
 0.4
 texture{ ferro }
   }
   sphere {
 <0,0,0>,
 0.4
 texture{ ferro }
   }
   sphere {
 <3,0,0>,
 0.4
 texture{ ferro }
   }
   #if (clock>0.5)
   object {
 faca
 translate 3*clock*x
   }
   #end
 }

#declare barra2 =
 union {
   cylinder {
 <0,0,0>,
 <3,0,0>,
 0.4
 texture{ ferro }
   }
   sphere {
 <0,0,0>,
 0.4
 texture{ ferro }
   }
   object {
 barra1
 rotate alpha1*z
 rotate beta1*x
 translate 3*x
   }
 }

#declare barra3 =
 union {
   cylinder {
 <0,0,0>,
 <3,0,0>,
 0.4
 texture{ ferro }
   }
   sphere {
 <0,0,0>,
 0.4
 texture{ ferro }
   }
   object {
 barra2
 rotate alpha2*y
 rotate beta2*z
 translate 3*x
   }
 }

#declare barra4 =
 union {
   cylinder {
 <0,0,0>,
 <3,0,0>,
 0.4
 texture{ ferro }
   }
   sphere {
 <0,0,0>,
 0.4
 texture{ ferro }
   }
   object {
 barra3
 rotate alpha3*y
 translate 3*x
   }
 }

#declare barra5 =
 union {
   cylinder {
 <0,0,0>,
 <3,0,0>,
 0.4
 texture{ ferro }
   }
   sphere {
 <0,0,0>,
 0.4
 texture{ ferro }
   }
   object {
 barra3
 rotate alpha4*y
 rotate beta4*z
 translate 3*x
   }
 }

#declare braco =
 object {
  barra5
  rotate (clock-0.5)*50*z
 }

union {
 object{ braco }
}

#include "camlight.inc"
camlight(<8,0,0>,<-2,-20,10>,1.00,z,1.0)