An open API service indexing awesome lists of open source software.

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

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" |