/// @mainpage Recast Navigation
///
/// @image html recast_intro.png
///
///
Recast
///
/// `Recast` is state of the art navigation mesh construction toolset for
/// games.
///
/// - It is automatic, which means that you can throw any level
/// geometry at it and you will get robust mesh out.
/// - It is fast which means swift turnaround times for level designers.
/// - It is open source so it comes with full source and you can
/// customize it to your hearts content.
///
/// The latest version can be found on
/// GitHub.
///
/// The `Recast` process starts with constructing a voxel mold from a level
/// geometry and then casting a navigation mesh over it. The process
/// consists of three steps, building the voxel mold, partitioning the
/// mold into simple regions, peeling off the regions as simple polygons.
///
/// -# The voxel mold is build from the input triangle mesh by
/// rasterizing the triangles into a multi-layer heightfield. Some
/// simple filters are then applied to the mold to prune out locations
/// where the character would not be able to move.
/// -# The walkable areas described by the mold are divided into simple
/// overlayed 2D regions. The resulting regions have only one
/// non-overlapping contour, which simplifies the final step of the
/// process tremendously.
/// -# The navigation polygons are peeled off from the regions by first
/// tracing the boundaries and then simplifying them. The resulting
/// polygons are finally converted to convex polygons which makes them
/// perfect for pathfinding and spatial reasoning about the level.
///
/// Detour
///
/// `Recast` is accompanied by `Detour`, a path-finding and spatial reasoning
/// toolkit. You can use any navigation mesh with `Detour`, but of course
/// the data generated by `Recast` fits perfectly.
///
/// `Detour` offers a simple static navigation mesh that is suitable for
/// many simple cases, as well as a tiled navigation mesh that allows you
/// to add and remove pieces of the mesh. The tiled mesh allows you to
/// create systems where you stream new navigation data in and out as
/// the player progresses the level, or regenerate tiles as the
/// world changes.
///
/// Recast Demo
///
/// You can find a comprehensive demo project in RecastDemo folder. It
/// is a kitchen sink demo containing all the functionality of the library.
/// If you are new to `Recast` & `Detour`, check out
///
/// Sample_SoloMesh.cpp to get started with building navmeshes and
///
/// NavMeshTesterTool.cpp to see how `Detour` can be used to find paths.
///
/// Building RecastDemo
///
/// RecastDemo uses premake4
/// to build platform specific projects, now is good time to install it if
/// you don't have it already. To build _RecasDemo_, in your favourite terminal
/// navigate into the `RecastDemo` folder, then:
///
/// - OS X: `premake4 xcode4`
/// - Windows: `premake4 vs2010`
/// - Linux: `premake4 gmake`
///
/// See the premake4 documentation for full list of supported build file types.
/// The projects will be created in `RecastDemo/Build` folder. After you have
/// compiled the project, the _RecastDemo_ executable will be located in
/// `RecastDemo/Bin` folder.
///
/// Integrating With Your Own Project
///
/// It is recommended to add the source directories `DebugUtils`, `Detour`,
/// `DetourCrowd`, `DetourTileCache`, and `Recast` into your own project
/// depending on which parts of the project you need. For example your
/// level building tool could include _DebugUtils_, _Recast_, and _Detour_,
/// and your game runtime could just include _Detour_.
///
/// Discuss
///
/// - Discuss _Recast_ and _Detour_:
///
/// Recast Navigation Group
/// - Development Blog:
/// Digesting Duck
///
/// License
///
/// _Recast_ and _Detour_ is licensed under ZLib license.
///