//* Módulo : camara.hpp // // _Descrição_ : Declara classe Camara. // _Autor_: Rodrigo P. R. de Toledo #ifndef __CAMERA_HPP #define __CAMERA_HPP #include #include "varios.hpp" //* classe Camara #Camara# //Esta classe guarda informações quanto posição da câmera, a tela //de projeção. A classe também é responsável por retornar os raios para cada pixel da tela. class Camara{ private: Vetor_3D olho, direcao, vup; // lidas do arquivo int linhas, colunas; // lidas do arquivo Vetor_3D P0, dx, dy, P_atual, P_linha, xe, ye, ze; int l_atual, c_atual; //* PreparaRaios //Esta função _Private_ //calcula xe, ye, ze, dx, dy e também inicializa P0, P_atual e P_linha void PreparaRaios( ); public: //* Construtores e Destrutor Camara( FILE *fp ); ~Camara(); //* Pegando os Raios Raio PrimeiroRaio(); Raio ProximoRaio(); int Linhas() { return linhas; } int Colunas() { return colunas; } }; #endif