// Last edited on 2013-11-04 20:18:04 by stolfilocal
// Processed by remove-cam-lights

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

#declare tx_metalico =
  texture{
    pigment{ color rgb < 0.60, 0.60, 0.60 > }
    finish{ diffuse 0.8 ambient 0.5 specular 0.8 roughness 0.005 }
  }

#declare tx_laranja =
  texture{
    pigment{ color rgb < 0.9, 0.5, 0.3 > }
    finish{ diffuse 0.6 ambient 0.5 specular 0.8 roughness 0.005 }
  }

#declare tx_verde =
  texture{
    pigment{ color rgb < 0.3, 0.9, 0.2 > }
    finish{ diffuse 0.6 ambient 0.5 specular 0.8 roughness 0.005 }
  }

#declare tx_escuro =
  texture{
    pigment{ color rgb < 0.3, 0.3, 0.3 > }
    finish{ diffuse 0.8 ambient 0.5 specular 0.8 roughness 0.005 }
  }

#declare botao_quadrado =
  box{
    < -0.2, -0.3, -0.3 >, < +0.2, +0.3, +0.3 >

  }

#declare botao_redondo =
  sphere{
        < -0.2, 0.00, 0.00 >, 0.4
  }

#declare analog =
  sphere{
        < -0.25, 0.00, 0.00 >, 0.5
        texture { tx_escuro }
  }

#include "eixos.inc"

#macro cria_painel (m, n)
        #declare painel =
          box{ <-1,-n/2, -m/4>, <0, +n/2, +m/4> texture{ tx_metalico } }

        union {

          object{ painel  translate <0,0,0> }

          #declare i = 0;
          #while (i<m/2)
            #declare j = 0;
            #while (j<n)
                        object{ botao_quadrado translate < 0, 0.75*j-n/2+0.4, m/4-0.75*i-0.4 >
                        #if (mod(i,2))
                                texture { tx_laranja }
                        #else
                                texture { tx_verde }
                        #end
                        }
                        #declare j=j+1;
                #end
                #declare i=i+1;
         #end

        #declare i = 0;
          #while (i<m/2)
            #declare j = n;
            #while (j<n+n/4)
                        object{ botao_redondo translate < 0, 0.8*j-n/2+0.3, m/4-0.75*i-0.4 >
                        #if (mod(j,2))
                                texture { tx_laranja }
                        #else
                                texture { tx_verde }
                        #end
                        }
                        #declare j=j+1;
                #end
                #declare i=i+1;
         #end

         object{ analog translate < 0, -n/4 , -m/4+0.5 > }
         object{ analog translate < 0, +n/4 , -m/4+0.5 > }

        }
#end

union{
  //object{ eixos(3.00) }

  object { cria_painel(11,9) }

}

#include "camlight.inc"
#declare centro_cena = < 0.00, 0.00, 0.00 >;
#declare raio_cena = 7.0;
#declare dir_camera = < 14.00, 7.00, 5.00 >;
#declare dist_camera = 26.0;
#declare intens_luz = 1.00;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)