|
|
|
|
/*
|
|
|
|
|
This file is part of Magnum.
|
|
|
|
|
|
|
|
|
|
Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016
|
|
|
|
|
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
|
|
|
|
|
* @brief Namespace @ref Magnum (part of @ref building "Magnum library"), @ref Magnum::Extensions
|
|
|
|
|
*/
|
|
|
|
|
/** @namespace Magnum
|
|
|
|
|
@brief Root namespace
|
|
|
|
|
|
|
|
|
|
Contains classes for interacting with OpenGL.
|
|
|
|
|
|
|
|
|
|
This library is built as part of Magnum by default. To use it, you need to
|
|
|
|
|
find `Magnum` package and link to `Magnum::Magnum` target. See @ref building
|
|
|
|
|
and @ref cmake for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/Platform
|
|
|
|
|
* @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 particular application library, you need to
|
|
|
|
|
request given `*Application` component of `Magnum` package in CMake and link to
|
|
|
|
|
`Magnum::*Application` target. See particular `*Application` class
|
|
|
|
|
documentation, @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 it, you need to
|
|
|
|
|
find `Magnum` package and link to `Magnum::Magnum` target. 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 it, you need to
|
|
|
|
|
find `Magnum` package and link to `Magnum::Magnum` target. See @ref building
|
|
|
|
|
and @ref cmake for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/Math/Algorithms
|
|
|
|
|
* @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 it, you need to
|
|
|
|
|
find `Magnum` package and link to `Magnum::Magnum` target. See @ref building
|
|
|
|
|
and @ref cmake for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/Math/Geometry
|
|
|
|
|
* @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 it, you need to
|
|
|
|
|
find `Magnum` package and link to `Magnum::Magnum` target. 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 it, you need to
|
|
|
|
|
find `Magnum` package and link to `Magnum::Magnum` target. 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 it, you need to
|
|
|
|
|
find `Magnum` package and link to `Magnum::Magnum` target. See @ref building
|
|
|
|
|
and @ref cmake for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/Audio
|
|
|
|
|
* @brief Namespace @ref Magnum::Audio
|
|
|
|
|
*/
|
|
|
|
|
/** @namespace Magnum::Audio
|
|
|
|
|
@brief Audio playback
|
|
|
|
|
|
|
|
|
|
Audio import, playback and integration with @ref SceneGraph.
|
|
|
|
|
|
|
|
|
|
This library depends on **OpenAL** library. It is built if `WITH_AUDIO` is
|
|
|
|
|
enabled when building Magnum. To use this library, you need to request
|
|
|
|
|
`Audio` component of `Magnum` package in CMake and link to
|
|
|
|
|
`Magnum::Audio` target. See @ref building and @ref cmake for more information.
|
|
|
|
|
Additional plugins are enabled separately, see particular `Audio::*Importer`
|
|
|
|
|
class documentation, @ref building-plugins, @ref cmake-plugins and @ref plugins
|
|
|
|
|
for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/DebugTools
|
|
|
|
|
* @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, you need to request `DebugTools` component of `Magnum`
|
|
|
|
|
package in CMake and link to `Magnum::DebugTools` target. See @ref building,
|
|
|
|
|
@ref cmake and @ref debug-tools for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/MeshTools
|
|
|
|
|
* @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, you need to request `MeshTools` component of `Magnum`
|
|
|
|
|
package in CMake and link to `Magnum::MeshTools` target. See @ref building and
|
|
|
|
|
@ref cmake for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/Primitives
|
|
|
|
|
* @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, you need to request `Primitives` component of `Magnum`
|
|
|
|
|
package in CMake and link to `Magnum::Primitives` target. See @ref building and
|
|
|
|
|
@ref cmake for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/SceneGraph
|
|
|
|
|
* @brief Namespace @ref Magnum::SceneGraph
|
|
|
|
|
*/
|
|
|
|
|
/** @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, you need to request `SceneGraph` component of `Magnum`
|
|
|
|
|
package in CMake and link to `Magnum::SceneGraph` target. See @ref building,
|
|
|
|
|
@ref cmake and @ref scenegraph for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/Shaders
|
|
|
|
|
* @brief Namespace @ref Magnum::Shaders
|
|
|
|
|
*/
|
|
|
|
|
/** @namespace Magnum::Shaders
|
|
|
|
|
@brief Builtin shaders
|
|
|
|
|
|
|
|
|
|
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, you need to request `Shaders` component of `Magnum` package
|
|
|
|
|
in CMake and link to `Magnum::Shaders` target. See @ref building, @ref cmake
|
|
|
|
|
and @ref shaders for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/Shapes
|
|
|
|
|
* @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, you need to request `Shapes` component of `Magnum` package in
|
|
|
|
|
CMake and link to `Magnum::Shapes` target. See @ref building, @ref cmake and
|
|
|
|
|
@ref shapes for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/Text
|
|
|
|
|
* @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, you need to request `Text` component of `Magnum` package in
|
|
|
|
|
CMake and link to `Magnum::Text` target. See @ref building and @ref cmake for
|
|
|
|
|
more information. Additional plugins are enabled separately, see particular
|
|
|
|
|
`*Font` and `*FontConverter` class documentation, @ref building-plugins,
|
|
|
|
|
@ref cmake-plugins and @ref plugins for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/TextureTools
|
|
|
|
|
* @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, you need to request `TextureTools` component of `Magnum`
|
|
|
|
|
package in CMake and link to `Magnum::TextureTools`. See @ref building and
|
|
|
|
|
@ref cmake for more information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir Magnum/Trade
|
|
|
|
|
* @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 `Magnum` package and link to `Magnum::Magnum` target. See @ref building
|
|
|
|
|
and @ref cmake for more information. Additional plugins are enabled separately,
|
|
|
|
|
see particular `Trade::*Importer` and `*ImageConverter` class documentation,
|
|
|
|
|
@ref building-plugins, @ref cmake-plugins and @ref plugins for more
|
|
|
|
|
information.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/** @dir magnum/src/MagnumPlugins
|
|
|
|
|
* @brief Magnum plugins (part of @ref building "Magnum library")
|
|
|
|
|
*/
|