1 #ifndef BARRIO_H_ 2 #define BARRIO_H_ 3 4 #include <string> 5 #include <vector> 6 7 #include "list.h" 8 #include "parada.h" 9 10 class Barrio { 11 private: 12 std::string nombre; 13 List<Parada*> *paradas; 14 15 public: 16 /* 17 *pos: deja creado la clase con los parametros dados 18 */ 19 Barrio(std::string nombre); 20 21 /* 22 * pos: libera la memoria 23 */ 24 virtual ~Barrio(); 25 26 /* 27 * pos: devuelve la distancia entre la coordenadas dadas 28 */ 29 double getDistancia(double x1, double y1, double x2, double y2); 30 31 /* 32 * pre: `listaDeLineas` es un vector no nulo 33 * pos: devuelve `true` si la linea se encuentra en listaDeLineas, sino devuelve False 34 */ 35 bool lineaEnParada(int linea, std::vector<int> *listaDeLineas); 36 37 /* 38 * pos: devuelve el nombre del Barrio 39 */ 40 std::string getNombre(); 41 42 /* 43 * pos: devuelve una lista con todos las paradas de ese Barrio 44 */ 45 List<Parada*> *getParadas(); 46 47 /* 48 * pos: agrega una para nueva 49 */ 50 void addParada(std::string calle, std::string direccion, 51 double coordX, double coordY, std::vector<int> lineas); 52 53 /* 54 * pos: devuelve el numero total de paradas que hay en el barrio 55 */ 56 int getSizeListaDeParadas(); //CONSIGNA 1 57 58 /* 59 * pos: devuelve la parada mas cercana a una coordenada dada 60 */ 61 Parada *paradaMasCercana(double coordX, double coordY); 62 63 /* 64 * pre: recibe el numero de una Linea 65 * pos: devuelve una lista con todas las paradas del numero dado en caso de 66 * que la linea no posea paradas devuelve NULL 67 */ 68 List<Parada*> *listaDeParadasPorLinea(int linea); 69 70 /* 71 * pre: recibe el numero de una linea 72 * pos: devuelve la cantidad de paradas por linea 73 */ 74 unsigned int getCantidadDeParadasPorLinea(int linea); 75 }; 76 77 #endif /* BARRIO_H_ */
