orxonox::OrxonoxClass Class Reference

The class all objects and interfaces of the game-logic (not the engine) are derived from. More...

#include <src/core/OrxonoxClass.h>

Inheritance diagram for orxonox::OrxonoxClass:

orxonox::BaseObject orxonox::ChatListener orxonox::ClientConnectionListener orxonox::CoreConfiguration orxonox::GameConfiguration orxonox::GametypeMessageListener orxonox::GraphicsManager orxonox::GSLevel orxonox::InputBuffer orxonox::InputManager orxonox::IRC orxonox::JoyStickDeviceNumberListener orxonox::LevelManager orxonox::NetworkFunctionBase orxonox::NotificationManager orxonox::PawnListener orxonox::QuestManager orxonox::RadarListener orxonox::RadarViewable orxonox::Rewardable orxonox::Shell orxonox::SoundMainMenu orxonox::Synchronisable orxonox::TclThreadManager orxonox::TeamColourable orxonox::Tickable orxonox::TimeFactorListener orxonox::WindowEventListener orxonox::XMLNameListener

List of all members.

Public Member Functions

void createParents ()
 Creates the parents-list.
IdentifiergetIdentifier () const
 Returns the Identifier of the object.
MetaObjectListgetMetaList ()
 Returns the MetaObjectList of the object, containing a link to all ObjectLists and ObjectListElements the object is registered in.
std::set< const Identifier * > * getParents () const
 Returns the list of all parents of the object.
bool isA (const OrxonoxClass *object)
 Returns true if the objects class is of the given type or a derivative.
template<class B>
bool isA (const SubclassIdentifier< B > identifier)
 Returns true if the objects class is of the given type or a derivative.
template<class B>
bool isA (const SubclassIdentifier< B > *identifier)
 Returns true if the objects class is of the given type or a derivative.
bool isA (const Identifier *identifier)
 Returns true if the objects class is of the given type or a derivative.
bool isChildOf (const OrxonoxClass *object)
 Returns true if the objects class is a child of the given type.
template<class B>
bool isChildOf (const SubclassIdentifier< B > identifier)
 Returns true if the objects class is a child of the given type.
template<class B>
bool isChildOf (const SubclassIdentifier< B > *identifier)
 Returns true if the objects class is a child of the given type.
bool isChildOf (const Identifier *identifier)
 Returns true if the objects class is a child of the given type.
bool isDirectChildOf (const OrxonoxClass *object)
 Returns true if the objects class is a direct child of the given type.
template<class B>
bool isDirectChildOf (const SubclassIdentifier< B > identifier)
 Returns true if the objects class is a direct child of the given type.
template<class B>
bool isDirectChildOf (const SubclassIdentifier< B > *identifier)
 Returns true if the objects class is a direct child of the given type.
bool isDirectChildOf (const Identifier *identifier)
 Returns true if the objects class is a direct child of the given type.
bool isDirectParentOf (const OrxonoxClass *object)
 Returns true if the objects class is a direct child of the given type.
template<class B>
bool isDirectParentOf (const SubclassIdentifier< B > identifier)
 Returns true if the objects class is a direct parent of the given type.
template<class B>
bool isDirectParentOf (const SubclassIdentifier< B > *identifier)
 Returns true if the objects class is a direct parent of the given type.
bool isDirectParentOf (const Identifier *identifier)
 Returns true if the objects class is a direct parent of the given type.
bool isExactlyA (const OrxonoxClass *object)
 Returns true if the objects class is exactly of the given type.
template<class B>
bool isExactlyA (const SubclassIdentifier< B > identifier)
 Returns true if the objects class is exactly of the given type.
template<class B>
bool isExactlyA (const SubclassIdentifier< B > *identifier)
 Returns true if the objects class is exactly of the given type.
bool isExactlyA (const Identifier *identifier)
 Returns true if the objects class is exactly of the given type.
bool isParentOf (const OrxonoxClass *object)
 Returns true if the objects class is a parent of the given type.
template<class B>
bool isParentOf (const SubclassIdentifier< B > identifier)
 Returns true if the objects class is a parent of the given type.
template<class B>
bool isParentOf (const SubclassIdentifier< B > *identifier)
 Returns true if the objects class is a parent of the given type.
bool isParentOf (const Identifier *identifier)
 Returns true if the objects class is a parent of the given type.
 OrxonoxClass ()
 Constructor: Sets the default values.
void setConfigValues ()
 Function to collect the SetConfigValue-macro calls.
void setIdentifier (Identifier *identifier)
 Sets the Identifier of the object. Used by the RegisterObject-macro.
virtual ~OrxonoxClass ()
 Destructor: Deletes, if existing, the list of the parents.

Private Attributes

Identifieridentifier_
 The Identifier of the object.
MetaObjectListmetaList_
 MetaObjectList, containing all ObjectLists and ObjectListElements the object is registered in.
std::set< const Identifier * > * parents_
 List of all parents of the object.


Detailed Description

The class all objects and interfaces of the game-logic (not the engine) are derived from.

The BaseObject and Interfaces are derived with 'virtual public OrxonoxClass' from OrxonoxClass. OrxonoxClass is needed to create the class-hierarchy at startup and to store the Identifier and the MetaObjectList.


Constructor & Destructor Documentation

orxonox::OrxonoxClass::OrxonoxClass (  ) 

Constructor: Sets the default values.

References identifier_, metaList_, and parents_.

orxonox::OrxonoxClass::~OrxonoxClass (  )  [virtual]

Destructor: Deletes, if existing, the list of the parents.

References metaList_, and parents_.


Member Function Documentation

void orxonox::OrxonoxClass::createParents (  )  [inline]

Creates the parents-list.

Identifier* orxonox::OrxonoxClass::getIdentifier (  )  const [inline]

MetaObjectList& orxonox::OrxonoxClass::getMetaList (  )  [inline]

Returns the MetaObjectList of the object, containing a link to all ObjectLists and ObjectListElements the object is registered in.

Returns:
The list

std::set<const Identifier*>* orxonox::OrxonoxClass::getParents (  )  const [inline]

Returns the list of all parents of the object.

Returns:
The list

bool orxonox::OrxonoxClass::isA ( const OrxonoxClass object  ) 

Returns true if the objects class is of the given type or a derivative.

References getIdentifier(), and orxonox::Identifier::isA().

template<class B>
bool orxonox::OrxonoxClass::isA ( const SubclassIdentifier< B >  identifier  )  [inline]

Returns true if the objects class is of the given type or a derivative.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isA().

template<class B>
bool orxonox::OrxonoxClass::isA ( const SubclassIdentifier< B > *  identifier  )  [inline]

Returns true if the objects class is of the given type or a derivative.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isA().

bool orxonox::OrxonoxClass::isA ( const Identifier identifier  ) 

bool orxonox::OrxonoxClass::isChildOf ( const OrxonoxClass object  ) 

Returns true if the objects class is a child of the given type.

References getIdentifier(), and orxonox::Identifier::isChildOf().

template<class B>
bool orxonox::OrxonoxClass::isChildOf ( const SubclassIdentifier< B >  identifier  )  [inline]

Returns true if the objects class is a child of the given type.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isChildOf().

template<class B>
bool orxonox::OrxonoxClass::isChildOf ( const SubclassIdentifier< B > *  identifier  )  [inline]

Returns true if the objects class is a child of the given type.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isChildOf().

bool orxonox::OrxonoxClass::isChildOf ( const Identifier identifier  ) 

Returns true if the objects class is a child of the given type.

References getIdentifier(), and orxonox::Identifier::isChildOf().

bool orxonox::OrxonoxClass::isDirectChildOf ( const OrxonoxClass object  ) 

Returns true if the objects class is a direct child of the given type.

References getIdentifier(), and orxonox::Identifier::isDirectChildOf().

template<class B>
bool orxonox::OrxonoxClass::isDirectChildOf ( const SubclassIdentifier< B >  identifier  )  [inline]

Returns true if the objects class is a direct child of the given type.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isDirectChildOf().

template<class B>
bool orxonox::OrxonoxClass::isDirectChildOf ( const SubclassIdentifier< B > *  identifier  )  [inline]

Returns true if the objects class is a direct child of the given type.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isDirectChildOf().

bool orxonox::OrxonoxClass::isDirectChildOf ( const Identifier identifier  ) 

Returns true if the objects class is a direct child of the given type.

References getIdentifier(), and orxonox::Identifier::isDirectChildOf().

bool orxonox::OrxonoxClass::isDirectParentOf ( const OrxonoxClass object  ) 

Returns true if the objects class is a direct child of the given type.

References getIdentifier(), and orxonox::Identifier::isDirectParentOf().

template<class B>
bool orxonox::OrxonoxClass::isDirectParentOf ( const SubclassIdentifier< B >  identifier  )  [inline]

Returns true if the objects class is a direct parent of the given type.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isDirectParentOf().

template<class B>
bool orxonox::OrxonoxClass::isDirectParentOf ( const SubclassIdentifier< B > *  identifier  )  [inline]

Returns true if the objects class is a direct parent of the given type.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isDirectParentOf().

bool orxonox::OrxonoxClass::isDirectParentOf ( const Identifier identifier  ) 

Returns true if the objects class is a direct parent of the given type.

References getIdentifier(), and orxonox::Identifier::isDirectParentOf().

bool orxonox::OrxonoxClass::isExactlyA ( const OrxonoxClass object  ) 

Returns true if the objects class is exactly of the given type.

References getIdentifier(), and orxonox::Identifier::isExactlyA().

template<class B>
bool orxonox::OrxonoxClass::isExactlyA ( const SubclassIdentifier< B >  identifier  )  [inline]

Returns true if the objects class is exactly of the given type.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isExactlyA().

template<class B>
bool orxonox::OrxonoxClass::isExactlyA ( const SubclassIdentifier< B > *  identifier  )  [inline]

Returns true if the objects class is exactly of the given type.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isExactlyA().

bool orxonox::OrxonoxClass::isExactlyA ( const Identifier identifier  ) 

Returns true if the objects class is exactly of the given type.

References getIdentifier(), and orxonox::Identifier::isExactlyA().

bool orxonox::OrxonoxClass::isParentOf ( const OrxonoxClass object  ) 

Returns true if the objects class is a parent of the given type.

References getIdentifier(), and orxonox::Identifier::isParentOf().

template<class B>
bool orxonox::OrxonoxClass::isParentOf ( const SubclassIdentifier< B >  identifier  )  [inline]

Returns true if the objects class is a parent of the given type.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isParentOf().

template<class B>
bool orxonox::OrxonoxClass::isParentOf ( const SubclassIdentifier< B > *  identifier  )  [inline]

Returns true if the objects class is a parent of the given type.

References orxonox::SubclassIdentifier< T >::getIdentifier(), getIdentifier(), and orxonox::Identifier::isParentOf().

bool orxonox::OrxonoxClass::isParentOf ( const Identifier identifier  ) 

Returns true if the objects class is a parent of the given type.

References getIdentifier(), and orxonox::Identifier::isParentOf().

void orxonox::OrxonoxClass::setConfigValues (  )  [inline]

void orxonox::OrxonoxClass::setIdentifier ( Identifier identifier  )  [inline]

Sets the Identifier of the object. Used by the RegisterObject-macro.


Member Data Documentation

The Identifier of the object.

Referenced by OrxonoxClass().

MetaObjectList, containing all ObjectLists and ObjectListElements the object is registered in.

Referenced by OrxonoxClass(), and ~OrxonoxClass().

std::set<const Identifier*>* orxonox::OrxonoxClass::parents_ [private]

List of all parents of the object.

Referenced by OrxonoxClass(), and ~OrxonoxClass().


The documentation for this class was generated from the following files:

Generated on Tue Jul 28 16:22:50 2009 for Orxonox by  doxygen 1.5.6