https://github.com/damesek/udacity-cppnd-route-planning-project
Udacity C++17 course/ 1st project
https://github.com/damesek/udacity-cppnd-route-planning-project
Last synced: about 1 year ago
JSON representation
Udacity C++17 course/ 1st project
- Host: GitHub
- URL: https://github.com/damesek/udacity-cppnd-route-planning-project
- Owner: damesek
- Created: 2019-05-29T13:23:21.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-05-30T11:10:19.000Z (about 7 years ago)
- Last Synced: 2023-09-12T10:42:15.760Z (almost 3 years ago)
- Language: C++
- Size: 10.6 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Check https://github.com/dbecad/CppND-Route-Planning-Project/blob/master/Ubuntu16.4_Install.md repo about how to install on Ubuntu 16.04, quite same on Ubuntu 18.04 (at my case).
# Route Planning Project Starter Code
This is the starter code for the Route Planning project. Instructions for each exercise can be found in the `instructions` directory, and unit tests for some exercises in the `test` directory.
## Cloning
When cloning this project, be sure to use the `--recurse-submodules` flag. Using HTTPS:
```
git clone https://github.com/udacity/CppND-Route-Planning-Project.git --recurse-submodules
```
or with SSH:
```
git clone git@github.com:udacity/CppND-Route-Planning-Project.git --recurse-submodules
```
## Compiling and Running
### Compiling
To compile the project, first, create a `build` directory and change to that directory:
```
mkdir build && cd build
```
From within the `build` directory, then run `cmake` and `make` as follows:
```
cmake ..
make
```
### Running
The executables will be placed in the `bin` directory. From within `build`, you can run the project as follows:
```
../bin/ -f ../map.osm
```
## Testing
For exercises that have unit tests, the project must be built with the approprate test cpp file. This can be done by passing a string with the `-DTESTING` flag in `cmake`. For example, from the build directory:
```
cmake -DTESTING="RouteModel" ..
make
```
Those commands will build the code with the tests for the "Fill Out Route Model" exercise. The tests can then be run from the `build` directory as follows:
```
../bin/test
```
Exercises with tests will specify which string to pass with `-DTESTING`, but a table is given below with the complete list for reference:
| Exercise Name | `-DTESTING` String Value |
|-----------------------------|:------------------------:|
| Fill Out Route Model | "RouteModel" |
| Fill Out Node Class | "RMNodeClass" |
| Create RouteModel Nodes | "RMSNodes" |
| Write the Distance Function | "NodeDist" |
| Create Road to Node Hashmap | "NodeToRoad" |
| Write FindNeighbors | "FindNeighbors" |
| Find the Closest Node | "FindClosest" |
| Write the A\* Search Stub | "AStarStub" |
| Finish A\* Search | "AStarSearch" |