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.