/// @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 a 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 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, and peeling off the regions as simple polygons.
///
/// -# The voxel mold is built 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 the `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 _RecastDemo_, 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 the `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 Navigation_ is licensed under the ZLib license.
///