// Priscilla Sanches Marques
// RA : 981944
// MC 930 - Computacao Grafica
// 2 semestre 2000
// Projeto Final
// Prof. Stolfi 

#include "colors.inc"
#include "textures.inc"
#include "stones.inc"

// Fundo, fonte de luz e camera
background { color rgb<1.0, 1.0, 1.0>}

light_source {
  < 50.00, 7.00, -20.00 >
  color rgb < 1.00, 1.00, 1.00 >
}

camera {
  location  < 50.00, 80.00, 80.00 >
  look_at   < 0.00, 0.00, 0.00 >

  //location  < 0.00, 5.00, 10.00 >
  //look_at   < 2.00, 2.00, 0.00 >
} 

// esqueleto principal do predio
//
// andar terreo
// esqueleto do andar terreo
#declare estrutura_andar_terreo =
  box {
    <0.00, 0.00, 0.00>,
    <50.00, 40.00, 40.00>
    texture {
      T_Grnt15
    }
  }

// escadaria de entrada
// primeiro degrau
#declare primeiro_degrau =
  box {
    <55.00, 0.00, 0.00>,
    <50.00, 5.00, 40.00>
    texture {
      T_Grnt15
    }
  }
//segundo degrau
#declare segundo_degrau =
  box {
    <60.00, 0.00, 5.00>,
    <55.00, 4.00, 35.00>
    texture {
      T_Grnt15
    }
  }
// terceiro degrau
#declare terceiro_degrau =
  box {
    <65.00, 0.00, 10.00>,
    <60.00, 3.00, 30.00>
    texture {
      T_Grnt15
    }
  }
// quarto degrau
#declare quarto_degrau =
  box {
    <70.00, 0.00, 15.00>,
    <65.00, 2.00, 25.00>
    texture {
      T_Grnt15
    }
  }

//
// grades das janelas e das portas do forum
#declare moldura_grade_externa_1 =
  box {
    <0.00, 0.00 ,0.10>,
    <4.00, 4.00, 0.20>
    texture {
      Rusty_Iron      
    }
  }

#declare moldura_grade_externa_2 =
  box {
    <0.25, 0.25 ,0.00>,
    <3.75, 3.75, 0.30>
    texture {
      Rusty_Iron
    }
  }

#declare grade_externa =
  difference {
    object { moldura_grade_externa_1 }
    object { moldura_grade_externa_2 }
  }

#declare moldura_grade_interna_1 =
  box {
    <0.50, 0.50 ,0.10>,
    <3.50, 3.50, 0.20>
    texture {
      Rusty_Iron      
    }
  }

#declare moldura_grade_interna_2 =
  box {
    <0.75, 0.75 ,0.00>,
    <3.25, 3.25, 0.30>
    texture {
      Rusty_Iron
    }
  }

#declare transverso_grade =
  box {
    <0.00, 2.00 ,0.00>,
    <1.50, 2.10, 0.10>
    texture {
      Rusty_Iron
    }
  }

#declare grade_interna =
  difference {
    object { moldura_grade_interna_1 }
    object { moldura_grade_interna_2 }
  }
   
//
// Letras na frente do predio

// estatuas da justica na entrada

// demais andares

// Previa do predio ate o momento ...
#declare previa =
  union {
    object { estrutura_andar_terreo }
    object { primeiro_degrau }
    object { segundo_degrau }
    object { terceiro_degrau }
    object { quarto_degrau }
  }  

//
// Montagem da cena principal
//
  object { previa }
  //union {
  //object { grade_externa }
  //object { grade_interna }
  //object { transverso_grade }
  //}