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

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

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

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

#declare tx_fosca =
  texture{
    pigment{ color rgb < 0.75, 0.25, 0.05 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }

#declare tx_espelho =
  texture{
    pigment{ color rgb < 1.00, 0.85, 0.30 > }
    finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 }
  }

#declare tx_vidro =
  texture{
    pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 }
    finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 }
  }

#declare tx_xadrez =
  texture{
    pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > }
    finish{ diffuse 0.9 ambient 0.1 }
    scale 2.0
  }

#include "textures.inc"

#declare raio = 2.000;

#declare asa1 =
  box{
    < 12, 1, 3 >,
    < 14, 9, 4 >
    texture{ tx_aviao }
  }

#declare asa2 =
  box{
    < 12, -9, 3 >,
    < 14, -1, 4 >
    texture{ tx_aviao }
  }

#include "eixos.inc"
#include "retalho.inc"

union{
  object{ eixos(3.00) }

  #local z11 = < -3, 0, 1.5 >;
  #local z12 = < -3, 0, 1.5 >;
  #local z13 = < -3, 0, 1.5 >;
  #local z14 = < -3, 0, 1.5 >;
  #local z21 = < -2, 0, 1.0 >;
  #local z22 = < -2, 2, 1.0 >;
  #local z23 = < -2, 2, 2.0 >;
  #local z24 = < -2, 0, 2.0 >;
  #local z31 = < -1, 0, 0.5 >;
  #local z32 = < -1, 4, 0.5 >;
  #local z33 = < -1, 4, 2.5 >;
  #local z34 = < -1, 0, 2.5 >;

  #local a21 = < 2, 0, 0 >;
  #local a22 = < 2, 4, 0 >;
  #local a23 = < 2, 4, 3 >;
  #local a24 = < 2, 0, 3 >;
  #local a31 = < 4, 0, 0 >;
  #local a32 = < 4, 4, 0 >;
  #local a33 = < 4, 4, 6 >;
  #local a34 = < 4, 0, 6 >;

  #local b21 = < 10, 0, 0 >;
  #local b22 = < 10, 4, 0 >;
  #local b23 = < 10, 4, 6 >;
  #local b24 = < 10, 0, 6 >;
  #local b31 = < 14, 0, 0 >;
  #local b32 = < 14, 4, 0 >;
  #local b33 = < 14, 4, 6 >;
  #local b34 = < 14, 0, 6 >;

  #local c21 = < 19, 0, 0 >;
  #local c22 = < 19, 4, 0 >;
  #local c23 = < 19, 4, 3 >;
  #local c24 = < 19, 0, 3 >;
  #local c31 = < 21, 0, 0 >;
  #local c32 = < 21, 1, 0 >;
  #local c33 = < 21, 1, 2 >;
  #local c34 = < 21, 0, 2 >;

  #local w21 = < 22.25, 0.00, 0 >;
  #local w22 = < 22.25, 0.50, 0 >;
  #local w23 = < 22.25, 0.50, 6 >;
  #local w24 = < 22.25, 0.00, 6 >;
  #local w31 = < 22.50, 0.00, 0 >;
  #local w32 = < 22.50, 0.25, 0 >;
  #local w33 = < 22.50, 0.25, 6 >;
  #local w34 = < 22.50, 0.00, 6 >;
  #local w41 = < 23.00, 0.00, 0 >;
  #local w42 = < 23.00, 0.00, 0 >;
  #local w43 = < 23.00, 0.00, 6 >;
  #local w44 = < 23.00, 0.00, 6 >;

  #local z41 = (z31+a21)/2;
  #local z42 = (z32+a22)/2;
  #local z43 = (z33+a23)/2;
  #local z44 = (z34+a24)/2;
  #local a11 = z41;
  #local a12 = z42;
  #local a13 = z43;
  #local a14 = z44;

  #local a41 = (a31+b21)/2;
  #local a42 = (a32+b22)/2;
  #local a43 = (a33+b23)/2;
  #local a44 = (a34+b24)/2;
  #local b11 = a41;
  #local b12 = a42;
  #local b13 = a43;
  #local b14 = a44;

  #local b41 = (b31+c21)/2;
  #local b42 = (b32+c22)/2;
  #local b43 = (b33+c23)/2;
  #local b44 = (b34+c24)/2;
  #local c11 = b41;
  #local c12 = b42;
  #local c13 = b43;
  #local c14 = b44;

  #local c41 = (c31+w21)/2;
  #local c42 = (c32+w22)/2;
  #local c43 = (c33+w23)/2;
  #local c44 = (c34+w24)/2;
  #local w11 = c41;
  #local w12 = c42;
  #local w13 = c43;
  #local w14 = c44;

  object{
    retalho(
      z11, z12, z13, z14,
      z21, z22, z23, z24,
      z31, z32, z33, z34,
      z41, z42, z43, z44,
      0.005,
      tx_grade, tx_aviao
    )
  }

  object{
    retalho(
      a11, a12, a13, a14,
      a21, a22, a23, a24,
      a31, a32, a33, a34,
      a41, a42, a43, a44,
      0.005,
      tx_grade, tx_aviao
    )
  }

  object{
    retalho(
      b11, b12, b13, b14,
      b21, b22, b23, b24,
      b31, b32, b33, b34,
      b41, b42, b43, b44,
      0.005,
      tx_grade, tx_aviao
    )
  }

  object{
    retalho(
      c11, c12, c13, c14,
      c21, c22, c23, c24,
      c31, c32, c33, c34,
      c41, c42, c43, c44,
      0.005,
      tx_grade, tx_aviao
    )
  }

  object{
    retalho(
      w11, w12, w13, w14,
      w21, w22, w23, w24,
      w31, w32, w33, w34,
      w41, w42, w43, w44,
      0.005,
      tx_grade, tx_aviao
    )
  }

  object{
    retalho(
      z11, z12, z13, z14,
      z21, z22, z23, z24,
      z31, z32, z33, z34,
      z41, z42, z43, z44,
      0.005,
      tx_grade, tx_aviao
    )
    scale < 1, -1, 1 >
  }

  object{
    retalho(
      a11, a12, a13, a14,
      a21, a22, a23, a24,
      a31, a32, a33, a34,
      a41, a42, a43, a44,
      0.005,
      tx_grade, tx_aviao
    )
    scale < 1, -1, 1 >
  }

  object{
    retalho(
      b11, b12, b13, b14,
      b21, b22, b23, b24,
      b31, b32, b33, b34,
      b41, b42, b43, b44,
      0.005,
      tx_grade, tx_aviao
    )
    scale < 1, -1, 1 >
  }

  object{
    retalho(
      c11, c12, c13, c14,
      c21, c22, c23, c24,
      c31, c32, c33, c34,
      c41, c42, c43, c44,
      0.005,
      tx_grade, tx_aviao
    )
    scale < 1, -1, 1 >
  }

  object{
    retalho(
      w11, w12, w13, w14,
      w21, w22, w23, w24,
      w31, w32, w33, w34,
      w41, w42, w43, w44,
      0.005,
      tx_grade, tx_aviao
    )
    scale < 1, -1, 1 >
  }

  object{ asa1 }
  object{ asa2 }

}

#include "camlight.inc"
#declare centro_cena = < 9.00, 0.00, 1.00 >;
#declare raio_cena = 20.0;
#declare dir_camera = < -20.00, 20.00, 8.00 >;
#declare dist_camera = 50.0;
#declare intens_luz = 1.00;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)