//* Módulo : main.cpp // // _Descrição_ : Contém uma câmera um Cenario e controla o loop principal. // _Autor_: Rodrigo P. R. de Toledo // _Revisores_: Marcelo Gattass e Renato Borges //* Includes: #include #include #include #include "varios.hpp" #include "objetos.hpp" #include "camara.hpp" #include "cenario.hpp" #include "luzes.hpp" #include "leitura.hpp" //* MAIN void main(){ //* Variáveis: char arquivo[255]; // entrada: arquivo.dat, saída: arquivo.ppm int i, j, k=0; // contadores para linhas, colunas e posição no vetor, respectivamente int percent; // percentagem da imagem processada //* Objetos: Camara *camara; // cria um objeto câmera default Cenario *cenario; // cria um objeto cenário vazio Raio raio; // cria um objeto raio default Imagem *matrix; // matrix de cores //* Código: //* Leitura do Arquivo if(!LeArquivo( &cenario, &camara, arquivo)) return; matrix = new Imagem( camara->Linhas(), camara->Colunas() ); //* Pega o primeiro raio raio = camara->PrimeiroRaio(); //* Realiza o loop printf("\nPercentual de linhas computadas:\n"); for(i=0;iLinhas();i++) { for(j=0;jColunas();j++) { matrix->SetPixel( i, j, cenario->Intercepta( raio, 0 ) ); raio = camara->ProximoRaio(); } percent = (i+1)*100/camara->Linhas(); putc(13,stdout); printf("%3d%%", percent); } printf("\n"); //* Salva o arquivo com a imagem no formato .ppm matrix->SalvaPPM( arquivo ); }