/*
 *   ORXONOX - the hottest 3D action shooter ever to exist
 *                    > www.orxonox.net <
 *
 *
 *   License notice:
 *
 *   This program is free software; you can redistribute it and/or
 *   modify it under the terms of the GNU General Public License
 *   as published by the Free Software Foundation; either version 2
 *   of the License, or (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 *
 *   Author:
 *      Fabian 'x3n' Landau
 *   Co-authors:
 *      Damian 'Mozork' Frick
 *
 */

/**
    @defgroup Util Util

    The util library contains several functions, classes, and templates that can be used in different
    parts of the Orxonox-code. They provide functionalities for mathematical use, string manipulation,
    typeconversion, multi-types, error- and exception-handling, debug output, and many more.
*/

/**
    @defgroup Core Core

    The core library contains the framework of Orxonox - all important classes, functions, and macros
    that are used to create and manage classes and objects. Almost all classes in Orxonox need at least
    one of the core features.
*/

/**
    @defgroup Class Class management
    @ingroup Core
*/

/**
    @defgroup Object Object management
    @ingroup Core
*/

/**
    @defgroup Command Command
    @ingroup Core
*/

/**
    @defgroup Config Config
    @ingroup Core
*/

/**
    @defgroup Input Input
    @ingroup Core
*/

/**
    @defgroup Management Management
    @ingroup Core
*/

/**
    @defgroup XML XML
    @ingroup Core
*/

/**
    @defgroup Network Network

    The network library is used to connect clients and server, to synchronize objects and variables, and
    to transmit network function calls. It contains the central @ref orxonox::Server "Server" and
    @ref orxonox::Client "Client" classes as well as several functions and macros for
    @ref orxonox::Synchronisable "synchronisable" classes.
*/

/**
    @defgroup Tools Tools

    The tools are a bunch of utilities that belong to the Orxonox library, but are independent of other
    features.
*/

/**
    @defgroup Orxonox Orxonox

    The Orxonox library contains the central and most important classes of the game. Managers, interfaces,
    base-classes, and more are located in Orxonox. More specialized classes that inherit of the base-classes
    in Orxonox are often sourced out to the modules.
*/

/**
    @defgroup Modules Modules

    The modules are libraries that depend on the Orxonox library and that are loaded dynamically on runtime
    (in contrast to statically loaded libraries like util and core). Each module contains some classes that
    are usually connected to each other, but they are independent of other modules. However modules can still
    link to other modules, but only in a hierarchical order, no circular dependencies.
*/

/**
    @defgroup Designtools Designtools
    @ingroup Modules
*/

/**
    @defgroup Notifications Notifications
    @ingroup Modules
*/

/**
    @defgroup Objects Objects
    @ingroup Modules

    @defgroup Collisionshapes Collisionshapes
    @ingroup Objects

    @defgroup Eventsystem Eventsystem
    @ingroup Objects

    @defgroup Triggers Triggers
    @ingroup Objects
*/

/**
    @defgroup Overlays Overlays
    @ingroup Modules
*/

/**
    @defgroup Pickup Pickup
    @ingroup Modules
*/

/**
    @defgroup Pong Pong
    @ingroup Modules

    Pong is a minigame.
*/

/**
    @defgroup Portals Portals
    @ingroup Modules
*/

/**
    @defgroup Questsystem Questsystem
    @ingroup Modules
*/

/**
    @defgroup Weapons Weapons
    @ingroup Modules
*/
