Repository to host Algorithm Design and Analysis project.
CAL is a course given at FEUP in the second year of the Master in Informatics and Computing Engineering.
The goal of this project was to implement a program that identifies the path to follow, in a given network, from a source to the desired destination, accordingly to the criteria given by the user.
- Simple or complex itinerary (with points of interest along the desired path);
- Multiple path options (less distance, less travel time, avoid toll points);
- Graph connectivity evaluation (doesn't allow to choose paths with inaccessible zones);
- Real maps, extracted from OpenStreetMaps;
- Exact and approximate location search.
- C++ as programming language.
- OSM2TXT Parser.
- GraphViewer API to visualize graphs using Jung framework.
Graph | Path Src-Dst | Path with POI's |
- Create an empty C++ project, using MinGW as ToolChain.
- Add all EasyPilot files to the project.
- To run GraphViewer, change the following settings: C++ Build > Settings > MinGW C++ Linker > Miscellaneous > Add new object: < MinGW Path >\libwsock32.a (ex: C:\MinGW\lib\libwsock32.a).
- Add "-static" to the linker flags. In order to run the jar GraphViewerController, Java has to be installed.