# Build
[CMake][] is used for the project build.
+## Default planner
+The default planner is `T2`.
+
+## `T3` planner
+Only `T3` planner is compatible with `USE_PTHREAD` macro in `base/main.cc`
+file. When `T3` is going to be used the `USE_PTHREAD` must be set and `RRTBase`
+destructor in `base/rrtbase.cc` must be commented. Also, the commit `fd2cd6b`
+must be reverted.
+
## Prerequisities
- `cmake`
- `libjsoncpp-dev`
- `Karaman2011` - RRT* framework.
- `T1` - testing planner.
- `T2` - testing planner based on RRT*.
- - `T3` - testing planner, update T2 to bidirectional.
+ - `T3` - testing planner, update `T2` to bidirectional.
- `Klamm2015` - RRT*-Connect planner.
- `TMAX` - Specify the upper time bound in seconds.
+- `USE_GL` - Specify if GL is going to be used to plot the algorithm.
+- `USE_SLOTPLANNER` - Specify if slot planner is going to be used.
Implemented Steering procedures:
- `st1` - Steer directly to goal, no constraints.
- `st2` - Steer with maximum turning radius and direction in mind.
- `st3` - Reeds and Shepp steer procedure.
- `st4` - Very basic closed-loop simulator.
+- `st5` - Dubins paths.
To disable *OpenMP*, add `-DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=TRUE` to `cmake`
command or to `build.sh` script.