54 #define RESULT_PATH "./output/" 
   56 int main (
int argc, 
char* argv[]) {
 
   58         cout<<
"Los parametros son:"<<endl;
 
   59         cout<<
"1 - Fichero con la informacion de los paises"<<endl;
 
   60         cout<<
"2 - Nombre de la imagen con el mapa del mundo"<<endl;
 
   61         cout<<
"3 - Directorio con las banderas"<<endl;
 
   62         cout<<
"4 - Fichero con el almacen de rutas"<<endl;
 
   63         cout<<
"5 - Nombre de la imagen con el avion"<<endl;
 
   64         cout<<
"6 - Nombre de la imagen de la mascara del avion"<<endl;
 
   66         cout << 
"Uso: " << argv[0] << 
" <fichero_paises> <mapa_mundo> <dir_banderas> <almacen_rutas> <avion> <mascara_avion>" << endl;
 
   77         cout << 
"Error de apertura del fichero" << argv[1] << endl;
 
   96         cout << 
"Error de apertura del fichero " << argv[4] << endl;
 
  102     cout<<
"Las rutas: "<<endl;
 
  104     cout<<
"Introduzca el codigo de una ruta"<<endl;
 
  109         cout << 
"La ruta no existe" << endl;
 
  115     string dir_banderas = argv[3];
 
  118     Punto point1, point2;
 
  119     pair<int,int> coord_point1, coord_point2, coord_point_midpoint;
 
  120     double orientation_angle;
 
  125     while (it_r != route.
end()) {
 
  131         if (pos_pais_point1 == paises.end()) {
 
  132             cout << 
"No pudo encontrarse el pais que tiene como punto " << point1 << endl;
 
  135         pais = *(paises.find(point1));
 
  138         string nombre_bandera = dir_banderas + 
"/" + pais.
getBandera();
 
  141         mapa.
PutImagen(coord_point1.first, coord_point1.second, bandera, tp_bl);
 
  147         if (it_r != route.
end()) {
 
  155             avion_rotado = avion.
Rota(orientation_angle);
 
  156             mapa.
PutImagen(coord_point_midpoint.first, coord_point_midpoint.second, avion_rotado, tp_op);
 
  157             mapa.
PutImagen(coord_point1.first, coord_point1.second, avion_rotado, tp_op);
 
  158             mapa.
PutImagen(coord_point2.first, coord_point2.second, avion_rotado, tp_op);
 
  162     string result_path = RESULT_PATH + route.
getCodigo() + string(
"_Mapa.ppm");
 
  166     cout << endl << endl;
 
Fichero cabecera del TDA AlmacenRutas.
bool existeRuta(string codigo)
Método que comprueba si existe una ruta en el almacén.
const Ruta & getRuta(string codigo)
Método que devuelve la ruta correspondiente a un código.
void EscribirImagen(const char img_path[]) const
Método que escribe una imagen en disco en el archivo dado por nombre.
void LeerImagen(const char img_path[], const string &nombre_mascara="")
Método que lee una imagen del disco desde el archivo dado por nombre.
int getColumnas() const
Método que informa del número de columnas de la imagen.
Imagen Rota(double rads) const
Método que rota una imagen.
void PutImagen(int i, int j, const Imagen &img, Tipo_Pegado tp=OPACO)
Método que pega una imagen sobre otra.
int getFilas() const
Método que informa del número de filas de la imagen.
string getBandera() const
Devuelve la ubicación de la bandera del país en el sistema de archivos.
string getNombre() const
Devuelve el nombre del país.
pair< int, int > punto_medio_en_mapa(const Punto &p, int num_columnas, int num_filas) const
Punto medio entre dos puntos.
double angulo_en_mapa(const Punto &p, int num_columnas, int num_filas) const
Ángulo de la recta que une dos puntos.
pair< int, int > coordenadasMapa(int num_columnas, int num_filas) const
Pasa de coordenadas geográficas a coordenadas en el mapa.
Clase iterador de la clase ruta.
iterator begin()
Devuelve un iterador al principio de la lista de puntos.
string getCodigo() const
Método que devuelve el codigo de la ruta.
iterator end()
Devuelve un iterador al final de la lista de puntos.
Fichero cabecera para el TDA Imagen.
Tipo_Pegado
Enumerado para representar el tipo de pegado de una imagen sobre otra.
Fichero cabecera del TDA Paises.