/* This file is part of Magnum. Copyright © 2010, 2011, 2012, 2013, 2014 Vladimír Vondruš 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 Magnum (part of @ref building "Magnum library") */ /** @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, add `${MAGNUM_INCLUDE_DIRS}` to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and @ref cmake for more information. */ /** @dir Magnum/Platform * @brief Namespace 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, add `${MAGNUM_*APPLICATION_INCLUDE_DIRS}` to include path and link to `${MAGNUM_*APPLICATION_LIBRARIES}`. See particular `*Application` class documentation, @ref building, @ref cmake and @ref platform for more information. */ /** @dir Magnum/Math * @brief Namespace Magnum::Math */ /** @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, add `${MAGNUM_INCLUDE_DIRS}` to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building, @ref cmake, @ref matrix-vector and @ref transformations for more information. */ /** @dir Magnum/Math/Algorithms * @brief Namespace 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, add `${MAGNUM_INCLUDE_DIRS}` to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and @ref cmake for more information. */ /** @dir Magnum/Math/Geometry * @brief Namespace Magnum::Math::Geometry */ /** @namespace Magnum::Math::Geometry @brief %Geometry library Functions for computing intersections, distances, areas and volumes. This library is built as part of %Magnum by default. To use it, you need to find `%Magnum` package, add `${MAGNUM_INCLUDE_DIRS}` to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and @ref cmake for more information. */ /** @dir Magnum/Audio * @brief Namespace 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, add `${MAGNUM_AUDIO_INCLUDE_DIRS}` to include path and link to `${MAGNUM_AUDIO_LIBRARIES}`. See @ref building and @ref cmake for more information. Additional plugins are enabled separately, see particular `*Importer` class documentation, @ref building-plugins, @ref cmake-plugins and @ref plugins for more information. */ /** @dir Magnum/DebugTools * @brief Namespace 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_LIBRARIES}`. See @ref building, @ref cmake and @ref debug-tools for more information. */ /** @dir Magnum/MeshTools * @brief Namespace 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_LIBRARIES}`. See @ref building and @ref cmake for more information. */ /** @dir Magnum/Primitives * @brief Namespace 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_LIBRARIES}`. See @ref building and @ref cmake for more information. */ /** @dir Magnum/SceneGraph * @brief Namespace 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_LIBRARIES}`. See @ref building, @ref cmake and @ref scenegraph for more information. */ /** @dir Magnum/Shaders * @brief Namespace 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_MESHTOOLS_SHADERS}`. See @ref building and @ref cmake for more information. */ /** @dir Magnum/Shapes * @brief Namespace 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_LIBRARIES}`. See @ref building, @ref cmake and @ref shapes for more information. */ /** @dir Magnum/Text * @brief Namespace 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_LIBRARIES}`. 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 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_LIBRARIES}`. See @ref building and @ref cmake for more information. */ /** @dir Magnum/Trade * @brief Namespace 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, add `${MAGNUM_INCLUDE_DIRS}` to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and @ref cmake for more information. Additional plugins are enabled separately, see particular `*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") */