From 2b0c244d127e8e1de743102f53416af2b482393c Mon Sep 17 00:00:00 2001 From: Graham Pentheny Date: Tue, 22 Nov 2022 21:13:38 -0800 Subject: [PATCH] Updated doxygen output (#581) - Upgraded doxyfile to latest format - Fixed a bunch of warnings and errors in docstrings that doxygen was complaining about - Added the doxygen-awesome theme to modernize the output - Removed a duplicate screenshot we'd had in the docs folder - Moved the RecastDemo screenshot into the Docs/images folder - Changed the doxygen main page to be the README.md since the dedicated main page file we had was nearly identical but out of date - Added CONTRIBUTING.md so it's part of the generated doxygen output - Removed duplicate license file to avoid confusion - Combined the FAQ with the Recast_api.txt, since the FAQ was essentially just better docs for the members of `rcConfig` --- CONTRIBUTING.md | 26 +- DebugUtils/Include/DebugDraw.h | 2 + Detour/Include/DetourCommon.h | 1 - Detour/Include/DetourNavMesh.h | 4 +- Detour/Include/DetourNavMeshQuery.h | 7 +- Docs/Conceptual/FAQ.md | 49 - Docs/Conceptual/license_c.txt | 27 - Docs/Conceptual/mainpage_c.txt | 109 - Docs/DoxygenLayout.xml | 2 +- Docs/Extern/Recast_api.txt | 109 +- Docs/Images/recast_intro.png | Bin 378480 -> 0 bytes {RecastDemo => Docs/Images}/screenshot.png | Bin Docs/Readme.txt | 5 - Docs/doxygen-awesome-css/LICENSE | 21 + Docs/doxygen-awesome-css/README.md | 124 + .../doxygen-awesome-darkmode-toggle.js | 157 ++ .../doxygen-awesome-fragment-copy-button.js | 85 + .../doxygen-awesome-interactive-toc.js | 81 + .../doxygen-awesome-paragraph-link.js | 51 + ...n-awesome-sidebar-only-darkmode-toggle.css | 40 + .../doxygen-awesome-sidebar-only.css | 115 + Docs/doxygen-awesome-css/doxygen-awesome.css | 2405 +++++++++++++++++ .../doxygen-custom/custom-alternative.css | 54 + .../doxygen-custom/custom.css | 101 + .../doxygen-custom/header.html | 88 + .../toggle-alternative-theme.js | 12 + Docs/footer.html | 8 +- Doxyfile | 918 ++++--- README.md | 2 +- Recast/Include/Recast.h | 17 +- 30 files changed, 4061 insertions(+), 559 deletions(-) delete mode 100644 Docs/Conceptual/FAQ.md delete mode 100644 Docs/Conceptual/license_c.txt delete mode 100644 Docs/Conceptual/mainpage_c.txt delete mode 100644 Docs/Images/recast_intro.png rename {RecastDemo => Docs/Images}/screenshot.png (100%) create mode 100644 Docs/doxygen-awesome-css/LICENSE create mode 100644 Docs/doxygen-awesome-css/README.md create mode 100644 Docs/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js create mode 100644 Docs/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js create mode 100644 Docs/doxygen-awesome-css/doxygen-awesome-interactive-toc.js create mode 100644 Docs/doxygen-awesome-css/doxygen-awesome-paragraph-link.js create mode 100644 Docs/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css create mode 100644 Docs/doxygen-awesome-css/doxygen-awesome-sidebar-only.css create mode 100644 Docs/doxygen-awesome-css/doxygen-awesome.css create mode 100644 Docs/doxygen-awesome-css/doxygen-custom/custom-alternative.css create mode 100644 Docs/doxygen-awesome-css/doxygen-custom/custom.css create mode 100644 Docs/doxygen-awesome-css/doxygen-custom/header.html create mode 100644 Docs/doxygen-awesome-css/doxygen-custom/toggle-alternative-theme.js diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3cfdc21..d46d138 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,30 +3,23 @@ We'd love for you to contribute to our source code and to make Recast and Detour even better than they are today! Here are the guidelines we'd like you to follow: - - [Code of Conduct](#coc) - - [Question or Problem?](#question) - - [Issues and Bugs](#issue) - - [Feature Requests](#feature) - - [Submission Guidelines](#submission-guidelines) - - [Git Commit Guidelines](#git-commit-guidelines) - -## Code of Conduct +## Code of Conduct This project adheres to the [Open Code of Conduct][code-of-conduct]. By participating, you are expected to honor this code. -## Got a Question or Problem? +## Got a Question or Problem? If you have questions about how to use Recast or Detour, please direct these to the [Google Group][groups] discussion list. We are also available on [Gitter][gitter]. -## Found an Issue? +## Found an Issue? If you find a bug in the source code or a mistake in the documentation, you can help us by submitting an issue to our [GitHub Repository][github]. Even better you can submit a Pull Request with a fix. **Please see the Submission Guidelines below**. -## Want a Feature? +## Want a Feature? You can request a new feature by submitting an issue to our [GitHub Repository][github]. If you would like to implement a new feature then consider what kind of change it is: @@ -78,8 +71,7 @@ Before you submit your pull request consider the following guidelines: ``` * Implement your changes, **including appropriate tests if appropriate/possible**. -* Commit your changes using a descriptive commit message that follows our - [commit message conventions](#commit-message-format). +* Commit your changes using a descriptive commit message that follows our commit message conventions (see below). ```shell git commit -a @@ -108,10 +100,10 @@ Before you submit your pull request consider the following guidelines: If you have rebased to squash commits together, you will need to force push to update the PR: - ```shell - git rebase master -i - git push origin my-fix-branch -f - ``` +```shell +git rebase master -i +git push origin my-fix-branch -f +``` That's it! Thank you for your contribution! diff --git a/DebugUtils/Include/DebugDraw.h b/DebugUtils/Include/DebugDraw.h index 1a6b3e7..8ebe9eb 100644 --- a/DebugUtils/Include/DebugDraw.h +++ b/DebugUtils/Include/DebugDraw.h @@ -57,11 +57,13 @@ struct duDebugDraw /// Submit a vertex /// @param pos [in] position of the verts. /// @param color [in] color of the verts. + /// @param uv [in] the uv coordinates of the verts. virtual void vertex(const float* pos, unsigned int color, const float* uv) = 0; /// Submit a vertex /// @param x,y,z [in] position of the verts. /// @param color [in] color of the verts. + /// @param u,v [in] the uv coordinates of the verts. virtual void vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v) = 0; /// End drawing primitives. diff --git a/Detour/Include/DetourCommon.h b/Detour/Include/DetourCommon.h index 9d247fe..d54bc7e 100644 --- a/Detour/Include/DetourCommon.h +++ b/Detour/Include/DetourCommon.h @@ -37,7 +37,6 @@ feature to find minor members. /// Used to ignore a function parameter. VS complains about unused parameters /// and this silences the warning. -/// @param [in] _ Unused parameter template void dtIgnoreUnused(const T&) { } /// Swaps the values of the two parameters. diff --git a/Detour/Include/DetourNavMesh.h b/Detour/Include/DetourNavMesh.h index 34819e1..4c1277d 100644 --- a/Detour/Include/DetourNavMesh.h +++ b/Detour/Include/DetourNavMesh.h @@ -312,8 +312,8 @@ private: }; /// Get flags for edge in detail triangle. -/// @param triFlags[in] The flags for the triangle (last component of detail vertices above). -/// @param edgeIndex[in] The index of the first vertex of the edge. For instance, if 0, +/// @param[in] triFlags The flags for the triangle (last component of detail vertices above). +/// @param[in] edgeIndex The index of the first vertex of the edge. For instance, if 0, /// returns flags for edge AB. inline int dtGetDetailTriEdgeFlags(unsigned char triFlags, int edgeIndex) { diff --git a/Detour/Include/DetourNavMeshQuery.h b/Detour/Include/DetourNavMeshQuery.h index fc5dec8..101b3c8 100644 --- a/Detour/Include/DetourNavMeshQuery.h +++ b/Detour/Include/DetourNavMeshQuery.h @@ -175,7 +175,7 @@ public: dtStatus init(const dtNavMesh* nav, const int maxNodes); /// @name Standard Pathfinding Functions - // /@{ + /// @{ /// Finds a path from the start polygon to the end polygon. /// @param[in] startRef The refrence id of the start polygon. @@ -396,9 +396,9 @@ public: /// @param[in] startPos A position within the start polygon representing /// the start of the ray. [(x, y, z)] /// @param[in] endPos The position to cast the ray toward. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. /// @param[out] t The hit parameter. (FLT_MAX if no wall hit.) /// @param[out] hitNormal The normal of the nearest wall hit. [(x, y, z)] - /// @param[in] filter The polygon filter to apply to the query. /// @param[out] path The reference ids of the visited polygons. [opt] /// @param[out] pathCount The number of visited polygons. [opt] /// @param[in] maxPath The maximum number of polygons the @p path array can hold. @@ -414,7 +414,7 @@ public: /// the start of the ray. [(x, y, z)] /// @param[in] endPos The position to cast the ray toward. [(x, y, z)] /// @param[in] filter The polygon filter to apply to the query. - /// @param[in] flags govern how the raycast behaves. See dtRaycastOptions + /// @param[in] options govern how the raycast behaves. See dtRaycastOptions /// @param[out] hit Pointer to a raycast hit structure which will be filled by the results. /// @param[in] prevRef parent of start ref. Used during for cost calculation [opt] /// @returns The status flags for the query. @@ -465,6 +465,7 @@ public: /// The location is not exactly constrained by the circle, but it limits the visited polygons. /// @param[in] startRef The reference id of the polygon where the search starts. /// @param[in] centerPos The center of the search circle. [(x, y, z)] + /// @param[in] maxRadius The radius of the search circle. [Units: wu] /// @param[in] filter The polygon filter to apply to the query. /// @param[in] frand Function returning a random number [0..1). /// @param[out] randomRef The reference id of the random location. diff --git a/Docs/Conceptual/FAQ.md b/Docs/Conceptual/FAQ.md deleted file mode 100644 index 232aef6..0000000 --- a/Docs/Conceptual/FAQ.md +++ /dev/null @@ -1,49 +0,0 @@ -# Configuring Recast with rcConfig -The following describes best practices for configuring Recast. They're broken down by the fields in `rcConfig` and are ordered by the sequence in which you should consider them. - -## Determine Agent Size -First you should decide the size of your agent's logical cylinder. If your game world uses meters as units, a reasonable starting point for a human-sized agent might be a radius of `0.4` and a height of `2.0`. - -## cs -The voxelization cell size `cs` defines the voxel size along both axes of the ground plane: x and z in Recast. This value is usually derived from the character radius `r`. A recommended starting value for `cs` is either `r/2` or `r/3`. Smaller values of `cs` will increase rasterization resolution and navmesh detail, but total generation time will increase exponentially. In outdoor environments, `r/2` is often good enough. For indoor scenes with tight spaces you might want the extra precision, so a value of `r/3` or smaller may give better results. - -The initial instinct is to reduce this value to something very close to zero to maximize the detail of the generated navmesh. This quickly becomes a case of diminishing returns, however. Beyond a certain point there's usually not much perceptable difference in the generated navmesh, but huge increases in generation time. This hinders your ability to quickly iterate on level designs and provides little benefit. The general recommendation here is to use as large a value for `cs` as you can get away with. - -## ch -The voxelization cell height `ch` is defined separately in order to allow greater precision in height tests. A good starting point for `ch` is half the `cs` value. Smaller `ch` values ensure that the navmesh properly connects areas that are only separated by a small curb or ditch. If small holes are generated in your navmesh around where there are discontinuities in height (for example, stairs or curbs), you may want to decrease the cell height value to increase the vertical rasterization precision of Recast. - -## walkableHeight -This value defines the height `h` of the agent in voxels. This value should be calculated as `ceil(h / ch)`. Note this is based on `ch` not `cs` since it's a height value. - -## walkableClimb -The `walkableClimb` value defines the maximum height of ledges and steps that the agent can walk up. Given a designer-defined `maxClimb` distance in world units, this value should be calculated as `ceil(maxClimb / ch)`. Again, note that this is using `ch` not `cs` because it's a height-based value. - -## walkableRadius -The parameter `walkableRadius` defines the agent radius in voxels. Most often, this value should be calculated as `ceil(r/cs)`. Note this is based on `cs` since the agent radius is always parallel to the ground plane. - -If the `walkableRadius` value is greater than zero, the edges of the navmesh will be pushed away from all obstacles by this amount. - -A non-zero `walkableRadius` allows for much simpler runtime navmesh collision checks. The game only needs to check that the center point of the agent is contained within a navmesh polygon. Without this erosion, runtime navigation checks need to collide the geometric projection onto the navmesh of agent's logical cylinder with the boundary edges of the navmesh polygons. - -Navmesh erosion is performed on the voxelized world representation, so some precision can be lost there. This step allows simpler checks at runtime. - -If you want to have tight-fitting navmesh, or want to reuse the same navmesh for multiple agents with differing radii, you can use a `walkableRadius` value of zero. - -## walkableSlopeAngle -The parameter `walkableSlopeAngle` is to filter out areas of the world where the ground slope would be too steep for an agent to traverse. This value is defined as a maximum angle in degrees that the surface normal of a polgyon can differ from the world's up vector. This value must be within the range `[0, 90]`. - -## maxEdgeLen -In certain cases, long outer edges may decrease the quality of the resulting triangulation, creating very long thin triangles. This can sometimes be remedied by limiting the maximum edge length, causing the problematic long edges to be broken up into smaller segments. - -The parameter `maxEdgeLen` defines the maximum edge length and is defined in terms of voxels. A good value for `maxEdgeLen` is something like `walkableRadius * 8`. A good way to adjust this value is to first set it really high and see if your data creates long edges. If it does, decrease `maxEdgeLen` until you find the largest value which improves the resulting tesselation. - -## maxSimplificationError -When the rasterized areas are converted back to a vectorized representation, the `maxSimplificationError` describes how loosely the simplification is done. The simplification process uses the [Ramer–Douglas-Peucker algorithm](https://en.wikipedia.org/wiki/Ramer–Douglas–Peucker_algorithm), and this value describes the max deviation in voxels. - -Good values for `maxSimplificationError` are in the range `[1.1, 1.5]`. A value of `1.3` is a good starting point and usually yields good results. If the value is less than `1.1`, some sawtoothing starts to appear at the generated edges. If the value is more than `1.5`, the mesh simplification starts to cut some corners it shouldn't. - -## minRegionSize -Watershed partitioning is really prone to noise in the input distance field. In order to get nicer areas, the areas are merged and small disconnected areas are removed after the water shed partitioning. The parameter `minRegionSize` describes the minimum isolated region size that is still kept. A region is removed if the number of voxels in the region is less than the square of `minRegionSize`. - -## mergeRegionSize -The triangulation process works best with small, localized voxel regions. The parameter `mergeRegionSize` controls the maximum voxel area of a region that is allowed to be merged with another region. If you see small patches missing here and there, you could lower the minRegionSize. diff --git a/Docs/Conceptual/license_c.txt b/Docs/Conceptual/license_c.txt deleted file mode 100644 index c2a3c1e..0000000 --- a/Docs/Conceptual/license_c.txt +++ /dev/null @@ -1,27 +0,0 @@ - -/** -@page License License - -
-Copyright (c) 2009-2011 Mikko Mononen memon@inside.org
-
-This software is provided 'as-is', without any express or implied
-warranty.  In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; you must not
-   claim that you wrote the original software. If you use this software
-   in a product, an acknowledgment in the product documentation would be
-   appreciated but is not required.
-
-2. Altered source versions must be plainly marked as such, and must not be
-   misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- -*/ \ No newline at end of file diff --git a/Docs/Conceptual/mainpage_c.txt b/Docs/Conceptual/mainpage_c.txt deleted file mode 100644 index 14dd1cf..0000000 --- a/Docs/Conceptual/mainpage_c.txt +++ /dev/null @@ -1,109 +0,0 @@ -/// @mainpage Recast Navigation -/// -/// @image html recast_intro.png -/// -///

Recast

-/// -/// _Recast_ is a 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 triangulating 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 generated 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 major 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 [premake5](http://premake.github.io/) to build platform specific projects. -/// Download it and make sure it's available on your path, or specify the path to it. -/// -///

Linux

-/// -/// - Install SDl2 and its dependencies according to your distro's guidelines. -/// - run `premake5 gmake` from the `RecastDemo` folder. -/// - `cd Build/gmake` then `make` -/// - Run `RecastDemo\Bin\RecastDemo` -/// -///

OSX

-/// -/// - Grab the latest SDL2 development library dmg from [here](https://www.libsdl.org/download-2.0.php) and place `SDL2.framework` in `/Library/Frameworks/` -/// - Navigate to the `RecastDemo` folder and run `premake5 xcode4` -/// - Open `Build/xcode4/recastnavigation.xcworkspace` -/// - Select the "RecastDemo" project in the left pane, go to the "BuildPhases" tab and expand "Link Binary With Libraries" -/// - Remove the existing entry for SDL2 (it should have a white box icon) and re-add it by hitting the plus, selecting "Add Other", and selecting `/Library/Frameworks/SDL2.framework`. It should now have a suitcase icon. -/// - Set the RecastDemo project as the target and build. -/// -///

Windows

-/// -/// - Grab the latest SDL2 development library release from [here](https://www.libsdl.org/download-2.0.php) and unzip it `RecastDemo\Contrib`. Rename the SDL folder such that the path `RecastDemo\Contrib\SDL\lib\x86` is valid. -/// - Run `"premake5" vs2015` from the `RecastDemo` folder -/// - Open the solution, build, and run. -/// -///

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`. -/// -///

Contributing

-/// All development is centralized in github. Check out the Contributing Guidelines for more information. -/// -///

Discuss

-/// -/// - Discuss _Recast_ and _Detour_: -/// -/// Recast Navigation Group -/// - Development Blog: -/// Digesting Duck -/// -///

License

-/// -/// _Recast Navigation_ is licensed under the ZLib license. -/// diff --git a/Docs/DoxygenLayout.xml b/Docs/DoxygenLayout.xml index b20079c..db963bb 100644 --- a/Docs/DoxygenLayout.xml +++ b/Docs/DoxygenLayout.xml @@ -107,7 +107,7 @@ - + diff --git a/Docs/Extern/Recast_api.txt b/Docs/Extern/Recast_api.txt index f6ff064..6cd4c63 100644 --- a/Docs/Extern/Recast_api.txt +++ b/Docs/Extern/Recast_api.txt @@ -28,9 +28,6 @@ The general life-cycle of the main classes is as follows: -# Use the object as part of the pipeline. -# Free the object using the Recast allocator. (E.g. #rcFreeHeightField) -@note This is a summary list of members. Use the index or search -feature to find minor members. - @struct rcConfig @par @@ -51,6 +48,10 @@ the platform's floating point accuraccy as well as interdependencies between the values of multiple parameters. See the individual parameter documentation for details. +@note First you should decide the size of your agent's logical cylinder. +If your game world uses meters as units, a reasonable starting point for +a human-sized agent might be a radius of `0.4` and a height of `2.0`. + @var rcConfig::borderSize @par @@ -66,7 +67,24 @@ This field is only used when building multi-tile meshes. @var rcConfig::cs @par -@p cs and #ch define voxel/grid/cell size. So their values have significant +The voxelization cell size #cs defines the voxel size along both axes of +the ground plane: x and z in Recast. This value is usually derived from the +character radius `r`. A recommended starting value for #cs is either `r/2` +or `r/3`. Smaller values of #cs will increase rasterization resolution and +navmesh detail, but total generation time will increase exponentially. In +outdoor environments, `r/2` is often good enough. For indoor scenes with +tight spaces you might want the extra precision, so a value of `r/3` or +smaller may give better results. + +The initial instinct is to reduce this value to something very close to zero +to maximize the detail of the generated navmesh. This quickly becomes a case +of diminishing returns, however. Beyond a certain point there's usually not +much perceptable difference in the generated navmesh, but huge increases in +generation time. This hinders your ability to quickly iterate on level +designs and provides little benefit. The general recommendation here is to +use as large a value for #cs as you can get away with. + +#cs and #ch define voxel/grid/cell size. So their values have significant side effects on all parameters defined in voxel units. The minimum value for this parameter depends on the platform's floating point @@ -75,7 +93,15 @@ accuracy, with the practical minimum usually around 0.05. @var rcConfig::ch @par -#cs and @p ch define voxel/grid/cell size. So their values have significant +The voxelization cell height #ch is defined separately in order to allow for +greater precision in height tests. A good starting point for #ch is half the +#cs value. Smaller #ch values ensure that the navmesh properly connects areas +that are only separated by a small curb or ditch. If small holes are generated +in your navmesh around where there are discontinuities in height (for example, +stairs or curbs), you may want to decrease the cell height value to increase +the vertical rasterization precision of Recast. + +#cs and #ch define voxel/grid/cell size. So their values have significant side effects on all parameters defined in voxel units. The minimum value for this parameter depends on the platform's floating point @@ -84,44 +110,106 @@ accuracy, with the practical minimum usually around 0.05. @var rcConfig::walkableSlopeAngle @par +The parameter #walkableSlopeAngle is to filter out areas of the world where +the ground slope would be too steep for an agent to traverse. This value is +defined as a maximum angle in degrees that the surface normal of a polgyon +can differ from the world's up vector. This value must be within the range +`[0, 90]`. + The practical upper limit for this parameter is usually around 85 degrees. @var rcConfig::walkableHeight @par +This value defines the worldspace height `h` of the agent in voxels. Th value +of #walkableHeight should be calculated as `ceil(h / ch)`. Note this is based +on #ch not #cs since it's a height value. + Permits detection of overhangs in the source geometry that make the geometry below un-walkable. The value is usually set to the maximum agent height. @var rcConfig::walkableClimb @par +The #walkableClimb value defines the maximum height of ledges and steps that +the agent can walk up. Given a designer-defined `maxClimb` distance in world +units, the value of #walkableClimb should be calculated as `ceil(maxClimb / ch)`. +Note that this is using #ch not #cs because it's a height-based value. + Allows the mesh to flow over low lying obstructions such as curbs and up/down stairways. The value is usually set to how far up/down an agent can step. @var rcConfig::walkableRadius @par +The parameter #walkableRadius defines the worldspace agent radius `r` in voxels. +Most often, this value of #walkableRadius should be calculated as `ceil(r / cs)`. +Note this is based on #cs since the agent radius is always parallel to the ground +plane. + +If the #walkableRadius value is greater than zero, the edges of the navmesh will +be pushed away from all obstacles by this amount. + +A non-zero #walkableRadius allows for much simpler runtime navmesh collision checks. +The game only needs to check that the center point of the agent is contained within +a navmesh polygon. Without this erosion, runtime navigation checks need to collide +the geometric projection of the agent's logical cylinder onto the navmesh with the +boundary edges of the navmesh polygons. + In general, this is the closest any part of the final mesh should get to an obstruction in the source geometry. It is usually set to the maximum agent radius. -While a value of zero is legal, it is not recommended and can result in -odd edge case issues. +If you want to have tight-fitting navmesh, or want to reuse the same navmesh for +multiple agents with differing radii, you can use a `walkableRadius` value of zero. +Be advised though that you will need to perform your own collisions with the navmesh +edges, and odd edge cases issues in the mesh generation can potentially occur. For +these reasons, specifying a radius of zero is allowed but is not recommended. @var rcConfig::maxEdgeLen @par +In certain cases, long outer edges may decrease the quality of the resulting +triangulation, creating very long thin triangles. This can sometimes be +remedied by limiting the maximum edge length, causing the problematic long +edges to be broken up into smaller segments. + +The parameter #maxEdgeLen defines the maximum edge length and is defined in +terms of voxels. A good value for #maxEdgeLen is something like +`walkableRadius * 8`. A good way to adjust this value is to first set it really +high and see if your data creates long edges. If it does, decrease #maxEdgeLen +until you find the largest value which improves the resulting tesselation. + Extra vertices will be inserted as needed to keep contour edges below this length. A value of zero effectively disables this feature. @var rcConfig::maxSimplificationError @par +When the rasterized areas are converted back to a vectorized representation, +the #maxSimplificationError describes how loosely the simplification is done. +The simplification process uses the +Ramer–Douglas-Peucker algorithm, +and this value describes the max deviation in voxels. + +Good values for #maxSimplificationError are in the range `[1.1, 1.5]`. +A value of `1.3` is a good starting point and usually yields good results. +If the value is less than `1.1`, some sawtoothing starts to appear at the +generated edges. If the value is more than `1.5`, the mesh simplification +starts to cut some corners it shouldn't. + The effect of this parameter only applies to the xz-plane. @var rcConfig::minRegionArea @par +Watershed partitioning is really prone to noise in the input distance field. +In order to get nicer areas, the areas are merged and small disconnected areas +are removed after the water shed partitioning. The parameter #minRegionArea +describes the minimum isolated region size that is still kept. A region is +removed if the number of voxels in the region is less than the square of +#minRegionArea. + Any regions that are smaller than this area will be marked as unwalkable. This is useful in removing useless regions that can sometimes form on geometry such as table tops, box tops, etc. @@ -132,6 +220,13 @@ geometry such as table tops, box tops, etc. If the mesh data is to be used to construct a Detour navigation mesh, then the upper limit is limited to <= #DT_VERTS_PER_POLYGON. +@var rcConfig::mergeRegionArea +@par + +The triangulation process works best with small, localized voxel regions. +The parameter #mergeRegionArea controls the maximum voxel area of a region +that is allowed to be merged with another region. If you see small patches +missing here and there, you could lower the #minRegionArea value. @struct rcHeightfield @par diff --git a/Docs/Images/recast_intro.png b/Docs/Images/recast_intro.png deleted file mode 100644 index ad18ac610b32758f20616a3955160db1d493b237..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378480 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

MB5KyPy#Nsrs`hY%r|x_en0d#;XZ1-|Uvwc(g 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 diff --git a/RecastDemo/screenshot.png b/Docs/Images/screenshot.png similarity index 100% rename from RecastDemo/screenshot.png rename to Docs/Images/screenshot.png diff --git a/Docs/Readme.txt b/Docs/Readme.txt index be153b9..3bf89fa 100644 --- a/Docs/Readme.txt +++ b/Docs/Readme.txt @@ -7,11 +7,6 @@ Directory Layout High level content and format files. (E.g. css, header, footer.) -./Conceptual - - Conceptual (non-api) documentation such as overviews, how-to's, etc. - The main index page content is also in this directory. - ./Extern API documentation that is located outside the source files. diff --git a/Docs/doxygen-awesome-css/LICENSE b/Docs/doxygen-awesome-css/LICENSE new file mode 100644 index 0000000..1d8b99a --- /dev/null +++ b/Docs/doxygen-awesome-css/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Docs/doxygen-awesome-css/README.md b/Docs/doxygen-awesome-css/README.md new file mode 100644 index 0000000..5b07c92 --- /dev/null +++ b/Docs/doxygen-awesome-css/README.md @@ -0,0 +1,124 @@ +# Doxygen Awesome + +[![GitHub release (latest by date)](https://img.shields.io/github/v/release/jothepro/doxygen-awesome-css)](https://github.com/jothepro/doxygen-awesome-css/releases/latest) +[![GitHub](https://img.shields.io/github/license/jothepro/doxygen-awesome-css)](https://github.com/jothepro/doxygen-awesome-css/blob/main/LICENSE) +![GitHub Repo stars](https://img.shields.io/github/stars/jothepro/doxygen-awesome-css) + +

+ +**Doxygen Awesome** is a custom **CSS theme for Doxygen HTML-documentation** with lots of customization parameters. + +## Motivation + +I really like how the Doxygen HTML-documentation is structured! But IMHO it looks a bit outdated. + +This theme is an attempt to update the visuals of Doxygen without changing its overall layout too much. + +## Features + +- 🌈 Clean, modern design +- 🚀 Heavily customizable by adjusting CSS-variables +- 🧩 No changes to the HTML structure of Doxygen required +- 📱 Improved mobile usability +- 🌘 Dark mode support! +- 🥇 Works best with **doxygen 1.9.1** - **1.9.4** + +## Examples + +Some websites using this theme: + +- [Documentation of this repository](https://jothepro.github.io/doxygen-awesome-css/) +- [wxWidgets](https://docs.wxwidgets.org/3.2/) +- [OpenCV 5.x](https://docs.opencv.org/5.x/) +- [Zephyr](https://docs.zephyrproject.org/latest/doxygen/html/index.html) +- [FELTOR](https://mwiesenberger.github.io/feltor/dg/html/modules.html) +- [Spatial Audio Framework (SAF)](https://leomccormack.github.io/Spatial_Audio_Framework/index.html) +- [libCloudSync](https://jothepro.github.io/libCloudSync/) +- [libsl3](https://a4z.github.io/libsl3/) + +## Installation + +To use the theme in your documentation, copy the required CSS and JS files from this repository into your project or add the repository as submodule and check out the latest release: + +```bash +git submodule add https://github.com/jothepro/doxygen-awesome-css.git +cd doxygen-awesome-css +git checkout v2.1.0 +``` + +All theme files are located in the root of this repository and start with the prefix `doxygen-awesome-`. You may not need all of them. Follow the install instructions to figure out what files are required for your setup. + +### Choosing a layout + +There is two layout options. Choose one of them and configure Doxygen accordingly: + +
+ +![Available theme variants](img/theme-variants.drawio.svg) + +
+ + + +#### Base Theme (1) + +Comes with the typical Doxygen titlebar. Optionally the treeview in the sidebar can be enabled. + +Required files: `doxygen-awesome.css` + +Required `Doxyfile` configuration: +``` +GENERATE_TREEVIEW = YES # optional. Also works without treeview +DISABLE_INDEX = NO +FULL_SIDEBAR = NO +HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css +``` + +#### Sidebar-Only Theme (2) + +Hides the top titlebar to give more space to the content. The treeview must be enabled in order for this theme to work. + +Required files: `doxygen-awesome.css`, `doxygen-awesome-sidebar-only.css` + +Required `Doxyfile` configuration: +``` +GENERATE_TREEVIEW = YES # required! +DISABLE_INDEX = NO +FULL_SIDEBAR = NO +HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css \ + doxygen-awesome-css/doxygen-awesome-sidebar-only.css +``` + + +**Caution**: This theme is not compatible with the `FULL_SIDEBAR = YES` option provided by Doxygen! + +### Further installation instructions: + +- [Installing extensions](docs/extensions.md) +- [Customizing the theme (colors, spacing, border-radius, ...)](docs/customization.md) +- [Tips and Tricks for further configuration](docs/tricks.md) + +## Browser support + +Tested with + +- Chrome 104, Chrome 104 for Android, Chrome 103 for iOS +- Safari 15, Safari for iOS 15 +- Firefox 103, Firefox 103 for Android, Firefox Daylight 102 for iOS +- Edge 104 + +The theme does not strive to be backwards compatible to (significantly) older browser versions. + +## Credits + +- This theme was initially inspired by the [vuepress](https://vuepress.vuejs.org/) static site generator default theme. +- Thank you for all the bug reports, pull requests and inspiring feedback on github! + + + +Read Next: [Extensions](docs/extensions.md) + \ No newline at end of file diff --git a/Docs/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js b/Docs/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js new file mode 100644 index 0000000..f2c5853 --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js @@ -0,0 +1,157 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +class DoxygenAwesomeDarkModeToggle extends HTMLElement { + // SVG icons from https://fonts.google.com/icons + // Licensed under the Apache 2.0 license: + // https://www.apache.org/licenses/LICENSE-2.0.html + static lightModeIcon = `` + static darkModeIcon = `` + static title = "Toggle Light/Dark Mode" + + static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode" + static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode" + + static _staticConstructor = function() { + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.userPreference) + // Update the color scheme when the browsers preference changes + // without user interaction on the website. + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { + DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() + }) + // Update the color scheme when the tab is made visible again. + // It is possible that the appearance was changed in another tab + // while this tab was in the background. + document.addEventListener("visibilitychange", visibilityState => { + if (document.visibilityState === 'visible') { + DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() + } + }); + }() + + static init() { + $(function() { + $(document).ready(function() { + const toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle') + toggleButton.title = DoxygenAwesomeDarkModeToggle.title + toggleButton.updateIcon() + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { + toggleButton.updateIcon() + }) + document.addEventListener("visibilitychange", visibilityState => { + if (document.visibilityState === 'visible') { + toggleButton.updateIcon() + } + }); + + $(document).ready(function(){ + document.getElementById("MSearchBox").parentNode.appendChild(toggleButton) + }) + $(window).resize(function(){ + document.getElementById("MSearchBox").parentNode.appendChild(toggleButton) + }) + }) + }) + } + + constructor() { + super(); + this.onclick=this.toggleDarkMode + } + + /** + * @returns `true` for dark-mode, `false` for light-mode system preference + */ + static get systemPreference() { + return window.matchMedia('(prefers-color-scheme: dark)').matches + } + + /** + * @returns `true` for dark-mode, `false` for light-mode user preference + */ + static get userPreference() { + return (!DoxygenAwesomeDarkModeToggle.systemPreference && localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)) || + (DoxygenAwesomeDarkModeToggle.systemPreference && !localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey)) + } + + static set userPreference(userPreference) { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = userPreference + if(!userPreference) { + if(DoxygenAwesomeDarkModeToggle.systemPreference) { + localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey, true) + } else { + localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey) + } + } else { + if(!DoxygenAwesomeDarkModeToggle.systemPreference) { + localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey, true) + } else { + localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey) + } + } + DoxygenAwesomeDarkModeToggle.onUserPreferenceChanged() + } + + static enableDarkMode(enable) { + if(enable) { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = true + document.documentElement.classList.add("dark-mode") + document.documentElement.classList.remove("light-mode") + } else { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = false + document.documentElement.classList.remove("dark-mode") + document.documentElement.classList.add("light-mode") + } + } + + static onSystemPreferenceChanged() { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) + } + + static onUserPreferenceChanged() { + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) + } + + toggleDarkMode() { + DoxygenAwesomeDarkModeToggle.userPreference = !DoxygenAwesomeDarkModeToggle.userPreference + this.updateIcon() + } + + updateIcon() { + if(DoxygenAwesomeDarkModeToggle.darkModeEnabled) { + this.innerHTML = DoxygenAwesomeDarkModeToggle.darkModeIcon + } else { + this.innerHTML = DoxygenAwesomeDarkModeToggle.lightModeIcon + } + } +} + +customElements.define("doxygen-awesome-dark-mode-toggle", DoxygenAwesomeDarkModeToggle); diff --git a/Docs/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js b/Docs/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js new file mode 100644 index 0000000..7d06b34 --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js @@ -0,0 +1,85 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +class DoxygenAwesomeFragmentCopyButton extends HTMLElement { + constructor() { + super(); + this.onclick=this.copyContent + } + static title = "Copy to clipboard" + static copyIcon = `` + static successIcon = `` + static successDuration = 980 + static init() { + $(function() { + $(document).ready(function() { + if(navigator.clipboard) { + const fragments = document.getElementsByClassName("fragment") + for(const fragment of fragments) { + const fragmentWrapper = document.createElement("div") + fragmentWrapper.className = "doxygen-awesome-fragment-wrapper" + const fragmentCopyButton = document.createElement("doxygen-awesome-fragment-copy-button") + fragmentCopyButton.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon + fragmentCopyButton.title = DoxygenAwesomeFragmentCopyButton.title + + fragment.parentNode.replaceChild(fragmentWrapper, fragment) + fragmentWrapper.appendChild(fragment) + fragmentWrapper.appendChild(fragmentCopyButton) + + } + } + }) + }) + } + + + copyContent() { + const content = this.previousSibling.cloneNode(true) + // filter out line number from file listings + content.querySelectorAll(".lineno, .ttc").forEach((node) => { + node.remove() + }) + let textContent = content.textContent + // remove trailing newlines that appear in file listings + let numberOfTrailingNewlines = 0 + while(textContent.charAt(textContent.length - (numberOfTrailingNewlines + 1)) == '\n') { + numberOfTrailingNewlines++; + } + textContent = textContent.substring(0, textContent.length - numberOfTrailingNewlines) + navigator.clipboard.writeText(textContent); + this.classList.add("success") + this.innerHTML = DoxygenAwesomeFragmentCopyButton.successIcon + window.setTimeout(() => { + this.classList.remove("success") + this.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon + }, DoxygenAwesomeFragmentCopyButton.successDuration); + } +} + +customElements.define("doxygen-awesome-fragment-copy-button", DoxygenAwesomeFragmentCopyButton) diff --git a/Docs/doxygen-awesome-css/doxygen-awesome-interactive-toc.js b/Docs/doxygen-awesome-css/doxygen-awesome-interactive-toc.js new file mode 100644 index 0000000..b049f57 --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-awesome-interactive-toc.js @@ -0,0 +1,81 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +class DoxygenAwesomeInteractiveToc { + static topOffset = 38 + static hideMobileMenu = true + static headers = [] + + static init() { + window.addEventListener("load", () => { + let toc = document.querySelector(".contents > .toc") + if(toc) { + toc.classList.add("interactive") + if(!DoxygenAwesomeInteractiveToc.hideMobileMenu) { + toc.classList.add("open") + } + document.querySelector(".contents > .toc > h3")?.addEventListener("click", () => { + if(toc.classList.contains("open")) { + toc.classList.remove("open") + } else { + toc.classList.add("open") + } + }) + + document.querySelectorAll(".contents > .toc > ul a").forEach((node) => { + let id = node.getAttribute("href").substring(1) + DoxygenAwesomeInteractiveToc.headers.push({ + node: node, + headerNode: document.getElementById(id) + }) + + document.getElementById("doc-content")?.addEventListener("scroll", () => { + DoxygenAwesomeInteractiveToc.update() + }) + }) + DoxygenAwesomeInteractiveToc.update() + } + }) + } + + static update() { + let active = DoxygenAwesomeInteractiveToc.headers[0]?.node + DoxygenAwesomeInteractiveToc.headers.forEach((header) => { + let position = header.headerNode.getBoundingClientRect().top + header.node.classList.remove("active") + header.node.classList.remove("aboveActive") + if(position < DoxygenAwesomeInteractiveToc.topOffset) { + active = header.node + active?.classList.add("aboveActive") + } + }) + active?.classList.add("active") + active?.classList.remove("aboveActive") + } +} \ No newline at end of file diff --git a/Docs/doxygen-awesome-css/doxygen-awesome-paragraph-link.js b/Docs/doxygen-awesome-css/doxygen-awesome-paragraph-link.js new file mode 100644 index 0000000..6424dbd --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-awesome-paragraph-link.js @@ -0,0 +1,51 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +class DoxygenAwesomeParagraphLink { + // Icon from https://fonts.google.com/icons + // Licensed under the Apache 2.0 license: + // https://www.apache.org/licenses/LICENSE-2.0.html + static icon = `` + static title = "Permanent Link" + static init() { + $(function() { + $(document).ready(function() { + document.querySelectorAll(".contents a.anchor[id], .contents .groupheader > a[id]").forEach((node) => { + let anchorlink = document.createElement("a") + anchorlink.setAttribute("href", `#${node.getAttribute("id")}`) + anchorlink.setAttribute("title", DoxygenAwesomeParagraphLink.title) + anchorlink.classList.add("anchorlink") + node.classList.add("anchor") + anchorlink.innerHTML = DoxygenAwesomeParagraphLink.icon + node.parentElement.appendChild(anchorlink) + }) + }) + }) + } +} diff --git a/Docs/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css b/Docs/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css new file mode 100644 index 0000000..b988b6f --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css @@ -0,0 +1,40 @@ + +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +@media screen and (min-width: 768px) { + + #MSearchBox { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - var(--searchbar-height) - 1px); + } + + #MSearchField { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 66px - var(--searchbar-height)); + } +} diff --git a/Docs/doxygen-awesome-css/doxygen-awesome-sidebar-only.css b/Docs/doxygen-awesome-css/doxygen-awesome-sidebar-only.css new file mode 100644 index 0000000..656ebbf --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-awesome-sidebar-only.css @@ -0,0 +1,115 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + */ + +html { + /* side nav width. MUST be = `TREEVIEW_WIDTH`. + * Make sure it is wide enough to contain the page title (logo + title + version) + */ + --side-nav-fixed-width: 335px; + --menu-display: none; + + --top-height: 120px; + --toc-sticky-top: -25px; + --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 25px); +} + +#projectname { + white-space: nowrap; +} + + +@media screen and (min-width: 768px) { + html { + --searchbar-background: var(--page-background-color); + } + + #side-nav { + min-width: var(--side-nav-fixed-width); + max-width: var(--side-nav-fixed-width); + top: var(--top-height); + overflow: visible; + } + + #nav-tree, #side-nav { + height: calc(100vh - var(--top-height)) !important; + } + + #nav-tree { + padding: 0; + } + + #top { + display: block; + border-bottom: none; + height: var(--top-height); + margin-bottom: calc(0px - var(--top-height)); + max-width: var(--side-nav-fixed-width); + overflow: hidden; + background: var(--side-nav-background); + } + #main-nav { + float: left; + padding-right: 0; + } + + .ui-resizable-handle { + cursor: default; + width: 1px !important; + box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color); + } + + #nav-path { + position: fixed; + right: 0; + left: var(--side-nav-fixed-width); + bottom: 0; + width: auto; + } + + #doc-content { + height: calc(100vh - 31px) !important; + padding-bottom: calc(3 * var(--spacing-large)); + padding-top: calc(var(--top-height) - 80px); + box-sizing: border-box; + margin-left: var(--side-nav-fixed-width) !important; + } + + #MSearchBox { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium))); + } + + #MSearchField { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 65px); + } + + #MSearchResultsWindow { + left: var(--spacing-medium) !important; + right: auto; + } +} diff --git a/Docs/doxygen-awesome-css/doxygen-awesome.css b/Docs/doxygen-awesome-css/doxygen-awesome.css new file mode 100644 index 0000000..abd2893 --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-awesome.css @@ -0,0 +1,2405 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +html { + /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */ + --primary-color: #1779c4; + --primary-dark-color: #335c80; + --primary-light-color: #70b1e9; + + /* page base colors */ + --page-background-color: #ffffff; + --page-foreground-color: #2f4153; + --page-secondary-foreground-color: #6f7e8e; + + /* color for all separators on the website: hr, borders, ... */ + --separator-color: #dedede; + + /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */ + --border-radius-large: 8px; + --border-radius-small: 4px; + --border-radius-medium: 6px; + + /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */ + --spacing-small: 5px; + --spacing-medium: 10px; + --spacing-large: 16px; + + /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */ + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); + + --odd-color: rgba(0,0,0,.028); + + /* font-families. will affect all text on the website + * font-family: the normal font for text, headlines, menus + * font-family-monospace: used for preformatted text in memtitle, code, fragments + */ + --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; + --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + + /* font sizes */ + --page-font-size: 15.6px; + --navigation-font-size: 14.4px; + --toc-font-size: 13.4px; + --code-font-size: 14px; /* affects code, fragment */ + --title-font-size: 22px; + + /* content text properties. These only affect the page content, not the navigation or any other ui elements */ + --content-line-height: 27px; + /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/ + --content-maxwidth: 1050px; + --table-line-height: 24px; + --toc-sticky-top: var(--spacing-medium); + --toc-width: 200px; + --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px); + + /* colors for various content boxes: @warning, @note, @deprecated @bug */ + --warning-color: #f8d1cc; + --warning-color-dark: #b61825; + --warning-color-darker: #75070f; + --note-color: #faf3d8; + --note-color-dark: #f3a600; + --note-color-darker: #5f4204; + --todo-color: #e4f3ff; + --todo-color-dark: #1879C4; + --todo-color-darker: #274a5c; + --deprecated-color: #ecf0f3; + --deprecated-color-dark: #5b6269; + --deprecated-color-darker: #43454a; + --bug-color: #e4dafd; + --bug-color-dark: #5b2bdd; + --bug-color-darker: #2a0d72; + --invariant-color: #d8f1e3; + --invariant-color-dark: #44b86f; + --invariant-color-darker: #265532; + + /* blockquote colors */ + --blockquote-background: #f8f9fa; + --blockquote-foreground: #636568; + + /* table colors */ + --tablehead-background: #f1f1f1; + --tablehead-foreground: var(--page-foreground-color); + + /* menu-display: block | none + * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible. + * `GENERATE_TREEVIEW` MUST be enabled! + */ + --menu-display: block; + + --menu-focus-foreground: var(--page-background-color); + --menu-focus-background: var(--primary-color); + --menu-selected-background: rgba(0,0,0,.05); + + + --header-background: var(--page-background-color); + --header-foreground: var(--page-foreground-color); + + /* searchbar colors */ + --searchbar-background: var(--side-nav-background); + --searchbar-foreground: var(--page-foreground-color); + + /* searchbar size + * (`searchbar-width` is only applied on screens >= 768px. + * on smaller screens the searchbar will always fill the entire screen width) */ + --searchbar-height: 33px; + --searchbar-width: 210px; + --searchbar-border-radius: var(--searchbar-height); + + /* code block colors */ + --code-background: #f5f5f5; + --code-foreground: var(--page-foreground-color); + + /* fragment colors */ + --fragment-background: #F8F9FA; + --fragment-foreground: #37474F; + --fragment-keyword: #bb6bb2; + --fragment-keywordtype: #8258b3; + --fragment-keywordflow: #d67c3b; + --fragment-token: #438a59; + --fragment-comment: #969696; + --fragment-link: #5383d6; + --fragment-preprocessor: #46aaa5; + --fragment-linenumber-color: #797979; + --fragment-linenumber-background: #f4f4f5; + --fragment-linenumber-border: #e3e5e7; + --fragment-lineheight: 20px; + + /* sidebar navigation (treeview) colors */ + --side-nav-background: #fbfbfb; + --side-nav-foreground: var(--page-foreground-color); + --side-nav-arrow-opacity: 0; + --side-nav-arrow-hover-opacity: 0.9; + + --toc-background: var(--side-nav-background); + --toc-foreground: var(--side-nav-foreground); + + /* height of an item in any tree / collapsable table */ + --tree-item-height: 30px; + + --memname-font-size: var(--code-font-size); + --memtitle-font-size: 18px; + + --webkit-scrollbar-size: 7px; + --webkit-scrollbar-padding: 4px; + --webkit-scrollbar-color: var(--separator-color); +} + +@media screen and (max-width: 767px) { + html { + --page-font-size: 16px; + --navigation-font-size: 16px; + --toc-font-size: 15px; + --code-font-size: 15px; /* affects code, fragment */ + --title-font-size: 22px; + } +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #86a9c4; + --primary-light-color: #4779ac; + + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35); + + --odd-color: rgba(100,100,100,.06); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #38393b; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #222325; + --blockquote-foreground: #7e8c92; + + --warning-color: #2e1917; + --warning-color-dark: #ad2617; + --warning-color-darker: #f5b1aa; + --note-color: #3b2e04; + --note-color-dark: #f1b602; + --note-color-darker: #ceb670; + --todo-color: #163750; + --todo-color-dark: #1982D2; + --todo-color-darker: #dcf0fa; + --deprecated-color: #2e323b; + --deprecated-color-dark: #738396; + --deprecated-color-darker: #abb0bd; + --bug-color: #2a2536; + --bug-color-dark: #7661b3; + --bug-color-darker: #ae9ed6; + --invariant-color: #303a35; + --invariant-color-dark: #76ce96; + --invariant-color-darker: #cceed5; + + --fragment-background: #282c34; + --fragment-foreground: #dbe4eb; + --fragment-keyword: #cc99cd; + --fragment-keywordtype: #ab99cd; + --fragment-keywordflow: #e08000; + --fragment-token: #7ec699; + --fragment-comment: #999999; + --fragment-link: #98c0e3; + --fragment-preprocessor: #65cabe; + --fragment-linenumber-color: #cccccc; + --fragment-linenumber-background: #35393c; + --fragment-linenumber-border: #1f1f1f; + } +} + +/* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */ +html.dark-mode { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #86a9c4; + --primary-light-color: #4779ac; + + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30); + + --odd-color: rgba(100,100,100,.06); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #38393b; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #222325; + --blockquote-foreground: #7e8c92; + + --warning-color: #2e1917; + --warning-color-dark: #ad2617; + --warning-color-darker: #f5b1aa; + --note-color: #3b2e04; + --note-color-dark: #f1b602; + --note-color-darker: #ceb670; + --todo-color: #163750; + --todo-color-dark: #1982D2; + --todo-color-darker: #dcf0fa; + --deprecated-color: #2e323b; + --deprecated-color-dark: #738396; + --deprecated-color-darker: #abb0bd; + --bug-color: #2a2536; + --bug-color-dark: #7661b3; + --bug-color-darker: #ae9ed6; + --invariant-color: #303a35; + --invariant-color-dark: #76ce96; + --invariant-color-darker: #cceed5; + + --fragment-background: #282c34; + --fragment-foreground: #dbe4eb; + --fragment-keyword: #cc99cd; + --fragment-keywordtype: #ab99cd; + --fragment-keywordflow: #e08000; + --fragment-token: #7ec699; + --fragment-comment: #999999; + --fragment-link: #98c0e3; + --fragment-preprocessor: #65cabe; + --fragment-linenumber-color: #cccccc; + --fragment-linenumber-background: #35393c; + --fragment-linenumber-border: #1f1f1f; +} + +body { + color: var(--page-foreground-color); + background-color: var(--page-background-color); + font-size: var(--page-font-size); +} + +body, table, div, p, dl, #nav-tree .label, .title, +.sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname, +.SelectItem, #MSearchField, .navpath li.navelem a, +.navpath li.navelem a:hover, p.reference, p.definition { + font-family: var(--font-family); +} + +h1, h2, h3, h4, h5 { + margin-top: .9em; + font-weight: 600; + line-height: initial; +} + +p, div, table, dl, p.reference, p.definition { + font-size: var(--page-font-size); +} + +p.reference, p.definition { + color: var(--page-secondary-foreground-color); +} + +a:link, a:visited, a:hover, a:focus, a:active { + color: var(--primary-color) !important; + font-weight: 500; +} + +a.anchor { + scroll-margin-top: var(--spacing-large); + display: block; +} + +/* + Title and top navigation + */ + +#top { + background: var(--header-background); + border-bottom: 1px solid var(--separator-color); +} + +@media screen and (min-width: 768px) { + #top { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + } +} + +#main-nav { + flex-grow: 5; + padding: var(--spacing-small) var(--spacing-medium); +} + +#titlearea { + width: auto; + padding: var(--spacing-medium) var(--spacing-large); + background: none; + color: var(--header-foreground); + border-bottom: none; +} + +@media screen and (max-width: 767px) { + #titlearea { + padding-bottom: var(--spacing-small); + } +} + +#titlearea table tbody tr { + height: auto !important; +} + +#projectname { + font-size: var(--title-font-size); + font-weight: 600; +} + +#projectnumber { + font-family: inherit; + font-size: 60%; +} + +#projectbrief { + font-family: inherit; + font-size: 80%; +} + +#projectlogo { + vertical-align: middle; +} + +#projectlogo img { + max-height: calc(var(--title-font-size) * 2); + margin-right: var(--spacing-small); +} + +.sm-dox, .tabs, .tabs2, .tabs3 { + background: none; + padding: 0; +} + +.tabs, .tabs2, .tabs3 { + border-bottom: 1px solid var(--separator-color); + margin-bottom: -1px; +} + +.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after { + background: var(--page-secondary-foreground-color); +} + +@media screen and (max-width: 767px) { + .sm-dox a span.sub-arrow { + background: var(--code-background); + } + + #main-menu a.has-submenu span.sub-arrow { + color: var(--page-secondary-foreground-color); + border-radius: var(--border-radius-medium); + } + + #main-menu a.has-submenu:hover span.sub-arrow { + color: var(--page-foreground-color); + } +} + +@media screen and (min-width: 768px) { + .sm-dox li, .tablist li { + display: var(--menu-display); + } + + .sm-dox a span.sub-arrow { + border-color: var(--header-foreground) transparent transparent transparent; + } + + .sm-dox a:hover span.sub-arrow { + border-color: var(--menu-focus-foreground) transparent transparent transparent; + } + + .sm-dox ul a span.sub-arrow { + border-color: transparent transparent transparent var(--page-foreground-color); + } + + .sm-dox ul a:hover span.sub-arrow { + border-color: transparent transparent transparent var(--menu-focus-foreground); + } +} + +.sm-dox ul { + background: var(--page-background-color); + box-shadow: var(--box-shadow); + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium) !important; + padding: var(--spacing-small); + animation: ease-out 150ms slideInMenu; +} + +@keyframes slideInMenu { + from { + opacity: 0; + transform: translate(0px, -2px); + } + + to { + opacity: 1; + transform: translate(0px, 0px); + } +} + +.sm-dox ul a { + color: var(--page-foreground-color) !important; + background: var(--page-background-color); + font-size: var(--navigation-font-size); +} + +.sm-dox>li>ul:after { + border-bottom-color: var(--page-background-color) !important; +} + +.sm-dox>li>ul:before { + border-bottom-color: var(--separator-color) !important; +} + +.sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus { + font-size: var(--navigation-font-size) !important; + color: var(--menu-focus-foreground) !important; + text-shadow: none; + background-color: var(--menu-focus-background); + border-radius: var(--border-radius-small) !important; +} + +.sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a { + text-shadow: none; + background: transparent; + background-image: none !important; + color: var(--header-foreground) !important; + font-weight: normal; + font-size: var(--navigation-font-size); + border-radius: var(--border-radius-small) !important; +} + +.sm-dox a:focus { + outline: auto; +} + +.sm-dox a:hover, .sm-dox a:active, .tablist li a:hover { + text-shadow: none; + font-weight: normal; + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; + border-radius: var(--border-radius-small) !important; + font-size: var(--navigation-font-size); +} + +.tablist li.current { + border-radius: var(--border-radius-small); + background: var(--menu-selected-background); +} + +.tablist li { + margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small); +} + +.tablist a { + padding: 0 var(--spacing-large); +} + + +/* + Search box + */ + +#MSearchBox { + height: var(--searchbar-height); + background: var(--searchbar-background); + border-radius: var(--searchbar-border-radius); + border: 1px solid var(--separator-color); + overflow: hidden; + width: var(--searchbar-width); + position: relative; + box-shadow: none; + display: block; + margin-top: 0; +} + +/* until Doxygen 1.9.4 */ +.left img#MSearchSelect { + left: 0; + user-select: none; + padding-left: 8px; +} + +/* Doxygen 1.9.5 */ +.left span#MSearchSelect { + left: 0; + user-select: none; + margin-left: 8px; + padding: 0; +} + +.left #MSearchSelect[src$=".png"] { + padding-left: 0 +} + +.SelectionMark { + user-select: none; +} + +.tabs .left #MSearchSelect { + padding-left: 0; +} + +.tabs #MSearchBox { + position: absolute; + right: var(--spacing-medium); +} + +@media screen and (max-width: 767px) { + .tabs #MSearchBox { + position: relative; + right: 0; + margin-left: var(--spacing-medium); + margin-top: 0; + } +} + +#MSearchSelectWindow, #MSearchResultsWindow { + z-index: 9999; +} + +#MSearchBox.MSearchBoxActive { + border-color: var(--primary-color); + box-shadow: inset 0 0 0 1px var(--primary-color); +} + +#main-menu > li:last-child { + margin-right: 0; +} + +@media screen and (max-width: 767px) { + #main-menu > li:last-child { + height: 50px; + } +} + +#MSearchField { + font-size: var(--navigation-font-size); + height: calc(var(--searchbar-height) - 2px); + background: transparent; + width: calc(var(--searchbar-width) - 64px); +} + +.MSearchBoxActive #MSearchField { + color: var(--searchbar-foreground); +} + +#MSearchSelect { + top: calc(calc(var(--searchbar-height) / 2) - 11px); +} + +#MSearchBox span.left, #MSearchBox span.right { + background: none; + background-image: none; +} + +#MSearchBox span.right { + padding-top: calc(calc(var(--searchbar-height) / 2) - 12px); + position: absolute; + right: var(--spacing-small); +} + +.tabs #MSearchBox span.right { + top: calc(calc(var(--searchbar-height) / 2) - 12px); +} + +@keyframes slideInSearchResults { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } +} + +#MSearchResultsWindow { + left: auto !important; + right: var(--spacing-medium); + border-radius: var(--border-radius-large); + border: 1px solid var(--separator-color); + transform: translate(0, 20px); + box-shadow: var(--box-shadow); + animation: ease-out 280ms slideInSearchResults; + background: var(--page-background-color); +} + +iframe#MSearchResults { + margin: 4px; +} + +iframe { + color-scheme: normal; +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) iframe#MSearchResults { + filter: invert() hue-rotate(180deg); + } +} + +html.dark-mode iframe#MSearchResults { + filter: invert() hue-rotate(180deg); +} + +#MSearchResults .SRPage { + background-color: transparent; +} + +#MSearchResults .SRPage .SREntry { + font-size: 10pt; + padding: var(--spacing-small) var(--spacing-medium); +} + +#MSearchSelectWindow { + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + box-shadow: var(--box-shadow); + background: var(--page-background-color); + padding-top: var(--spacing-small); + padding-bottom: var(--spacing-small); +} + +#MSearchSelectWindow a.SelectItem { + font-size: var(--navigation-font-size); + line-height: var(--content-line-height); + margin: 0 var(--spacing-small); + border-radius: var(--border-radius-small); + color: var(--page-foreground-color) !important; + font-weight: normal; +} + +#MSearchSelectWindow a.SelectItem:hover { + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; +} + +@media screen and (max-width: 767px) { + #MSearchBox { + margin-top: var(--spacing-medium); + margin-bottom: var(--spacing-medium); + width: calc(100vw - 30px); + } + + #main-menu > li:last-child { + float: none !important; + } + + #MSearchField { + width: calc(100vw - 110px); + } + + @keyframes slideInSearchResultsMobile { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } + } + + #MSearchResultsWindow { + left: var(--spacing-medium) !important; + right: var(--spacing-medium); + overflow: auto; + transform: translate(0, 20px); + animation: ease-out 280ms slideInSearchResultsMobile; + width: auto !important; + } + + /* + * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2 + */ + label.main-menu-btn ~ #searchBoxPos1 { + top: 3px !important; + right: 6px !important; + left: 45px; + display: flex; + } + + label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox { + margin-top: 0; + margin-bottom: 0; + flex-grow: 2; + float: left; + } +} + +/* + Tree view + */ + +#side-nav { + padding: 0 !important; + background: var(--side-nav-background); +} + +@media screen and (max-width: 767px) { + #side-nav { + display: none; + } + + #doc-content { + margin-left: 0 !important; + } +} + +#nav-tree { + background: transparent; +} + +#nav-tree .label { + font-size: var(--navigation-font-size); +} + +#nav-tree .item { + height: var(--tree-item-height); + line-height: var(--tree-item-height); +} + +#nav-sync { + bottom: 12px; + right: 12px; + top: auto !important; + user-select: none; +} + +#nav-tree .selected { + text-shadow: none; + background-image: none; + background-color: transparent; + position: relative; +} + +#nav-tree .selected::after { + content: ""; + position: absolute; + top: 1px; + bottom: 1px; + left: 0; + width: 4px; + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + background: var(--primary-color); +} + + +#nav-tree a { + color: var(--side-nav-foreground) !important; + font-weight: normal; +} + +#nav-tree a:focus { + outline-style: auto; +} + +#nav-tree .arrow { + opacity: var(--side-nav-arrow-opacity); +} + +.arrow { + color: inherit; + cursor: pointer; + font-size: 45%; + vertical-align: middle; + margin-right: 2px; + font-family: serif; + height: auto; + text-align: right; +} + +#nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow { + opacity: var(--side-nav-arrow-hover-opacity); +} + +#nav-tree .selected a { + color: var(--primary-color) !important; + font-weight: bolder; + font-weight: 600; +} + +.ui-resizable-e { + background: var(--separator-color); + width: 1px; +} + +/* + Contents + */ + +div.header { + border-bottom: 1px solid var(--separator-color); + background-color: var(--page-background-color); + background-image: none; +} + +@media screen and (min-width: 1000px) { + #doc-content > div > div.contents, + .PageDoc > div.contents { + display: flex; + flex-direction: row-reverse; + flex-wrap: nowrap; + align-items: flex-start; + } + + div.contents .textblock { + min-width: 200px; + flex-grow: 1; + } +} + +div.contents, div.header .title, div.header .summary { + max-width: var(--content-maxwidth); +} + +div.contents, div.header .title { + line-height: initial; + margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto; +} + +div.header .summary { + margin: var(--spacing-medium) auto 0 auto; +} + +div.headertitle { + padding: 0; +} + +div.header .title { + font-weight: 600; + font-size: 225%; + padding: var(--spacing-medium) var(--spacing-large); + word-break: break-word; +} + +div.header .summary { + width: auto; + display: block; + float: none; + padding: 0 var(--spacing-large); +} + +td.memSeparator { + border-color: var(--separator-color); +} + +span.mlabel { + background: var(--primary-color); + border: none; + padding: 4px 9px; + border-radius: 12px; + margin-right: var(--spacing-medium); +} + +span.mlabel:last-of-type { + margin-right: 2px; +} + +div.contents { + padding: 0 var(--spacing-large); +} + +div.contents p, div.contents li { + line-height: var(--content-line-height); +} + +div.contents div.dyncontent { + margin: var(--spacing-medium) 0; +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) div.contents div.dyncontent img, + html:not(.light-mode) div.contents center img, + html:not(.light-mode) div.contents > table img, + html:not(.light-mode) div.contents div.dyncontent iframe, + html:not(.light-mode) div.contents center iframe, + html:not(.light-mode) div.contents table iframe { + filter: hue-rotate(180deg) invert(); + } +} + +html.dark-mode div.contents div.dyncontent img, +html.dark-mode div.contents center img, +html.dark-mode div.contents > table img, +html.dark-mode div.contents div.dyncontent iframe, +html.dark-mode div.contents center iframe, +html.dark-mode div.contents table iframe { + filter: hue-rotate(180deg) invert(); +} + +h2.groupheader { + border-bottom: 0px; + color: var(--page-foreground-color); + box-shadow: + 100px 0 var(--page-background-color), + -100px 0 var(--page-background-color), + 100px 0.75px var(--separator-color), + -100px 0.75px var(--separator-color), + 500px 0 var(--page-background-color), + -500px 0 var(--page-background-color), + 500px 0.75px var(--separator-color), + -500px 0.75px var(--separator-color), + 900px 0 var(--page-background-color), + -900px 0 var(--page-background-color), + 900px 0.75px var(--separator-color), + -900px 0.75px var(--separator-color), + 1400px 0 var(--page-background-color), + -1400px 0 var(--page-background-color), + 1400px 0.75px var(--separator-color), + -1400px 0.75px var(--separator-color), + 1900px 0 var(--page-background-color), + -1900px 0 var(--page-background-color), + 1900px 0.75px var(--separator-color), + -1900px 0.75px var(--separator-color); +} + +blockquote { + margin: 0 var(--spacing-medium) 0 var(--spacing-medium); + padding: var(--spacing-small) var(--spacing-large); + background: var(--blockquote-background); + color: var(--blockquote-foreground); + border-left: 0; + overflow: visible; + border-radius: var(--border-radius-medium); + overflow: visible; + position: relative; +} + +blockquote::before, blockquote::after { + font-weight: bold; + font-family: serif; + font-size: 360%; + opacity: .15; + position: absolute; +} + +blockquote::before { + content: "“"; + left: -10px; + top: 4px; +} + +blockquote::after { + content: "”"; + right: -8px; + bottom: -25px; +} + +blockquote p { + margin: var(--spacing-small) 0 var(--spacing-medium) 0; +} +.paramname { + font-weight: 600; + color: var(--primary-dark-color); +} + +.paramname > code { + border: 0; +} + +table.params .paramname { + font-weight: 600; + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); + padding-right: var(--spacing-small); + line-height: var(--table-line-height); +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--primary-light-color); +} + +.alphachar a { + color: var(--page-foreground-color); +} + +/* + Table of Contents + */ + +div.contents .toc { + max-height: var(--toc-max-height); + min-width: var(--toc-width); + border: 0; + border-left: 1px solid var(--separator-color); + border-radius: 0; + background-color: transparent; + box-shadow: none; + position: sticky; + top: var(--toc-sticky-top); + padding: 0 var(--spacing-large); + margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large); +} + +div.toc h3 { + color: var(--toc-foreground); + font-size: var(--navigation-font-size); + margin: var(--spacing-large) 0 var(--spacing-medium) 0; +} + +div.toc li { + padding: 0; + background: none; + line-height: var(--toc-font-size); + margin: var(--toc-font-size) 0 0 0; +} + +div.toc li::before { + display: none; +} + +div.toc ul { + margin-top: 0 +} + +div.toc li a { + font-size: var(--toc-font-size); + color: var(--page-foreground-color) !important; + text-decoration: none; +} + +div.toc li a:hover, div.toc li a.active { + color: var(--primary-color) !important; +} + +div.toc li a.aboveActive { + color: var(--page-secondary-foreground-color) !important; +} + + +@media screen and (max-width: 999px) { + div.contents .toc { + max-height: 45vh; + float: none; + width: auto; + margin: 0 0 var(--spacing-medium) 0; + position: relative; + top: 0; + position: relative; + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + background-color: var(--toc-background); + box-shadow: var(--box-shadow); + } + + div.contents .toc.interactive { + max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large)); + overflow: hidden; + } + + div.contents .toc > h3 { + -webkit-tap-highlight-color: transparent; + cursor: pointer; + position: sticky; + top: 0; + background-color: var(--toc-background); + margin: 0; + padding: var(--spacing-large) 0; + display: block; + } + + div.contents .toc.interactive > h3::before { + content: ""; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid var(--primary-color); + display: inline-block; + margin-right: var(--spacing-small); + margin-bottom: calc(var(--navigation-font-size) / 4); + transform: rotate(-90deg); + transition: transform 0.25s ease-out; + } + + div.contents .toc.interactive.open > h3::before { + transform: rotate(0deg); + } + + div.contents .toc.interactive.open { + max-height: 45vh; + overflow: auto; + transition: max-height 0.2s ease-in-out; + } + + div.contents .toc a, div.contents .toc a.active { + color: var(--primary-color) !important; + } + + div.contents .toc a:hover { + text-decoration: underline; + } +} + +/* + Code & Fragments + */ + +code, div.fragment, pre.fragment { + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + overflow: hidden; +} + +code { + display: inline; + background: var(--code-background); + color: var(--code-foreground); + padding: 2px 6px; +} + +div.fragment, pre.fragment { + margin: var(--spacing-medium) 0; + padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large); + background: var(--fragment-background); + color: var(--fragment-foreground); + overflow-x: auto; +} + +@media screen and (max-width: 767px) { + div.fragment, pre.fragment { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 0; + } + + .contents > div.fragment, + .textblock > div.fragment, + .textblock > pre.fragment, + .contents > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + border-radius: 0; + border-left: 0; + } + + .textblock li > .fragment, + .textblock li > .doxygen-awesome-fragment-wrapper > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + } + + .memdoc li > .fragment, + .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + } + + .textblock ul, .memdoc ul { + overflow: initial; + } + + .memdoc > div.fragment, + .memdoc > pre.fragment, + dl dd > div.fragment, + dl dd pre.fragment, + .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment, + .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment, + dl dd > .doxygen-awesome-fragment-wrapper > div.fragment, + dl dd .doxygen-awesome-fragment-wrapper > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + border-radius: 0; + border-left: 0; + } +} + +code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size) !important; +} + +div.line:after { + margin-right: var(--spacing-medium); +} + +div.fragment .line, pre.fragment { + white-space: pre; + word-wrap: initial; + line-height: var(--fragment-lineheight); +} + +div.fragment span.keyword { + color: var(--fragment-keyword); +} + +div.fragment span.keywordtype { + color: var(--fragment-keywordtype); +} + +div.fragment span.keywordflow { + color: var(--fragment-keywordflow); +} + +div.fragment span.stringliteral { + color: var(--fragment-token) +} + +div.fragment span.comment { + color: var(--fragment-comment); +} + +div.fragment a.code { + color: var(--fragment-link) !important; +} + +div.fragment span.preprocessor { + color: var(--fragment-preprocessor); +} + +div.fragment span.lineno { + display: inline-block; + width: 27px; + border-right: none; + background: var(--fragment-linenumber-background); + color: var(--fragment-linenumber-color); +} + +div.fragment span.lineno a { + background: none; + color: var(--fragment-link) !important; +} + +div.fragment .line:first-child .lineno { + box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border); +} + +div.line { + border-radius: var(--border-radius-small); +} + +div.line.glow { + background-color: var(--primary-light-color); + box-shadow: none; +} + +/* + dl warning, attention, note, deprecated, bug, ... + */ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.todo, dl.remark { + padding: var(--spacing-medium); + margin: var(--spacing-medium) 0; + color: var(--page-background-color); + overflow: hidden; + margin-left: 0; + border-radius: var(--border-radius-small); +} + +dl.section dd { + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: var(--warning-color); + border-left: 8px solid var(--warning-color-dark); + color: var(--warning-color-darker); +} + +dl.warning dt, dl.attention dt { + color: var(--warning-color-dark); +} + +dl.note, dl.remark { + background: var(--note-color); + border-left: 8px solid var(--note-color-dark); + color: var(--note-color-darker); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-dark); +} + +dl.todo { + background: var(--todo-color); + border-left: 8px solid var(--todo-color-dark); + color: var(--todo-color-darker); +} + +dl.todo dt { + color: var(--todo-color-dark); +} + +dl.bug dt a { + color: var(--todo-color-dark) !important; +} + +dl.bug { + background: var(--bug-color); + border-left: 8px solid var(--bug-color-dark); + color: var(--bug-color-darker); +} + +dl.bug dt a { + color: var(--bug-color-dark) !important; +} + +dl.deprecated { + background: var(--deprecated-color); + border-left: 8px solid var(--deprecated-color-dark); + color: var(--deprecated-color-darker); +} + +dl.deprecated dt a { + color: var(--deprecated-color-dark) !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre { + background: var(--invariant-color); + border-left: 8px solid var(--invariant-color-dark); + color: var(--invariant-color-darker); +} + +dl.invariant dt, dl.pre dt { + color: var(--invariant-color-dark); +} + +/* + memitem + */ + +div.memdoc, div.memproto, h2.memtitle { + box-shadow: none; + background-image: none; + border: none; +} + +div.memdoc { + padding: 0 var(--spacing-medium); + background: var(--page-background-color); +} + +h2.memtitle, div.memitem { + border: 1px solid var(--separator-color); + box-shadow: var(--box-shadow); +} + +h2.memtitle { + box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow); +} + +div.memitem { + transition: none; +} + +div.memproto, h2.memtitle { + background: var(--fragment-background); +} + +h2.memtitle { + font-weight: 500; + font-size: var(--memtitle-font-size); + font-family: var(--font-family-monospace); + border-bottom: none; + border-top-left-radius: var(--border-radius-medium); + border-top-right-radius: var(--border-radius-medium); + word-break: break-all; + position: relative; +} + +h2.memtitle:after { + content: ""; + display: block; + background: var(--fragment-background); + height: var(--spacing-medium); + bottom: calc(0px - var(--spacing-medium)); + left: 0; + right: -14px; + position: absolute; + border-top-right-radius: var(--border-radius-medium); +} + +h2.memtitle > span.permalink { + font-size: inherit; +} + +h2.memtitle > span.permalink > a { + text-decoration: none; + padding-left: 3px; + margin-right: -4px; + user-select: none; + display: inline-block; + margin-top: -6px; +} + +h2.memtitle > span.permalink > a:hover { + color: var(--primary-dark-color) !important; +} + +a:target + h2.memtitle, a:target + h2.memtitle + div.memitem { + border-color: var(--primary-light-color); +} + +div.memitem { + border-top-right-radius: var(--border-radius-medium); + border-bottom-right-radius: var(--border-radius-medium); + border-bottom-left-radius: var(--border-radius-medium); + overflow: hidden; + display: block !important; +} + +div.memdoc { + border-radius: 0; +} + +div.memproto { + border-radius: 0 var(--border-radius-small) 0 0; + overflow: auto; + border-bottom: 1px solid var(--separator-color); + padding: var(--spacing-medium); + margin-bottom: -1px; +} + +div.memtitle { + border-top-right-radius: var(--border-radius-medium); + border-top-left-radius: var(--border-radius-medium); +} + +div.memproto table.memname { + font-family: var(--font-family-monospace); + color: var(--page-foreground-color); + font-size: var(--memname-font-size); + text-shadow: none; +} + +div.memproto div.memtemplate { + font-family: var(--font-family-monospace); + color: var(--primary-dark-color); + font-size: var(--memname-font-size); + margin-left: 2px; + text-shadow: none; +} + +table.mlabels, table.mlabels > tbody { + display: block; +} + +td.mlabels-left { + width: auto; +} + +td.mlabels-right { + margin-top: 3px; + position: sticky; + left: 0; +} + +table.mlabels > tbody > tr:first-child { + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} + +.memname, .memitem span.mlabels { + margin: 0 +} + +/* + reflist + */ + +dl.reflist { + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-medium); + border: 1px solid var(--separator-color); + overflow: hidden; + padding: 0; +} + + +dl.reflist dt, dl.reflist dd { + box-shadow: none; + text-shadow: none; + background-image: none; + border: none; + padding: 12px; +} + + +dl.reflist dt { + font-weight: 500; + border-radius: 0; + background: var(--code-background); + border-bottom: 1px solid var(--separator-color); + color: var(--page-foreground-color) +} + + +dl.reflist dd { + background: none; +} + +/* + Table + */ + +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname), +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody { + display: inline-block; + max-width: 100%; +} + +.contents > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not(.classindex) { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + max-width: calc(100% + 2 * var(--spacing-large)); +} + +table.fieldtable, +table.markdownTable tbody, +table.doxtable tbody { + border: none; + margin: var(--spacing-medium) 0; + box-shadow: 0 0 0 1px var(--separator-color); + border-radius: var(--border-radius-small); +} + +table.doxtable caption { + display: block; +} + +table.fieldtable { + border-collapse: collapse; + width: 100%; +} + +th.markdownTableHeadLeft, +th.markdownTableHeadRight, +th.markdownTableHeadCenter, +th.markdownTableHeadNone, +table.doxtable th { + background: var(--tablehead-background); + color: var(--tablehead-foreground); + font-weight: 600; + font-size: var(--page-font-size); +} + +th.markdownTableHeadLeft:first-child, +th.markdownTableHeadRight:first-child, +th.markdownTableHeadCenter:first-child, +th.markdownTableHeadNone:first-child, +table.doxtable tr th:first-child { + border-top-left-radius: var(--border-radius-small); +} + +th.markdownTableHeadLeft:last-child, +th.markdownTableHeadRight:last-child, +th.markdownTableHeadCenter:last-child, +th.markdownTableHeadNone:last-child, +table.doxtable tr th:last-child { + border-top-right-radius: var(--border-radius-small); +} + +table.markdownTable td, +table.markdownTable th, +table.fieldtable td, +table.fieldtable th, +table.doxtable td, +table.doxtable th { + border: 1px solid var(--separator-color); + padding: var(--spacing-small) var(--spacing-medium); +} + +table.markdownTable td:last-child, +table.markdownTable th:last-child, +table.fieldtable td:last-child, +table.fieldtable th:last-child, +table.doxtable td:last-child, +table.doxtable th:last-child { + border-right: none; +} + +table.markdownTable td:first-child, +table.markdownTable th:first-child, +table.fieldtable td:first-child, +table.fieldtable th:first-child, +table.doxtable td:first-child, +table.doxtable th:first-child { + border-left: none; +} + +table.markdownTable tr:first-child td, +table.markdownTable tr:first-child th, +table.fieldtable tr:first-child td, +table.fieldtable tr:first-child th, +table.doxtable tr:first-child td, +table.doxtable tr:first-child th { + border-top: none; +} + +table.markdownTable tr:last-child td, +table.markdownTable tr:last-child th, +table.fieldtable tr:last-child td, +table.fieldtable tr:last-child th, +table.doxtable tr:last-child td, +table.doxtable tr:last-child th { + border-bottom: none; +} + +table.markdownTable tr, table.doxtable tr { + border-bottom: 1px solid var(--separator-color); +} + +table.markdownTable tr:last-child, table.doxtable tr:last-child { + border-bottom: none; +} + +table.fieldtable th { + font-size: var(--page-font-size); + font-weight: 600; + background-image: none; + background-color: var(--tablehead-background); + color: var(--tablehead-foreground); +} + +table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fielddoc, .fieldtable th { + border-bottom: 1px solid var(--separator-color); + border-right: 1px solid var(--separator-color); +} + +table.fieldtable tr:last-child td:first-child { + border-bottom-left-radius: var(--border-radius-small); +} + +table.fieldtable tr:last-child td:last-child { + border-bottom-right-radius: var(--border-radius-small); +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--primary-light-color); + box-shadow: none; +} + +table.memberdecls { + display: block; + -webkit-tap-highlight-color: transparent; +} + +table.memberdecls tr[class^='memitem'] { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); +} + +table.memberdecls tr[class^='memitem'] .memTemplParams { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); + color: var(--primary-dark-color); + white-space: normal; +} + +table.memberdecls .memItemLeft, +table.memberdecls .memItemRight, +table.memberdecls .memTemplItemLeft, +table.memberdecls .memTemplItemRight, +table.memberdecls .memTemplParams { + transition: none; + padding-top: var(--spacing-small); + padding-bottom: var(--spacing-small); + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + background-color: var(--fragment-background); +} + +table.memberdecls .memTemplItemLeft, +table.memberdecls .memTemplItemRight { + padding-top: 2px; +} + +table.memberdecls .memTemplParams { + border-bottom: 0; + border-left: 1px solid var(--separator-color); + border-right: 1px solid var(--separator-color); + border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; + padding-bottom: var(--spacing-small); +} + +table.memberdecls .memTemplItemLeft { + border-radius: 0 0 0 var(--border-radius-small); + border-left: 1px solid var(--separator-color); + border-top: 0; +} + +table.memberdecls .memTemplItemRight { + border-radius: 0 0 var(--border-radius-small) 0; + border-right: 1px solid var(--separator-color); + padding-left: 0; + border-top: 0; +} + +table.memberdecls .memItemLeft { + border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); + border-left: 1px solid var(--separator-color); + padding-left: var(--spacing-medium); + padding-right: 0; +} + +table.memberdecls .memItemRight { + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + border-right: 1px solid var(--separator-color); + padding-right: var(--spacing-medium); + padding-left: 0; + +} + +table.memberdecls .mdescLeft, table.memberdecls .mdescRight { + background: none; + color: var(--page-foreground-color); + padding: var(--spacing-small) 0; +} + +table.memberdecls .memItemLeft, +table.memberdecls .memTemplItemLeft { + padding-right: var(--spacing-medium); +} + +table.memberdecls .memSeparator { + background: var(--page-background-color); + height: var(--spacing-large); + border: 0; + transition: none; +} + +table.memberdecls .groupheader { + margin-bottom: var(--spacing-large); +} + +table.memberdecls .inherit_header td { + padding: 0 0 var(--spacing-medium) 0; + text-indent: -12px; + color: var(--page-secondary-foreground-color); +} + +table.memberdecls img[src="closed.png"], +table.memberdecls img[src="open.png"], +div.dynheader img[src="open.png"], +div.dynheader img[src="closed.png"] { + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid var(--primary-color); + margin-top: 8px; + display: block; + float: left; + margin-left: -10px; + transition: transform 0.25s ease-out; +} + +table.memberdecls img { + margin-right: 10px; +} + +table.memberdecls img[src="closed.png"], +div.dynheader img[src="closed.png"] { + transform: rotate(-90deg); + +} + +.compoundTemplParams { + font-family: var(--font-family-monospace); + color: var(--primary-dark-color); + font-size: var(--code-font-size); +} + +@media screen and (max-width: 767px) { + + table.memberdecls .memItemLeft, + table.memberdecls .memItemRight, + table.memberdecls .mdescLeft, + table.memberdecls .mdescRight, + table.memberdecls .memTemplItemLeft, + table.memberdecls .memTemplItemRight, + table.memberdecls .memTemplParams { + display: block; + text-align: left; + padding-left: var(--spacing-large); + margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large)); + border-right: none; + border-left: none; + border-radius: 0; + white-space: normal; + } + + table.memberdecls .memItemLeft, + table.memberdecls .mdescLeft, + table.memberdecls .memTemplItemLeft { + border-bottom: 0; + padding-bottom: 0; + } + + table.memberdecls .memTemplItemLeft { + padding-top: 0; + } + + table.memberdecls .mdescLeft { + margin-bottom: calc(0px - var(--page-font-size)); + } + + table.memberdecls .memItemRight, + table.memberdecls .mdescRight, + table.memberdecls .memTemplItemRight { + border-top: 0; + padding-top: 0; + padding-right: var(--spacing-large); + overflow-x: auto; + } + + table.memberdecls tr[class^='memitem']:not(.inherit) { + display: block; + width: calc(100vw - 2 * var(--spacing-large)); + } + + table.memberdecls .mdescRight { + color: var(--page-foreground-color); + } + + table.memberdecls tr.inherit { + visibility: hidden; + } + + table.memberdecls tr[style="display: table-row;"] { + display: block !important; + visibility: visible; + width: calc(100vw - 2 * var(--spacing-large)); + animation: fade .5s; + } + + @keyframes fade { + 0% { + opacity: 0; + max-height: 0; + } + + 100% { + opacity: 1; + max-height: 200px; + } + } +} + + +/* + Horizontal Rule + */ + +hr { + margin-top: var(--spacing-large); + margin-bottom: var(--spacing-large); + height: 1px; + background-color: var(--separator-color); + border: 0; +} + +.contents hr { + box-shadow: 100px 0 0 var(--separator-color), + -100px 0 0 var(--separator-color), + 500px 0 0 var(--separator-color), + -500px 0 0 var(--separator-color), + 1500px 0 0 var(--separator-color), + -1500px 0 0 var(--separator-color), + 2000px 0 0 var(--separator-color), + -2000px 0 0 var(--separator-color); +} + +.contents img, .contents .center, .contents center, .contents div.image object { + max-width: 100%; + overflow: auto; +} + +@media screen and (max-width: 767px) { + .contents .dyncontent > .center, .contents > center { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + max-width: calc(100% + 2 * var(--spacing-large)); + } +} + +/* + Directories + */ +div.directory { + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + width: auto; +} + +table.directory { + font-family: var(--font-family); + font-size: var(--page-font-size); + font-weight: normal; + width: 100%; +} + +table.directory td.entry, table.directory td.desc { + padding: calc(var(--spacing-small) / 2) var(--spacing-small); + line-height: var(--table-line-height); +} + +table.directory tr.even td:last-child { + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; +} + +table.directory tr.even td:first-child { + border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); +} + +table.directory tr.even:last-child td:last-child { + border-radius: 0 var(--border-radius-small) 0 0; +} + +table.directory tr.even:last-child td:first-child { + border-radius: var(--border-radius-small) 0 0 0; +} + +table.directory td.desc { + min-width: 250px; +} + +table.directory tr.even { + background-color: var(--odd-color); +} + +table.directory tr.odd { + background-color: transparent; +} + +.icona { + width: auto; + height: auto; + margin: 0 var(--spacing-small); +} + +.icon { + background: var(--primary-color); + border-radius: var(--border-radius-small); + font-size: var(--page-font-size); + padding: calc(var(--page-font-size) / 5); + line-height: var(--page-font-size); + transform: scale(0.8); + height: auto; + width: var(--page-font-size); + user-select: none; +} + +.iconfopen, .icondoc, .iconfclosed { + background-position: center; + margin-bottom: 0; + height: var(--table-line-height); +} + +.icondoc { + filter: saturate(0.2); +} + +@media screen and (max-width: 767px) { + div.directory { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + } +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed { + filter: hue-rotate(180deg) invert(); + } +} + +html.dark-mode .iconfopen, html.dark-mode .iconfclosed { + filter: hue-rotate(180deg) invert(); +} + +/* + Class list + */ + +.classindex dl.odd { + background: var(--odd-color); + border-radius: var(--border-radius-small); +} + +.classindex dl.even { + background-color: transparent; +} + +/* + Class Index Doxygen 1.8 +*/ + +table.classindex { + margin-left: 0; + margin-right: 0; + width: 100%; +} + +table.classindex table div.ah { + background-image: none; + background-color: initial; + border-color: var(--separator-color); + color: var(--page-foreground-color); + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-large); + padding: var(--spacing-small); +} + +div.qindex { + background-color: var(--odd-color); + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + padding: var(--spacing-small) 0; +} + +/* + Footer and nav-path + */ + +#nav-path { + width: 100%; +} + +#nav-path ul { + background-image: none; + background: var(--page-background-color); + border: none; + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + border-bottom: 0; + box-shadow: 0 0.75px 0 var(--separator-color); + font-size: var(--navigation-font-size); +} + +img.footer { + width: 60px; +} + +.navpath li.footer { + color: var(--page-secondary-foreground-color); +} + +address.footer { + color: var(--page-secondary-foreground-color); + margin-bottom: var(--spacing-large); +} + +#nav-path li.navelem { + background-image: none; + display: flex; + align-items: center; +} + +.navpath li.navelem a { + text-shadow: none; + display: inline-block; + color: var(--primary-color) !important; +} + +.navpath li.navelem b { + color: var(--primary-dark-color); + font-weight: 500; +} + +li.navelem { + padding: 0; + margin-left: -8px; +} + +li.navelem:first-child { + margin-left: var(--spacing-large); +} + +li.navelem:first-child:before { + display: none; +} + +#nav-path li.navelem:after { + content: ''; + border: 5px solid var(--page-background-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: translateY(-1px) scaleY(4.2); + z-index: 10; + margin-left: 6px; +} + +#nav-path li.navelem:before { + content: ''; + border: 5px solid var(--separator-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: translateY(-1px) scaleY(3.2); + margin-right: var(--spacing-small); +} + +.navpath li.navelem a:hover { + color: var(--primary-color); +} + +/* + Scrollbars for Webkit +*/ + +#nav-tree::-webkit-scrollbar, +div.fragment::-webkit-scrollbar, +pre.fragment::-webkit-scrollbar, +div.memproto::-webkit-scrollbar, +.contents center::-webkit-scrollbar, +.contents .center::-webkit-scrollbar, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar, +div.contents .toc::-webkit-scrollbar { + background: transparent; + width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); + height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); +} + +#nav-tree::-webkit-scrollbar-thumb, +div.fragment::-webkit-scrollbar-thumb, +pre.fragment::-webkit-scrollbar-thumb, +div.memproto::-webkit-scrollbar-thumb, +.contents center::-webkit-scrollbar-thumb, +.contents .center::-webkit-scrollbar-thumb, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-thumb, +div.contents .toc::-webkit-scrollbar-thumb { + background-color: transparent; + border: var(--webkit-scrollbar-padding) solid transparent; + border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); + background-clip: padding-box; +} + +#nav-tree:hover::-webkit-scrollbar-thumb, +div.fragment:hover::-webkit-scrollbar-thumb, +pre.fragment:hover::-webkit-scrollbar-thumb, +div.memproto:hover::-webkit-scrollbar-thumb, +.contents center:hover::-webkit-scrollbar-thumb, +.contents .center:hover::-webkit-scrollbar-thumb, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody:hover::-webkit-scrollbar-thumb, +div.contents .toc:hover::-webkit-scrollbar-thumb { + background-color: var(--webkit-scrollbar-color); +} + +#nav-tree::-webkit-scrollbar-track, +div.fragment::-webkit-scrollbar-track, +pre.fragment::-webkit-scrollbar-track, +div.memproto::-webkit-scrollbar-track, +.contents center::-webkit-scrollbar-track, +.contents .center::-webkit-scrollbar-track, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track, +div.contents .toc::-webkit-scrollbar-track { + background: transparent; +} + +#nav-tree::-webkit-scrollbar-corner { + background-color: var(--side-nav-background); +} + +#nav-tree, +div.fragment, +pre.fragment, +div.memproto, +.contents center, +.contents .center, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, +div.contents .toc { + overflow-x: auto; + overflow-x: overlay; +} + +#nav-tree { + overflow-x: auto; + overflow-y: auto; + overflow-y: overlay; +} + +/* + Scrollbars for Firefox +*/ + +#nav-tree, +div.fragment, +pre.fragment, +div.memproto, +.contents center, +.contents .center, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, +div.contents .toc { + scrollbar-width: thin; +} + +/* + Optional Dark mode toggle button +*/ + +doxygen-awesome-dark-mode-toggle { + display: inline-block; + margin: 0 0 0 var(--spacing-small); + padding: 0; + width: var(--searchbar-height); + height: var(--searchbar-height); + background: none; + border: none; + border-radius: var(--searchbar-height); + vertical-align: middle; + text-align: center; + line-height: var(--searchbar-height); + font-size: 22px; + display: flex; + align-items: center; + justify-content: center; + user-select: none; + cursor: pointer; +} + +doxygen-awesome-dark-mode-toggle > svg { + transition: transform .1s ease-in-out; +} + +doxygen-awesome-dark-mode-toggle:active > svg { + transform: scale(.5); +} + +doxygen-awesome-dark-mode-toggle:hover { + background-color: rgba(0,0,0,.03); +} + +html.dark-mode doxygen-awesome-dark-mode-toggle:hover { + background-color: rgba(0,0,0,.18); +} + +/* + Optional fragment copy button +*/ +.doxygen-awesome-fragment-wrapper { + position: relative; +} + +doxygen-awesome-fragment-copy-button { + opacity: 0; + background: var(--fragment-background); + width: 28px; + height: 28px; + position: absolute; + right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); + top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); + border: 1px solid var(--fragment-foreground); + cursor: pointer; + border-radius: var(--border-radius-small); + display: flex; + justify-content: center; + align-items: center; +} + +.doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, doxygen-awesome-fragment-copy-button.success { + opacity: .28; +} + +doxygen-awesome-fragment-copy-button:hover, doxygen-awesome-fragment-copy-button.success { + opacity: 1 !important; +} + +doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg { + transform: scale(.91); +} + +doxygen-awesome-fragment-copy-button svg { + fill: var(--fragment-foreground); + width: 18px; + height: 18px; +} + +doxygen-awesome-fragment-copy-button.success svg { + fill: rgb(14, 168, 14); +} + +doxygen-awesome-fragment-copy-button.success { + border-color: rgb(14, 168, 14); +} + +@media screen and (max-width: 767px) { + .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button { + right: 0; + } +} + +/* + Optional paragraph link button +*/ + +a.anchorlink { + font-size: 90%; + margin-left: var(--spacing-small); + color: var(--page-foreground-color) !important; + text-decoration: none; + opacity: .15; + display: none; + transition: opacity .1s ease-in-out, color .1s ease-in-out; +} + +a.anchorlink svg { + fill: var(--page-foreground-color); +} + +h3 a.anchorlink svg, h4 a.anchorlink svg { + margin-bottom: -3px; + margin-top: -4px; +} + +a.anchorlink:hover { + opacity: .45; +} + +h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.anchorlink { + display: inline-block; +} diff --git a/Docs/doxygen-awesome-css/doxygen-custom/custom-alternative.css b/Docs/doxygen-awesome-css/doxygen-custom/custom-alternative.css new file mode 100644 index 0000000..e66c1ae --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-custom/custom-alternative.css @@ -0,0 +1,54 @@ +html.alternative { + /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */ + --primary-color: #AF7FE4; + --primary-dark-color: #9270E4; + --primary-light-color: #7aabd6; + --primary-lighter-color: #cae1f1; + --primary-lightest-color: #e9f1f8; + + /* page base colors */ + --page-background-color: white; + --page-foreground-color: #2c3e50; + --page-secondary-foreground-color: #67727e; + + + --border-radius-large: 22px; + --border-radius-small: 9px; + --border-radius-medium: 14px; + --spacing-small: 8px; + --spacing-medium: 14px; + --spacing-large: 19px; + + --top-height: 125px; + + --side-nav-background: #324067; + --side-nav-foreground: #F1FDFF; + --header-foreground: var(--side-nav-foreground); + --searchbar-background: var(--side-nav-foreground); + --searchbar-border-radius: var(--border-radius-medium); + --header-background: var(--side-nav-background); + --header-foreground: var(--side-nav-foreground); + + --toc-background: rgb(243, 240, 252); + --toc-foreground: var(--page-foreground-color); +} + +html.alternative.dark-mode { + color-scheme: dark; + + --primary-color: #AF7FE4; + --primary-dark-color: #9270E4; + --primary-light-color: #4779ac; + --primary-lighter-color: #191e21; + --primary-lightest-color: #191a1c; + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #3a3246; + --side-nav-background: #171D32; + --side-nav-foreground: #F1FDFF; + --toc-background: #20142C; + --searchbar-background: var(--page-background-color); + +} \ No newline at end of file diff --git a/Docs/doxygen-awesome-css/doxygen-custom/custom.css b/Docs/doxygen-awesome-css/doxygen-custom/custom.css new file mode 100644 index 0000000..0e694c0 --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-custom/custom.css @@ -0,0 +1,101 @@ +.github-corner svg { + fill: var(--primary-light-color); + color: var(--page-background-color); + width: 72px; + height: 72px; +} + +@media screen and (max-width: 767px) { + .github-corner svg { + width: 50px; + height: 50px; + } + #projectnumber { + margin-right: 22px; + } +} + +.alter-theme-button { + display: inline-block; + cursor: pointer; + background: var(--primary-color); + color: var(--page-background-color) !important; + border-radius: var(--border-radius-medium); + padding: var(--spacing-small) var(--spacing-medium); + text-decoration: none; +} + +.next_section_button { + display: block; + padding: var(--spacing-large) 0 var(--spacing-small) 0; + color: var(--page-background-color); + user-select: none; +} + +.next_section_button::after { + /* clearfix */ + content: ""; + clear: both; + display: table; +} + +.next_section_button a { + overflow: hidden; + float: right; + border: 1px solid var(--separator-color); + padding: var(--spacing-medium) calc(var(--spacing-large) / 2) var(--spacing-medium) var(--spacing-large); + border-radius: var(--border-radius-medium); + color: var(--page-secondary-foreground-color) !important; + text-decoration: none; + background-color: var(--page-background-color); + transition: color .08s ease-in-out, background-color .1s ease-in-out; +} + +.next_section_button a:hover { + color: var(--page-foreground-color) !important; + background-color: var(--odd-color); +} + +.next_section_button a::after { + content: '〉'; + color: var(--page-secondary-foreground-color) !important; + padding-left: var(--spacing-large); + display: inline-block; + transition: color .08s ease-in-out, transform .09s ease-in-out; +} + +.next_section_button a:hover::after { + color: var(--page-foreground-color) !important; + transform: translateX(3px); +} + +.alter-theme-button:hover { + background: var(--primary-dark-color); +} + +html.dark-mode .darkmode_inverted_image img, /* < doxygen 1.9.3 */ +html.dark-mode .darkmode_inverted_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ { + filter: brightness(87%) hue-rotate(180deg) invert(); +} + +.bordered_image { + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + display: inline-block; + overflow: hidden; +} + +html.dark-mode .bordered_image img, /* < doxygen 1.9.3 */ +html.dark-mode .bordered_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ { + border-radius: var(--border-radius-small); +} + +.title_screenshot { + filter: drop-shadow(0px 3px 10px rgba(0,0,0,0.22)); + max-width: 500px; + margin: var(--spacing-large) 0; +} + +.title_screenshot .caption { + display: none; +} \ No newline at end of file diff --git a/Docs/doxygen-awesome-css/doxygen-custom/header.html b/Docs/doxygen-awesome-css/doxygen-custom/header.html new file mode 100644 index 0000000..1fc73c5 --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-custom/header.html @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + +$projectname: $title +$title + + + + + + + + + + +$treeview +$search +$mathjax + +$extrastylesheet + + + + +
+ + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + +
+
$projectname +  $projectnumber +
+
$projectbrief
+
+
$projectbrief
+
$searchbox
+
+ + diff --git a/Docs/doxygen-awesome-css/doxygen-custom/toggle-alternative-theme.js b/Docs/doxygen-awesome-css/doxygen-custom/toggle-alternative-theme.js new file mode 100644 index 0000000..72c3731 --- /dev/null +++ b/Docs/doxygen-awesome-css/doxygen-custom/toggle-alternative-theme.js @@ -0,0 +1,12 @@ + +let original_theme_active = true; + +function toggle_alternative_theme() { + if(original_theme_active) { + document.documentElement.classList.add("alternative") + original_theme_active = false; + } else { + document.documentElement.classList.remove("alternative") + original_theme_active = true; + } +} \ No newline at end of file diff --git a/Docs/footer.html b/Docs/footer.html index 5bd570a..d67b2be 100644 --- a/Docs/footer.html +++ b/Docs/footer.html @@ -5,16 +5,16 @@
diff --git a/Doxyfile b/Doxyfile index e175a45..dd7f5ed 100644 --- a/Doxyfile +++ b/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.8.10 +# Doxyfile 1.9.5 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -12,16 +12,26 @@ # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). +# +# Note: +# +# Use doxygen to compare the used configuration file with the template +# configuration file: +# doxygen -x [configFile] +# Use doxygen to compare the used configuration file with the template +# configuration file without replacing the environment variables or CMake type +# replacement variables: +# doxygen -x_noenv [configFile] #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv -# for the list of possible encodings. +# This tag specifies the encoding used for all characters in the configuration +# file that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 @@ -38,7 +48,7 @@ PROJECT_NAME = "Recast Navigation" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = +PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -51,7 +61,7 @@ PROJECT_BRIEF = "Navigation-mesh Toolset for Games" # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. -PROJECT_LOGO = +PROJECT_LOGO = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is @@ -60,16 +70,28 @@ PROJECT_LOGO = OUTPUT_DIRECTORY = Docs -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 +# sub-directories (in 2 levels) under the output directory of each output format +# and will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes -# performance problems for the file system. +# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to +# control the number of sub-directories. # The default value is: NO. CREATE_SUBDIRS = NO +# Controls the number of sub-directories that will be created when +# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every +# level increment doubles the number of directories, resulting in 4096 +# directories at level 8 which is the default and also the maximum value. The +# sub-directories are organized in 2 levels, the first level always has a fixed +# numer of 16 directories. +# Minimum value: 0, maximum value: 8, default value: 8. +# This tag requires that the tag CREATE_SUBDIRS is set to YES. + +CREATE_SUBDIRS_LEVEL = 8 + # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode @@ -81,14 +103,14 @@ ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, +# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English +# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, +# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with +# English messages), Korean, Korean-en (Korean with English messages), Latvian, +# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, +# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, +# Swedish, Turkish, Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English @@ -162,7 +184,7 @@ FULL_PATH_NAMES = NO # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. -STRIP_FROM_PATH = +STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which @@ -171,7 +193,7 @@ STRIP_FROM_PATH = # specify the list of include paths that are normally passed to the compiler # using the -I flag. -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but # less readable) file names. This can be useful is your file systems doesn't @@ -189,6 +211,16 @@ SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES +# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line +# such as +# /*************** +# as being the beginning of a Javadoc-style comment "banner". If set to NO, the +# Javadoc-style will behave just like regular comments and it will not be +# interpreted by doxygen. +# The default value is: NO. + +JAVADOC_BANNER = NO + # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first # line (until the first dot) of a Qt-style comment as the brief description. If # set to NO, the Qt-style will behave just like regular Qt-style comments (thus @@ -209,6 +241,14 @@ QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO +# By default Python docstrings are displayed as preformatted text and doxygen's +# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the +# doxygen's special commands can be used and the contents of the docstring +# documentation blocks is shown as doxygen documentation. +# The default value is: YES. + +PYTHON_DOCSTRING = YES + # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. @@ -232,19 +272,18 @@ TAB_SIZE = 4 # the documentation. An alias has the form: # name=value # For example adding -# "sideeffect=@par Side Effects:\n" +# "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines. +# "Side Effects:". Note that you cannot put \n's in the value part of an alias +# to insert newlines (in the resulting output). You can put ^^ in the value part +# of an alias to insert a newline as if a physical newline was in the original +# file. When you need a literal { or } or , in the value part of an alias you +# have to escape them by means of a backslash (\), this can lead to conflicts +# with the commands \{ and \} for these it is advised to use the version @{ and +# @} or use a double escape (\\{ and \\}) -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = +ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For @@ -274,28 +313,40 @@ OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO +# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice +# sources only. Doxygen will then generate output that is more tailored for that +# language. For instance, namespaces will be presented as modules, types will be +# separated into more groups, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_SLICE = NO + # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: -# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: -# Fortran. In the later case the parser tries to guess whether the code is fixed -# or free formatted code, this is the default for Fortran type files), VHDL. For -# instance to make doxygen treat .inc files as Fortran files (default is PHP), -# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, +# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser +# tries to guess whether the code is fixed or free formatted code, this is the +# default for Fortran type files). For instance to make doxygen treat .inc files +# as Fortran files (default is PHP), and .f files as C (default is Fortran), +# use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. +# the files are not read by doxygen. When specifying no_extension you should add +# * to the FILE_PATTERNS. +# +# Note see also the list of default file extension mappings. -EXTENSION_MAPPING = +EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. +# documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. @@ -303,6 +354,15 @@ EXTENSION_MAPPING = MARKDOWN_SUPPORT = YES +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 5. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 5 + # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or @@ -328,7 +388,7 @@ BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. @@ -414,6 +474,19 @@ TYPEDEF_HIDES_STRUCT = NO LOOKUP_CACHE_SIZE = 0 +# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use +# during processing. When set to 0 doxygen will based this on the number of +# cores available in the system. You can set it explicitly to a value larger +# than 0 to get more control over the balance between CPU load and processing +# speed. At this moment only the input processing can be done using multiple +# threads. Since this is still an experimental feature the default is set to 1, +# which effectively disables parallel processing. Please report any issues you +# encounter. Generating dot graphs in parallel is controlled by the +# DOT_NUM_THREADS setting. +# Minimum value: 0, maximum value: 32, default value: 1. + +NUM_PROC_THREADS = 1 + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- @@ -434,6 +507,12 @@ EXTRACT_ALL = YES EXTRACT_PRIVATE = NO +# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual +# methods of a class will be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIV_VIRTUAL = NO + # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal # scope will be included in the documentation. # The default value is: NO. @@ -471,6 +550,13 @@ EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO +# If this flag is set to YES, the name of an unnamed parameter in a declaration +# will be determined by the corresponding definition. By default unnamed +# parameters remain unnamed in the output. +# The default value is: YES. + +RESOLVE_UNNAMED_PARAMS = YES + # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation @@ -488,8 +574,8 @@ HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO, these declarations will be -# included in the documentation. +# declarations. If set to NO, these declarations will be included in the +# documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO @@ -508,12 +594,20 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. -# The default value is: system dependent. +# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +# able to match the capabilities of the underlying filesystem. In case the +# filesystem is case sensitive (i.e. it supports files in the same directory +# whose names only differ in casing), the option must be set to YES to properly +# deal with such files in case they appear in the input. For filesystems that +# are not case sensitive the option should be set to NO to properly deal with +# output files written for symbols that only differ in casing, such as for two +# classes, one named CLASS and the other named Class, and to also support +# references to files without having to specify the exact matching casing. On +# Windows (including Cygwin) and MacOS, users should typically set this option +# to NO, whereas on Linux or other Unix flavors it should typically be set to +# YES. +# Possible values are: SYSTEM, NO and YES. +# The default value is: SYSTEM. CASE_SENSE_NAMES = YES @@ -531,6 +625,12 @@ HIDE_SCOPE_NAMES = NO HIDE_COMPOUND_REFERENCE= NO +# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class +# will show which file needs to be included to use the class. +# The default value is: YES. + +SHOW_HEADERFILE = YES + # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. @@ -639,7 +739,7 @@ GENERATE_DEPRECATEDLIST= YES # sections, marked by \if ... \endif and \cond # ... \endcond blocks. -ENABLED_SECTIONS = +ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the @@ -681,14 +781,15 @@ SHOW_NAMESPACES = YES # by doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. +# will be used as the name of the layout file. See also section "Changing the +# layout of pages" for information. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE @@ -699,12 +800,12 @@ LAYOUT_FILE = Docs/DoxygenLayout.xml # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. -CITE_BIB_FILES = +CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages @@ -734,36 +835,68 @@ WARNINGS = YES WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. +# potential errors in the documentation, such as documenting some parameters in +# a documented function twice, or documenting parameters that don't exist or +# using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES +# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete +# function parameter documentation. If set to NO, doxygen will accept that some +# parameters have no documentation without warning. +# The default value is: YES. + +WARN_IF_INCOMPLETE_DOC = YES + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. +# value. If set to NO, doxygen will only warn about wrong parameter +# documentation, but not about the absence of documentation. If EXTRACT_ALL is +# set to YES then this flag will automatically be disabled. See also +# WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = NO +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS +# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +# at the end of the doxygen process doxygen will return with a non-zero status. +# Possible values are: NO, YES and FAIL_ON_WARNINGS. +# The default value is: NO. + +WARN_AS_ERROR = NO + # The WARN_FORMAT tag determines the format of the warning messages that doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) +# See also: WARN_LINE_FORMAT # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" +# In the $text part of the WARN_FORMAT command it is possible that a reference +# to a more specific place is given. To make it easier to jump to this place +# (outside of doxygen) the user can define a custom "cut" / "paste" string. +# Example: +# WARN_LINE_FORMAT = "'vi $file +$line'" +# See also: WARN_FORMAT +# The default value is: at line $line of file $file. + +WARN_LINE_FORMAT = "at line $line of file $file" + # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard -# error (stderr). +# error (stderr). In case the file specified cannot be opened for writing the +# warning and error messages are written to standard error. When as file - is +# specified the warning and error messages are written to standard output +# (stdout). -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files @@ -776,21 +909,33 @@ WARN_LOGFILE = # Note: If this tag is empty the current directory is searched. INPUT = . \ + README.md \ + CONTRIBUTING.md \ DetourCrowd \ DetourTileCache \ Recast \ - Docs/Conceptual \ Docs/Extern # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of -# possible encodings. +# documentation (see: +# https://www.gnu.org/software/libiconv/) for the list of possible encodings. +# See also: INPUT_FILE_ENCODING # The default value is: UTF-8. INPUT_ENCODING = UTF-8 +# This tag can be used to specify the character encoding of the source files +# that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify +# character encoding on a per file pattern basis. Doxygen will compare the file +# name with each pattern and apply the encoding instead of the default +# INPUT_ENCODING) if there is a match. The character encodings are a list of the +# form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding +# "INPUT_ENCODING" for further information on supported encodings. + +INPUT_FILE_ENCODING = + # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. @@ -799,11 +944,15 @@ INPUT_ENCODING = UTF-8 # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # +# Note the list of default checked file patterns might differ from the list of +# default file extension mappings. +# # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, -# *.vhdl, *.ucf, *.qsf, *.as and *.js. +# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, +# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C +# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, +# *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.cpp \ *.h \ @@ -829,7 +978,8 @@ EXCLUDE = Doxyfile \ TODO.txt \ RecastDemo/Contrib \ RecastDemo/Build \ - RecastDemo/Bin + RecastDemo/Bin \ + Tests # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded @@ -851,25 +1001,25 @@ EXCLUDE_PATTERNS = CMakeLists.txt # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test +# ANamespace::AClass, ANamespace::*Test # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* -EXCLUDE_SYMBOLS = +EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or directories # that contain example code fragments that are included (see the \include # command). -EXAMPLE_PATH = +EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and # *.h) to filter out the source-files in the directories. If left blank all # files are included. -EXAMPLE_PATTERNS = +EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude commands @@ -898,8 +1048,17 @@ IMAGE_PATH = Docs/Images # Note that the filter must not add or remove lines; it is applied before the # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. +# +# Note that doxygen will use the data processed and written to standard output +# for further processing, therefore nothing else, like debug statements or used +# commands (so in case of a Windows batch file always use @echo OFF), should be +# written to standard output. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. -INPUT_FILTER = +INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the @@ -907,8 +1066,12 @@ INPUT_FILTER = # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. -FILTER_PATTERNS = +FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will also be used to filter the input files that are used for @@ -923,14 +1086,23 @@ FILTER_SOURCE_FILES = NO # *.ext= (so without naming a filter). # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. -FILTER_SOURCE_PATTERNS = +FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = +USE_MDFILE_AS_MAINPAGE = ./README.md + +# The Fortran standard specifies that for fixed formatted Fortran code all +# characters from position 72 are to be considered as comment. A common +# extension is to allow longer lines before the automatic comment starts. The +# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can +# be processed before the automatic comment starts. +# Minimum value: 7, maximum value: 10000, default value: 72. + +FORTRAN_COMMENT_AFTER = 72 #--------------------------------------------------------------------------- # Configuration options related to source browsing @@ -959,7 +1131,7 @@ INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. +# entity all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = NO @@ -991,12 +1163,12 @@ SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version +# (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # @@ -1018,25 +1190,6 @@ USE_HTAGS = NO VERBATIM_HEADERS = YES -# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the -# cost of reduced performance. This can be particularly helpful with template -# rich C++ code for which doxygen's built-in parser lacks the necessary type -# information. -# Note: The availability of this option depends on whether or not doxygen was -# compiled with the --with-libclang option. -# The default value is: NO. - -CLANG_ASSISTED_PARSING = NO - -# If clang assisted parsing is enabled you can provide the compiler with command -# line options that you would normally use when invoking the compiler. Note that -# the include paths will already be set by doxygen for the files and directories -# specified with INPUT and INCLUDE_PATH. -# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. - -CLANG_OPTIONS = - #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- @@ -1048,20 +1201,13 @@ CLANG_OPTIONS = ALPHABETICAL_INDEX = YES -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - # In case all classes in a project start with a common prefix, all classes will # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag # can be used to specify a prefix (or a list of prefixes) that should be ignored # while generating the index headers. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output @@ -1105,7 +1251,7 @@ HTML_FILE_EXTENSION = .html # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_HEADER = +HTML_HEADER = # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard @@ -1127,7 +1273,7 @@ HTML_FOOTER = Docs/footer.html # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_STYLESHEET = +HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets @@ -1140,7 +1286,8 @@ HTML_STYLESHEET = # list). For an example see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_STYLESHEET = +HTML_EXTRA_STYLESHEET = Docs/doxygen-awesome-css/doxygen-awesome.css \ + Docs/doxygen-awesome-css/doxygen-awesome-sidebar-only.css # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note @@ -1150,12 +1297,29 @@ HTML_EXTRA_STYLESHEET = # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_FILES = +HTML_EXTRA_FILES = License.txt + +# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output +# should be rendered with a dark or light theme. Default setting AUTO_LIGHT +# enables light output unless the user preference is dark output. Other options +# are DARK to always use dark mode, LIGHT to always use light mode, AUTO_DARK to +# default to dark mode unless the user prefers light mode, and TOGGLE to let the +# user toggle between dark and light mode via a button. +# Possible values are: LIGHT Always generate light output., DARK Always generate +# dark output., AUTO_LIGHT Automatically set the mode according to the user +# preference, use light mode if no preference is set (the default)., AUTO_DARK +# Automatically set the mode according to the user preference, use dark mode if +# no preference is set. and TOGGLE Allow to user to switch between light and +# dark mode via a button.. +# The default value is: AUTO_LIGHT. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE = AUTO_LIGHT # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# this color. Hue is specified as an angle on a color-wheel, see +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. @@ -1164,7 +1328,7 @@ HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A +# in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1191,6 +1355,17 @@ HTML_COLORSTYLE_GAMMA = 80 HTML_TIMESTAMP = YES +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via JavaScript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have JavaScript, +# like the Qt help browser. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_MENUS = YES + # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. @@ -1214,13 +1389,14 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in +# environment (see: +# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To +# create a documentation set, doxygen will generate a Makefile in the HTML +# output directory. Running make will produce the docset in that directory and +# running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. +# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy +# genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1234,6 +1410,13 @@ GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" +# This tag determines the URL of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDURL = + # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. @@ -1259,8 +1442,12 @@ DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. +# on Windows. In the beginning of 2021 Microsoft took the original page, with +# a.o. the download links, offline the HTML help workshop was already many years +# in maintenance mode). You can download the HTML help workshop from the web +# archives at Installation executable (see: +# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML @@ -1279,7 +1466,7 @@ GENERATE_HTMLHELP = NO # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -CHM_FILE = +CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler (hhc.exe). If non-empty, @@ -1287,10 +1474,10 @@ CHM_FILE = # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -HHC_LOCATION = +HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the master .chm file (NO). +# (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. @@ -1300,7 +1487,7 @@ GENERATE_CHI = NO # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -CHM_INDEX_ENCODING = +CHM_INDEX_ENCODING = # The BINARY_TOC flag controls whether a binary table of contents is generated # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it @@ -1331,11 +1518,12 @@ GENERATE_QHP = NO # the HTML output folder. # This tag requires that the tag GENERATE_QHP is set to YES. -QCH_FILE = +QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1343,8 +1531,8 @@ QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- -# folders). +# Folders (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1352,33 +1540,33 @@ QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_CUST_FILTER_ATTRS = +QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_SECT_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. +# The QHG_LOCATION tag can be used to specify the location (absolute path +# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +# run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. -QHG_LOCATION = +QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be # generated, together with the HTML files, they form an Eclipse help plugin. To @@ -1418,16 +1606,28 @@ DISABLE_INDEX = NO # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. +# further fine tune the look of the index (see "Fine-tuning the output"). As an +# example, the default style sheet generated by doxygen has an example that +# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +# Since the tree basically has the same information as the tab index, you could +# consider setting DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = YES +# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the +# FULL_SIDEBAR option determines if the side bar is limited to only the treeview +# area (value NO) or if it should extend to the full height of the window (value +# YES). Setting this to YES gives a layout similar to +# https://docs.readthedocs.io with more room for contents, but less room for the +# project logo, title, and description. If either GENERATE_TREEVIEW or +# DISABLE_INDEX is set to NO, this option has no effect. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FULL_SIDEBAR = NO + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # @@ -1452,6 +1652,24 @@ TREEVIEW_WIDTH = 250 EXT_LINKS_IN_WINDOW = NO +# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email +# addresses. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +OBFUSCATE_EMAILS = YES + +# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg +# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see +# https://inkscape.org) to generate formulas as SVG images instead of PNGs for +# the HTML output. These images will generally look nicer at scaled resolutions. +# Possible values are: png (the default) and svg (looks nicer but requires the +# pdf2svg or inkscape tool). +# The default value is: png. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FORMULA_FORMAT = png + # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML @@ -1461,19 +1679,14 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. +# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands +# to create new LaTeX commands to be used in formulas as building blocks. See +# the section "Including formulas" for details. -FORMULA_TRANSPARENT = YES +FORMULA_MACROFILE = # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering +# https://www.mathjax.org) which uses client side JavaScript for the rendering # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path @@ -1483,11 +1696,29 @@ FORMULA_TRANSPARENT = YES USE_MATHJAX = NO +# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. +# Note that the different versions of MathJax have different requirements with +# regards to the different settings, so it is possible that also other MathJax +# settings have to be changed when switching between the different MathJax +# versions. +# Possible values are: MathJax_2 and MathJax_3. +# The default value is: MathJax_2. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_VERSION = MathJax_2 + # When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# the MathJax output. For more details about the output format see MathJax +# version 2 (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +# (see: +# http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. +# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +# is the name for Mathjax version 3, for MathJax version 2 this will be +# translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1500,26 +1731,33 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. +# MathJax from https://www.mathjax.org before deployment. The default value is: +# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://www.mathjax.org/mathjax # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example +# for MathJax version 2 (see +# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# For example for MathJax version 3 (see +# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +# MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_EXTENSIONS = +MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_CODEFILE = +MATHJAX_CODEFILE = # When the SEARCHENGINE tag is enabled doxygen will generate a search box for # the HTML output. The underlying search engine uses javascript and DHTML and @@ -1543,7 +1781,7 @@ MATHJAX_CODEFILE = SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a web server instead of a web client using Javascript. There +# implemented using a web server instead of a web client using JavaScript. There # are two flavors of web server based searching depending on the EXTERNAL_SEARCH # setting. When disabled, doxygen will generate a PHP script for searching and # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing @@ -1562,7 +1800,8 @@ SERVER_BASED_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). +# Xapian (see: +# https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1575,11 +1814,12 @@ EXTERNAL_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). See the section "External Indexing and -# Searching" for details. +# Xapian (see: +# https://xapian.org/). See the section "External Indexing and Searching" for +# details. # This tag requires that the tag SEARCHENGINE is set to YES. -SEARCHENGINE_URL = +SEARCHENGINE_URL = # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed # search data is written to a file for indexing by an external tool. With the @@ -1595,7 +1835,7 @@ SEARCHDATA_FILE = searchdata.xml # projects and redirect the results back to the right project. # This tag requires that the tag SEARCHENGINE is set to YES. -EXTERNAL_SEARCH_ID = +EXTERNAL_SEARCH_ID = # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen # projects other than the one defined by this configuration file, but that are @@ -1605,7 +1845,7 @@ EXTERNAL_SEARCH_ID = # EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... # This tag requires that the tag SEARCHENGINE is set to YES. -EXTRA_SEARCH_MAPPINGS = +EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- # Configuration options related to the LaTeX output @@ -1627,21 +1867,35 @@ LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. # -# Note that when enabling USE_PDFLATEX this option is only used for generating -# bitmaps for formulas in the HTML output, but not in the Makefile that is -# written to the output directory. -# The default file is: latex. +# Note that when not enabling USE_PDFLATEX the default is latex when enabling +# USE_PDFLATEX the default is pdflatex and when in the later case latex is +# chosen this is overwritten by pdflatex. For specific output languages the +# default can have been set differently, this depends on the implementation of +# the output language. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate # index for LaTeX. +# Note: This tag is used in the Makefile / make.bat. +# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file +# (.tex). # The default file is: makeindex. # This tag requires that the tag GENERATE_LATEX is set to YES. MAKEINDEX_CMD_NAME = makeindex +# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to +# generate index for LaTeX. In case there is no backslash (\) as first character +# it will be automatically added in the LaTeX code. +# Note: This tag is used in the generated output file (.tex). +# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. +# The default value is: makeindex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_MAKEINDEX_CMD = makeindex + # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX # documents. This may be useful for small projects and may help to save some # trees in general. @@ -1657,7 +1911,7 @@ COMPACT_LATEX = NO # The default value is: a4. # This tag requires that the tag GENERATE_LATEX is set to YES. -PAPER_TYPE = a4wide +PAPER_TYPE = a4 # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names # that should be included in the LaTeX output. The package can be specified just @@ -1669,34 +1923,36 @@ PAPER_TYPE = a4wide # If left blank no extra packages will be included. # This tag requires that the tag GENERATE_LATEX is set to YES. -EXTRA_PACKAGES = +EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the -# generated LaTeX document. The header should contain everything until the first -# chapter. If it is left blank doxygen will generate a standard header. See -# section "Doxygen usage" for information on how to let doxygen write the -# default header to a separate file. +# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +# the generated LaTeX document. The header should contain everything until the +# first chapter. If it is left blank doxygen will generate a standard header. It +# is highly recommended to start with a default header using +# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +# and then modify the file new_header.tex. See also section "Doxygen usage" for +# information on how to generate the default header that doxygen normally uses. # -# Note: Only use a user-defined header if you know what you are doing! The -# following commands have a special meaning inside the header: $title, -# $datetime, $date, $doxygenversion, $projectname, $projectnumber, -# $projectbrief, $projectlogo. Doxygen will replace $title with the empty -# string, for the replacement values of the other commands the user is referred -# to HTML_HEADER. +# Note: Only use a user-defined header if you know what you are doing! +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. The following +# commands have a special meaning inside the header (and footer): For a +# description of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_HEADER = +LATEX_HEADER = -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the -# generated LaTeX document. The footer should contain everything after the last -# chapter. If it is left blank doxygen will generate a standard footer. See +# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +# the generated LaTeX document. The footer should contain everything after the +# last chapter. If it is left blank doxygen will generate a standard footer. See # LATEX_HEADER for more information on how to generate a default footer and what -# special commands can be used inside the footer. -# -# Note: Only use a user-defined footer if you know what you are doing! +# special commands can be used inside the footer. See also section "Doxygen +# usage" for information on how to generate the default footer that doxygen +# normally uses. Note: Only use a user-defined footer if you know what you are +# doing! # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_FOOTER = +LATEX_FOOTER = # The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined # LaTeX style sheets that are included after the standard style sheets created @@ -1707,7 +1963,7 @@ LATEX_FOOTER = # list). # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_EXTRA_STYLESHEET = +LATEX_EXTRA_STYLESHEET = # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the LATEX_OUTPUT output @@ -1715,7 +1971,7 @@ LATEX_EXTRA_STYLESHEET = # markers available. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_EXTRA_FILES = +LATEX_EXTRA_FILES = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is # prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will @@ -1726,9 +1982,11 @@ LATEX_EXTRA_FILES = PDF_HYPERLINKS = NO -# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate -# the PDF file directly from the LaTeX files. Set this option to YES, to get a -# higher quality PDF documentation. +# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as +# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX +# files. Set this option to YES, to get a higher quality PDF documentation. +# +# See also section LATEX_CMD_NAME for selecting the engine. # The default value is: YES. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1736,8 +1994,7 @@ USE_PDFLATEX = NO # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode # command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. This option is also used -# when generating formulas in HTML. +# if errors occur, instead of asking the user for help. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1750,24 +2007,30 @@ LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See -# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. # The default value is: plain. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_BIB_STYLE = plain +# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated +# page will contain the date and time when the page was generated. Setting this +# to NO can help when comparing the output of multiple runs. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_TIMESTAMP = NO + +# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) +# path from which the emoji images will be read. If a relative path is entered, +# it will be relative to the LATEX_OUTPUT directory. If left blank the +# LATEX_OUTPUT directory will be used. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EMOJI_DIRECTORY = + #--------------------------------------------------------------------------- # Configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -1807,32 +2070,22 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's config -# file, i.e. a series of assignments. You only have to provide replacements, -# missing definitions are set to their default value. +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# configuration file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. # # See also section "Doxygen usage" for information on how to generate the # default style sheet that doxygen normally uses. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_STYLESHEET_FILE = +RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an RTF document. Syntax is -# similar to doxygen's config file. A template extensions file can be generated -# using doxygen -e rtf extensionFile. +# similar to doxygen's configuration file. A template extensions file can be +# generated using doxygen -e rtf extensionFile. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_EXTENSIONS_FILE = - -# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code -# with syntax highlighting in the RTF output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_RTF is set to YES. - -RTF_SOURCE_CODE = NO +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # Configuration options related to the man page output @@ -1867,7 +2120,7 @@ MAN_EXTENSION = .3dbus # MAN_EXTENSION with the initial . removed. # This tag requires that the tag GENERATE_MAN is set to YES. -MAN_SUBDIR = +MAN_SUBDIR = # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it # will generate one additional man file for each entity documented in the real @@ -1905,6 +2158,13 @@ XML_OUTPUT = xml XML_PROGRAMLISTING = YES +# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include +# namespace members in file scope as well, matching the HTML output. +# The default value is: NO. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_NS_MEMB_FILE_SCOPE = NO + #--------------------------------------------------------------------------- # Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- @@ -1923,23 +2183,14 @@ GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook -# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the -# program listings (including syntax highlighting and cross-referencing -# information) to the DOCBOOK output. Note that enabling this will significantly -# increase the size of the DOCBOOK output. -# The default value is: NO. -# This tag requires that the tag GENERATE_DOCBOOK is set to YES. - -DOCBOOK_PROGRAMLISTING = NO - #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an -# AutoGen Definitions (see http://autogen.sf.net) file that captures the -# structure of the code including all documentation. Note that this feature is -# still experimental and incomplete at the moment. +# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures +# the structure of the code including all documentation. Note that this feature +# is still experimental and incomplete at the moment. # The default value is: NO. GENERATE_AUTOGEN_DEF = NO @@ -1980,7 +2231,7 @@ PERLMOD_PRETTY = YES # overwrite each other's variables. # This tag requires that the tag GENERATE_PERLMOD is set to YES. -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor @@ -2018,10 +2269,11 @@ SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by the -# preprocessor. +# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of +# RECURSIVE has no effect here. # This tag requires that the tag SEARCH_INCLUDES is set to YES. -INCLUDE_PATH = +INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the @@ -2029,7 +2281,7 @@ INCLUDE_PATH = # used. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -INCLUDE_FILE_PATTERNS = +INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that are # defined before the preprocessor is started (similar to the -D option of e.g. @@ -2039,7 +2291,7 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = +PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The @@ -2048,7 +2300,7 @@ PREDEFINED = # definition found in the source code. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will # remove all references to function-like macros that are alone on a line, have @@ -2077,13 +2329,13 @@ SKIP_FUNCTION_MACROS = YES # the path). If a tag file is not located in the directory in which doxygen is # run, you must also specify the path to the tagfile here. -TAGFILES = +TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create a # tag file that is based on the input files it reads. See section "Linking to # external documentation" for more information about the usage of tag files. -GENERATE_TAGFILE = +GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES, all external class will be listed in # the class index. If set to NO, only the inherited external classes will be @@ -2106,40 +2358,16 @@ EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of 'which perl'). -# The default file (with absolute path) is: /usr/bin/perl. - -PERL_PATH = /usr/bin/perl - #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram -# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to -# NO turns the diagrams off. Note that this option also works with HAVE_DOT -# disabled, but it is recommended to install and use dot, since it yields more -# powerful graphs. -# The default value is: YES. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see: -# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - # You can include diagrams made with dia in doxygen documentation. Doxygen will # then run dia to produce the diagram and insert it in the documentation. The # DIA_PATH tag allows you to specify the directory where the dia binary resides. # If left empty dia is assumed to be found in the default search path. -DIA_PATH = +DIA_PATH = # If set to YES the inheritance and collaboration graphs will hide inheritance # and usage relations if the target is undocumented or is not a class. @@ -2166,35 +2394,50 @@ HAVE_DOT = NO DOT_NUM_THREADS = 0 -# When you want a differently looking font in the dot files that doxygen -# generates you can specify the font name using DOT_FONTNAME. You need to make -# sure dot is able to find the font, which can be done by putting it in a -# standard location or by setting the DOTFONTPATH environment variable or by -# setting DOT_FONTPATH to the directory containing the font. -# The default value is: Helvetica. +# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of +# subgraphs. When you want a differently looking font in the dot files that +# doxygen generates you can specify fontname, fontcolor and fontsize attributes. +# For details please see Node, +# Edge and Graph Attributes specification You need to make sure dot is able +# to find the font, which can be done by putting it in a standard location or by +# setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. Default graphviz fontsize is 14. +# The default value is: fontname=Helvetica,fontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTNAME = Helvetica +DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" -# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of -# dot graphs. -# Minimum value: 4, maximum value: 24, default value: 10. +# DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can +# add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. Complete documentation about +# arrows shapes. +# The default value is: labelfontname=Helvetica,labelfontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTSIZE = 10 +DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" -# By default doxygen will tell dot to use the default font as specified with -# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set -# the path where dot can find it using this tag. +# DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes +# around nodes set 'shape=plain' or 'shape=plaintext' Shapes specification +# The default value is: shape=box,height=0.2,width=0.4. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTPATH = +DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" -# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for -# each documented class showing the direct and indirect inheritance relations. -# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# You can set the path where dot can find font specified with fontname in +# DOT_COMMON_ATTR and others dot attributes. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_FONTPATH = + +# If the CLASS_GRAPH tag is set to YES (or GRAPH) then doxygen will generate a +# graph for each documented class showing the direct and indirect inheritance +# relations. In case HAVE_DOT is set as well dot will be used to draw the graph, +# otherwise the built-in generator will be used. If the CLASS_GRAPH tag is set +# to TEXT the direct and indirect inheritance relations will be shown as texts / +# links. +# Possible values are: NO, YES, TEXT and GRAPH. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. CLASS_GRAPH = YES @@ -2208,7 +2451,8 @@ CLASS_GRAPH = YES COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for -# groups, showing the direct groups dependencies. +# groups, showing the direct groups dependencies. See also the chapter Grouping +# in the manual. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2231,10 +2475,32 @@ UML_LOOK = NO # but if the number exceeds 15, the total amount of fields shown is limited to # 10. # Minimum value: 0, maximum value: 100, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. +# This tag requires that the tag UML_LOOK is set to YES. UML_LIMIT_NUM_FIELDS = 10 +# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and +# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS +# tag is set to YES, doxygen will add type and arguments for attributes and +# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen +# will not generate fields with class member information in the UML graphs. The +# class diagrams will look similar to the default class diagrams but using UML +# notation for the relationships. +# Possible values are: NO, YES and NONE. +# The default value is: NO. +# This tag requires that the tag UML_LOOK is set to YES. + +DOT_UML_DETAILS = NO + +# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters +# to display on a single line. If the actual line length exceeds this threshold +# significantly it will wrapped across multiple lines. Some heuristics are apply +# to avoid ugly line breaks. +# Minimum value: 0, maximum value: 1000, default value: 17. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_WRAP_THRESHOLD = 17 + # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and # collaboration graphs will show the relations between templates and their # instances. @@ -2301,6 +2567,13 @@ GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES +# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels +# of child directories generated in directory dependency graphs by dot. +# Minimum value: 1, maximum value: 25, default value: 1. +# This tag requires that the tag DIRECTORY_GRAPH is set to YES. + +DIR_GRAPH_MAX_DEPTH = 1 + # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. For an explanation of the image formats see the section # output formats in the documentation of the dot tool (Graphviz (see: @@ -2332,39 +2605,44 @@ INTERACTIVE_SVG = NO # found. If left blank, it is assumed the dot tool can be found in the path. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_PATH = +DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the \dotfile # command). # This tag requires that the tag HAVE_DOT is set to YES. -DOTFILE_DIRS = +DOTFILE_DIRS = # The MSCFILE_DIRS tag can be used to specify one or more directories that # contain msc files that are included in the documentation (see the \mscfile # command). -MSCFILE_DIRS = +MSCFILE_DIRS = # The DIAFILE_DIRS tag can be used to specify one or more directories that # contain dia files that are included in the documentation (see the \diafile # command). -DIAFILE_DIRS = +DIAFILE_DIRS = # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the -# path where java can find the plantuml.jar file. If left blank, it is assumed -# PlantUML is not used or called during a preprocessing step. Doxygen will -# generate a warning when it encounters a \startuml command in this case and -# will not generate output for the diagram. +# path where java can find the plantuml.jar file or to the filename of jar file +# to be used. If left blank, it is assumed PlantUML is not used or called during +# a preprocessing step. Doxygen will generate a warning when it encounters a +# \startuml command in this case and will not generate output for the diagram. -PLANTUML_JAR_PATH = +PLANTUML_JAR_PATH = + +# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a +# configuration file for plantuml. + +PLANTUML_CFG_FILE = # When using plantuml, the specified paths are searched for files specified by # the !include statement in a plantuml block. -PLANTUML_INCLUDE_PATH = +PLANTUML_INCLUDE_PATH = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes # that will be shown in the graph. If the number of nodes in a graph becomes @@ -2390,18 +2668,6 @@ DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not seem -# to support this out of the box. -# -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). -# The default value is: NO. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_TRANSPARENT = NO - # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) support @@ -2414,14 +2680,18 @@ DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page # explaining the meaning of the various boxes and arrows in the dot generated # graphs. +# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal +# graphical representation for inheritance and collaboration diagrams is used. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot +# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate # files that are used to generate the various graphs. +# +# Note: This setting is not only used for dot files but also for msc temporary +# files. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. DOT_CLEANUP = YES diff --git a/README.md b/README.md index 8adba6b..fb0c05a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Recast & Detour [![Build](https://github.com/recastnavigation/recastnavigation/actions/workflows/Build.yaml/badge.svg)](https://github.com/recastnavigation/recastnavigation/actions/workflows/Build.yaml) [![Tests](https://github.com/recastnavigation/recastnavigation/actions/workflows/Tests.yaml/badge.svg)](https://github.com/recastnavigation/recastnavigation/actions/workflows/Tests.yaml) -![screenshot of a navmesh baked with the sample program](/RecastDemo/screenshot.png?raw=true) +![screenshot of a navmesh baked with the sample program](/Docs/Images/screenshot.png) ## Recast diff --git a/Recast/Include/Recast.h b/Recast/Include/Recast.h index a36d7ad..246376b 100644 --- a/Recast/Include/Recast.h +++ b/Recast/Include/Recast.h @@ -22,6 +22,9 @@ /// The value of PI used by Recast. static const float RC_PI = 3.14159265f; +/// Used to ignore unused function parameters and silence any compiler warnings. +template void rcIgnoreUnused(const T&) { } + /// Recast log categories. /// @see rcContext enum rcLogCategory @@ -146,23 +149,23 @@ protected: /// @param[in] category The category of the message. /// @param[in] msg The formatted message. /// @param[in] len The length of the formatted message. - virtual void doLog(const rcLogCategory /*category*/, const char* /*msg*/, const int /*len*/) {} + virtual void doLog(const rcLogCategory category, const char* msg, const int len) { rcIgnoreUnused(category); rcIgnoreUnused(msg); rcIgnoreUnused(len); } /// Clears all timers. (Resets all to unused.) virtual void doResetTimers() {} /// Starts the specified performance timer. /// @param[in] label The category of timer. - virtual void doStartTimer(const rcTimerLabel /*label*/) {} + virtual void doStartTimer(const rcTimerLabel label) { rcIgnoreUnused(label); } /// Stops the specified performance timer. /// @param[in] label The category of the timer. - virtual void doStopTimer(const rcTimerLabel /*label*/) {} + virtual void doStopTimer(const rcTimerLabel label) { rcIgnoreUnused(label); } /// Returns the total accumulated time of the specified performance timer. /// @param[in] label The category of the timer. /// @return The accumulated time of the timer, or -1 if timers are disabled or the timer has never been started. - virtual int doGetAccumulatedTime(const rcTimerLabel /*label*/) const { return -1; } + virtual int doGetAccumulatedTime(const rcTimerLabel label) const { rcIgnoreUnused(label); return -1; } /// True if logging is enabled. bool m_logEnabled; @@ -593,11 +596,6 @@ static const int RC_NOT_CONNECTED = 0x3f; /// @name General helper functions /// @{ -/// Used to ignore a function parameter. VS complains about unused parameters -/// and this silences the warning. -/// @param [in] _ Unused parameter -template void rcIgnoreUnused(const T&) { } - /// Swaps the values of the two parameters. /// @param[in,out] a Value A /// @param[in,out] b Value B @@ -994,6 +992,7 @@ void rcMarkConvexPolyArea(rcContext* ctx, const float* verts, const int nverts, /// @ingroup recast /// @param[in] verts The vertices of the polygon [Form: (x, y, z) * @p nverts] /// @param[in] nverts The number of vertices in the polygon. +/// @param[in] offset How much to offset the polygon by. [Units: wu] /// @param[out] outVerts The offset vertices (should hold up to 2 * @p nverts) [Form: (x, y, z) * return value] /// @param[in] maxOutVerts The max number of vertices that can be stored to @p outVerts. /// @returns Number of vertices in the offset polygon or 0 if too few vertices in @p outVerts.