= Core = [[TracNav(TracNav/TOC_Development)]] === Description === The core is a library of Orxonox, containing all central classes of the framework. It provides several functions and features, used by most of the objects in Orxonox and other libraries (network). Some functions are encapsuled in macros. Read the detailed descriptions and examples of the core-classes for more information. === Core features === || '''Name''' || '''Description''' || || ![wiki:ArgumentCompleter] || Completes arguments of a [wiki:ConsoleCommand], based on a [wiki:ArgumentCompletionFunctions list] || || ![wiki:ArgumentCompletionFunctions] || Returns a list of possible [wiki:ConsoleCommand] arguments || || ![wiki:BaseObject] || The common base of all objects in Orxonox || || [wiki:ClassFactory] || Creates a new object of a given class || || [wiki:ClassIdentifier] || Derivative of the [wiki:Identifier], contains class-specific stuff || || [wiki:ClassTreeMask] || Includes or excludes classes from the class-tree || || [wiki:Clock] || Global timer objects that captures time via Ogre::Timer || || ![wiki:CommandEvaluation] || Evaluates the function and the arguments of a [wiki:ConsoleCommand] string || || ![wiki:CommandExecutor] || Executes a [wiki:ConsoleCommand] string || || [wiki:CommandLine] || Reads arguments from the shell and start.ini || || ![wiki:ConfigFileManager] || Parses a config file and creates [wiki:ConfigValueContainers] for each value || || ![wiki:ConfigValueContainer] || Defines name and default-value of a configurable value || || ![wiki:ConfigValueIncludes] || Declares helper macros for easy use of config values || || ![wiki:ConsoleCommand] || Defines a command, which is basically a link between a string and a function || || ![wiki:ConsoleCommandCompilation] || A compilation of basic [wiki:ConsoleCommand ConsoleCommands] || || ![wiki:CoreSettings] || Stores some core-related settings and makes them configurable || || [wiki:CoreIncludes] || Defines several macros needed to create the class hierarchy || || ![wiki:Executor] || Uses a [wiki:Functor] to execute functions with several features || || [wiki:Factory] || Stores [wiki:ClassIdentifier ClassIdentifiers] and the names of their classes || || ![wiki:Functor] || Encapsules a function pointer with parameters and a return value || || [wiki:GameStates] || Manages the possible states of the game || || [wiki:Identifier] || Identifies the class of an object || || '''[wiki:Input Input]...''' || Manages input devices and binds functions to keys || || ![wiki:IRC] || Chat in IRC through a [wiki:TclBind Tcl] library || || [wiki:Iterator] || Iterates through all objects of a class || || [wiki:Language] || Handles strings in different languages || || ![wiki:Level] || Contains a level-file and a [wiki:ClassTreeMask] || || ![wiki:Loader] || Loads a [wiki:Level] || || [wiki:MetaObjectList] || Intern class for fast removal of objects from the [wiki:ObjectList] || || ![wiki:Namespace] || Used in [wiki:Level Levels] to group objects || || [wiki:ObjectList] || Wrapper for [wiki:ObjectListBase] || || [wiki:ObjectListBase] || Stores all objects of a class || || [wiki:ObjectListIterator] || Iterates through all objects of a given [wiki:ObjectList] || || [wiki:OrxonoxClass] || The base class of all objects and interfaces in the class hierarchy || || ![wiki:RootGameState] || The root of all [wiki:GameStates] || || ![wiki:Script] || Used for interaction between Orxonox and Lua || || ![wiki:Shell] || The technical part of the ingame console || || [wiki:SubclassIdentifier] || Acts like an [wiki:Identifier], but has a base-class || || ![wiki:Super] || Easy and save call of a virtual parent function || || ![wiki:TclBind] || Used for interaction betweeen Orxonox and Tcl || || ![wiki:TclThreadManager] || Creates threads for parallel execution of [wiki:TclBind Tcl] scripts || || ![wiki:XMLPort] || Defines some macros and classes for easy XML parsing ||