You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

448 lines
12 KiB

/*
This file is part of Magnum.
Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018
Vladimír Vondruš <mosra@centrum.cz>
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.
*/
/** @dir magnum/src/Magnum
10 years ago
* @brief Namespace @ref Magnum (part of @ref building "Magnum library"), @ref Magnum::Extensions
*/
/** @namespace Magnum
@brief Root namespace
Contains classes for interacting with OpenGL.
All of this library except @ref OpenGLTester is built as part of Magnum by
default. To use this library with CMake, you need to request the `Magnum`
package and link to the `Magnum::Magnum` target:
@code{.cmake}
find_package(Magnum REQUIRED)
# ...
target_link_libraries(your-app Magnum::Magnum)
@endcode
See @ref building and @ref cmake for more information.
*/
/** @dir Magnum/Platform
11 years ago
* @brief Namespace @ref Magnum::Platform
*/
/** @namespace Magnum::Platform
@brief Platform-specific application and context creation
Base classes for creating applications with various toolkits.
Parts of this namespace are built if `WITH_*APPLICATION` is enabled when
building Magnum, with each library having specific toolkit dependencies and
platform requirements. To use a particular application library with CMake, you
need to request given `*Application` component of the `Magnum` package and link
to the `Magnum::Application` target. Example using the @ref Platform::Sdl2Application
library:
@code{.cmake}
find_package(Magnum REQUIRED Sdl2Application)
# ...
target_link_libraries(your-app Magnum::Application)
@endcode
See documentation of particular `*Application` classs, @ref building,
@ref cmake and @ref platform for more information.
*/
/** @dir Magnum/Math
* @brief Namespace @ref Magnum::Math, @ref Magnum::Math::Literals
*/
/** @namespace Magnum::Math
@brief Math library
Template classes for matrix and vector calculations.
This library is built as part of Magnum by default. To use this library with
CMake, you need to find the `Magnum` package and link to the `Magnum::Magnum`
target:
@code{.cmake}
find_package(Magnum REQUIRED)
# ...
target_link_libraries(your-app Magnum::Magnum)
@endcode
See @ref building, @ref cmake, @ref matrix-vector and @ref transformations for
more information.
*/
/** @namespace Magnum::Math::Literals
@brief Math literals
Literals for easy construction of angle and color values.
This library is built as part of Magnum by default. To use this library with
CMake, you need to find the `Magnum` package and link to the `Magnum::Magnum`
target:
@code{.cmake}
find_package(Magnum REQUIRED)
# ...
target_link_libraries(your-app Magnum::Magnum)
@endcode
See @ref building, @ref cmake and @ref types for more information.
*/
/** @dir Magnum/Math/Algorithms
11 years ago
* @brief Namespace @ref Magnum::Math::Algorithms
*/
/** @namespace Magnum::Math::Algorithms
@brief Algorithms
Various matrix and vector algorithms.
This library is built as part of Magnum by default. To use this library with
CMake, you need to find the `Magnum` package and link to the `Magnum::Magnum`
target:
@code{.cmake}
find_package(Magnum REQUIRED)
# ...
target_link_libraries(your-app Magnum::Magnum)
@endcode
See @ref building and @ref cmake for more information.
*/
/** @dir Magnum/Math/Geometry
11 years ago
* @brief Namespace @ref Magnum::Math::Geometry
*/
/** @namespace Magnum::Math::Geometry
@brief Geometry library
This library is built as part of Magnum by default. To use this library with
CMake, you need to find the `Magnum` package and link to the `Magnum::Magnum`
target:
@code{.cmake}
find_package(Magnum REQUIRED)
# ...
target_link_libraries(your-app Magnum::Magnum)
@endcode
See @ref building and @ref cmake for more information.
*/
/** @namespace Magnum::Math::Geometry::Distance
@brief Functions for calculating distances
This library is built as part of Magnum by default. To use this library with
CMake, you need to find the `Magnum` package and link to the `Magnum::Magnum`
target:
@code{.cmake}
find_package(Magnum REQUIRED)
# ...
target_link_libraries(your-app Magnum::Magnum)
@endcode
See @ref building and @ref cmake for more information.
*/
/** @namespace Magnum::Math::Geometry::Intersection
@brief Function for calculating intersections
This library is built as part of Magnum by default. To use this library with
CMake, you need to find the `Magnum` package and link to the `Magnum::Magnum`
target:
@code{.cmake}
find_package(Magnum REQUIRED)
# ...
target_link_libraries(your-app Magnum::Magnum)
@endcode
See @ref building and @ref cmake for more information.
*/
/** @dir Magnum/Audio
* @brief Namespace @ref Magnum::Audio, @ref Magnum::Audio::Extensions
*/
/** @namespace Magnum::Audio
@brief Audio playback
Audio import, playback and integration with @ref SceneGraph.
This library depends on the [OpenAL](https://www.openal.org/) library. It is
built if `WITH_AUDIO` is enabled when building Magnum. To use this library with
CMake, you need to request the `Audio` component of the `Magnum` package and
link to the `Magnum::Audio` target:
@code{.cmake}
find_package(Magnum REQUIRED Audio)
# ...
target_link_libraries(your-app Magnum::Audio)
@endcode
See @ref building and @ref cmake for more information.
Additional plugins are built separately, see particular `Audio::*Importer`
class documentation, @ref building, @ref building-plugins, @ref cmake,
@ref cmake-plugins and @ref plugins for more information.
*/
/** @dir Magnum/DebugTools
11 years ago
* @brief Namespace @ref Magnum::DebugTools
*/
/** @namespace Magnum::DebugTools
@brief Debug tools
Debugging helpers, renderers and profilers.
This library is built if `WITH_DEBUGTOOLS` is enabled when building Magnum. To
use this library with CMake, you need to request the `DebugTools` component of
the `Magnum` package and link to the `Magnum::DebugTools` target:
@code{.cmake}
find_package(Magnum REQUIRED DebugTools)
# ...
target_link_libraries(your-app Magnum::DebugTools)
@endcode
See @ref building, @ref cmake and @ref debug-tools for more information.
*/
/** @dir Magnum/MeshTools
11 years ago
* @brief Namespace @ref Magnum::MeshTools
*/
/** @namespace Magnum::MeshTools
@brief Mesh tools
Tools for generating, optimizing and cleaning meshes.
This library is built if `WITH_MESHTOOLS` is enabled when building Magnum. To
use this library with CMake, you need to request the `MeshTools` component of
the `Magnum` package and link to the `Magnum::MeshTools` target:
@code{.cmake}
find_package(Magnum REQUIRED MeshTools)
# ...
target_link_libraries(your-app Magnum::MeshTools)
@endcode
See @ref building and @ref cmake for more information.
*/
/** @dir Magnum/Primitives
11 years ago
* @brief Namespace @ref Magnum::Primitives
*/
/** @namespace Magnum::Primitives
@brief Primitive library
Basic primitives for testing purposes.
This library is built if `WITH_PRIMITIVES` is enabled when building Magnum. To
use this library with CMake, you need to request the `Primitives` component of
the `Magnum` package and link to the `Magnum::Primitives` target:
@code{.cmake}
find_package(Magnum REQUIRED Primitives)
# ...
target_link_libraries(your-app Magnum::Primitives)
@endcode
See @ref building and @ref cmake for more information.
*/
/** @dir Magnum/SceneGraph
11 years ago
* @brief Namespace @ref Magnum::SceneGraph
*/
11 years ago
/** @namespace Magnum::SceneGraph
@brief Scene graph library
Managing object hierarchy, transformations and interactions.
This library is built if `WITH_SCENEGRAPH` is enabled when building Magnum. To
use this library with CMake, you need to request the `SceneGraph` component of
the `Magnum` package and link to the `Magnum::SceneGraph` target:
@code{.cmake}
find_package(Magnum REQUIRED SceneGraph)
# ...
target_link_libraries(your-app Magnum::SceneGraph)
@endcode
See @ref building, @ref cmake and @ref scenegraph for more information.
*/
/** @dir Magnum/Shaders
11 years ago
* @brief Namespace @ref Magnum::Shaders
*/
/** @namespace Magnum::Shaders
@brief Builtin shaders
14 years ago
Collection of shaders for easy prototyping and basic usage.
This library is built if `WITH_SHADERS` is enabled when building Magnum. To
use this library with CMake, you need to request the `Shaders` component of the
`Magnum` package and link to the `Magnum::Shaders` target:
@code{.cmake}
find_package(Magnum REQUIRED Shaders)
# ...
target_link_libraries(your-app Magnum::Shaders)
@endcode
See @ref building, @ref cmake and @ref shaders for more information.
14 years ago
*/
/** @dir Magnum/Shapes
11 years ago
* @brief Namespace @ref Magnum::Shapes
*/
/** @namespace Magnum::Shapes
@brief Shape library
Collision detection system.
This library is built if `WITH_SHAPES` is enabled when building Magnum. To use
this library with CMake, you need to request the `Shapes` component of the
`Magnum` package and link to the `Magnum::Shapes` target:
@code{.cmake}
find_package(Magnum REQUIRED Shapes)
# ...
target_link_libraries(your-app Magnum::Shapes)
@endcode
See @ref building, @ref cmake and @ref shapes for more information.
*/
/** @dir Magnum/Text
11 years ago
* @brief Namespace @ref Magnum::Text
*/
/** @namespace Magnum::Text
@brief Text rendering
Font texture creation and text layouting.
This library is built if `WITH_TEXT` is enabled when building Magnum. To use
this library with CMake, you need to request the `Text` component of the
`Magnum` package and link to the `Magnum::Text` target:
@code{.cmake}
find_package(Magnum REQUIRED Text)
# ...
target_link_libraries(your-app Magnum::Text)
@endcode
See @ref building and @ref cmake for more information.
Additional plugins are built separately, see particular `*Font` and
`*FontConverter` class documentation, @ref building, @ref building-plugins,
@ref cmake, @ref cmake-plugins and @ref plugins for more information.
*/
/** @dir Magnum/TextureTools
11 years ago
* @brief Namespace @ref Magnum::TextureTools
*/
/** @namespace Magnum::TextureTools
@brief Texture tools
Tools for generating, compressing and optimizing textures.
This library is built if `WITH_TEXTURETOOLS` is enabled when building Magnum.
To use this library with CMake, you need to request the `TextureTools`
component of the `Magnum` package in CMake and link to the
`Magnum::TextureTools` target:
@code{.cmake}
find_package(Magnum REQUIRED TextureTools)
# ...
target_link_libraries(your-app Magnum::TextureTools)
@endcode
See @ref building and @ref cmake for more information.
*/
/** @dir Magnum/Trade
11 years ago
* @brief Namespace @ref Magnum::Trade
*/
/** @namespace Magnum::Trade
@brief Data format exchange
Contains plugin interfaces for importing data of various formats and classes
for direct access to the data.
This library is built as part of Magnum by default. To use it, you need to
find the `Magnum` package and link to the `Magnum::Magnum` target:
@code{.cmake}
find_package(Magnum REQUIRED)
# ...
target_link_libraries(your-app Magnum::Trade)
@endcode
See @ref building and @ref cmake for more information.
Additional plugins are built separately, see particular `Trade::*Importer` and
`*ImageConverter` class documentation, @ref building, @ref building-plugins,
@ref cmake, @ref cmake-plugins and @ref plugins for more
information.
*/
/** @dir magnum/src/MagnumPlugins
* @brief Magnum plugins (part of @ref building "Magnum library")
*/
/** @dir MagnumPlugins/MagnumFont
* @brief Plugin @ref Magnum::Text::MagnumFont
*/
/** @dir MagnumPlugins/MagnumFontConverter
* @brief Plugin @ref Magnum::Text::MagnumFontConverter
*/
/** @dir MagnumPlugins/ObjImporter
* @brief Plugin @ref Magnum::Trade::ObjImporter
*/
/** @dir MagnumPlugins/TgaImageConverter
* @brief Plugin @ref Magnum::Trade::TgaImageConverter
*/
/** @dir MagnumPlugins/TgaImporter
* @brief Plugin @ref Magnum::Trade::TgaImporter
*/
/** @dir MagnumPlugins/WavAudioImporter
* @brief Plugin @ref Magnum::Audio::WavImporter
*/