// Last edited on DATE TIME by USER
// Processed by remove-cam-lights

#include "textures.inc"
#include "eixos.inc"
#include "colors.inc"
#include "retalho.inc"

background{ color White }

#declare chassi =
union{
  object{box{<0,0,0>, <4,7,2>} pigment {color Red} }
  object{box{<0,2,2>, <4,7,3.5>} pigment {color Green}}
}

#macro interpole(ta, va, tb, vb, tt)
  #local s = (tt-ta)/(tb-ta);
  ((1-s)*va+s*vb)
#end

#declare tx_flag =
  texture{
    uv_mapping
    pigment{
      image_map{
        "brasil.png"
      }
    }

  }

#macro bandeira()
  #local p11 = <0,0,4>;
  #local p12 = <0,0,5>;
  #local p13 = <0,0,6>;
  #local p14 = <0,0,7>;

  #local p21 = <0,2,3>;
  #local p22 = <0,2,4>;
  #local p23 = <0,2,5>;
  #local p24 = <0,2,6>;

  #local p31 = <0,4,5>;
  #local p32 = <0,4,6>;
  #local p33 = <0,4,7>;
  #local p34 = <0,4,8>;

  #local p41 = <0,6,4>;
  #local p42 = <0,6,5>;
  #local p43 = <0,6,6>;
  #local p44 = <0,6,7>;

  #local rg = 0.00001;

  union{
    object{
      retalho(
        p11,p12,p13,p14,
        p21,p22,p23,p24,
        p31,p32,p33,p34,
        p41,p42,p43,p44,
        rg,
        pigment{color Blue}, texture{ tx_flag }
      )
    }
    object{
      cylinder { <0, 0, 0>, <0, 0, 7>, 0.3 }
      texture {PinkAlabaster}
      translate -0.3*y

    }
    object{
      sphere { <0, 0, 0>, 0.5 }
      translate <0,-0.3,7>
      texture {PinkAlabaster}
    }
  }
#end

#declare tx_anuncio =
  texture{
    uv_mapping
    pigment{
      image_map{
        "heineken.png"
      }
    }
    scale <0.25, 0.5, 1>
  }

#macro anuncio()
  object{
    box { <0, 0, 0>, <1, 7, 12> }
    texture{
      tx_anuncio
    }
  }
#end

#macro predio()
  box {
    <0, 0, 0>, <10, 10, 20>
    texture {PinkAlabaster}
  }
#end

union{
  object{
    bandeira()
    translate <10, 10, 20>
  }
  object{
    anuncio()
    translate <10, 2, 6.5>
  }
  object{predio()}

}

#include "camlight.inc"
#declare centro_cena = < 0.00, 0.00, 0.00 >;
#declare raio_cena = 50.0;
#declare dir_camera = < 10, 5, 4 >;
#declare dist_camera = 60.0;
#declare intens_luz = 1.00;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)