Orxonox  0.0.5 Codename: Arcturus
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
orxonox::OverlayGroup Class Reference

OverlayGroup does almost exactly what it says: It groups OrxonoxOverlays together. More...

#include </home/jenkins/workspace/orxonox_doxygen_trunk/src/orxonox/overlays/OverlayGroup.h>

Inheritance diagram for orxonox::OverlayGroup:
orxonox::BaseObject orxonox::OrxonoxClass orxonox::Configurable orxonox::Destroyable orxonox::Listable orxonox::Identifiable

Public Member Functions

 OverlayGroup (Context *context)
 
 ~OverlayGroup ()
 Empty destructor. More...
 
void addElement (OrxonoxOverlay *element)
 Adds an element to the set (used when loading with XMLPort). More...
 
virtual void changedVisibility () override
 Changes the visibility of all elements. More...
 
OrxonoxOverlaygetElement (unsigned int index)
 Returns a different element as long as index < hudElements_.size(). More...
 
const std::set< StrongPtr< OrxonoxOverlay > > & getOverlays () const
 
BaseObjectgetOwner () const
 
Vector2 getScale () const
 Returns the current size of the group. More...
 
Vector2 getScroll () const
 Returns the current scrolling offset of the group. More...
 
bool removeElement (OrxonoxOverlay *element)
 Removes an element from the map. More...
 
void scale (const Vector2 &scale)
 Scales each OrxonoxOverlay individually by scale. More...
 
void scroll (const Vector2 &scroll)
 Scrolls each OrxonoxOverlay individually by scroll. More...
 
void setOwner (BaseObject *owner)
 
void setScale (const Vector2 &scale)
 Scales every element in the set. More...
 
void setScroll (const Vector2 &scroll)
 Scrolls every element in the set. More...
 
virtual void XMLPort (Element &xmlelement, XMLPort::Mode mode) override
 Loads the group and all its children OrxonoxOverlays. More...
 
- Public Member Functions inherited from orxonox::BaseObject
 BaseObject (Context *context)
 Constructor: Registers the object in the BaseObject-list. More...
 
virtual ~BaseObject ()
 Destructor. More...
 
void addEventListener (BaseObject *listener)
 Adds an object which listens to the events of this object. More...
 
void addEventSource (BaseObject *source, const std::string &state)
 Adds a new event source for a specific state. More...
 
void addTemplate (const std::string &name)
 Adds a Template to the object. More...
 
void addTemplate (Template *temp)
 Adds a Template to the object. More...
 
virtual void changedActivity ()
 This function gets called if the activity of the object changes. More...
 
virtual void changedMainStateName ()
 This function gets called if the main state name of the object changes. More...
 
virtual void changedName ()
 This function gets called if the name of the object changes. More...
 
void fireEvent (const std::string &name="")
 Fires an event (without a state). More...
 
void fireEvent (bool activate, const std::string &name="")
 Fires an event which activates or deactivates a state. More...
 
void fireEvent (bool activate, BaseObject *originator, const std::string &name="")
 Fires an event which activates or deactivates a state with agiven originator (the object which triggered the event). More...
 
void fireEvent (Event &event)
 Fires an event, using the Event struct. More...
 
BaseObjectgetCreator () const
 
BaseObjectgetEventListener (unsigned int index) const
 Returns an event listener with a given index. More...
 
BaseObjectgetEventSource (unsigned int index, const std::string &state) const
 Returns an eventsource with a given index. More...
 
const XMLFilegetFile () const
 Returns a pointer to the XMLFile that loaded this object. More...
 
const std::string & getFilename () const
 Returns the levelfile that loaded this object. More...
 
GametypegetGametype () const
 
LevelgetLevel () const
 
const std::string & getLoaderIndentation () const
 Returns the indentation of the debug output in the Loader. More...
 
const std::string & getMainStateName () const
 Returns the name of the main state. More...
 
const std::string & getName () const
 Returns the name of the object. More...
 
NamespacegetNamespace () const
 
const std::string & getOldName () const
 Returns the old name of the object. More...
 
ScenegetScene () const
 
virtual uint32_t getSceneID () const
 
const std::set< Template * > & getTemplates () const
 Returns the set of all aplied templates. More...
 
const mboolisActive () const
 Returns the state of the objects activity. More...
 
bool isInitialized () const
 Returns if the object was initialized (passed the object registration). More...
 
const mboolisVisible () const
 Returns the state of the objects visibility. More...
 
virtual void processEvent (Event &event)
 Processing an event by calling the right main state. More...
 
void removeEventSource (BaseObject *source)
 Removes an eventsource (but doesn't unregister itself at the source). More...
 
void setActive (bool bActive)
 Sets the state of the objects activity. More...
 
void setCreator (BaseObject *creator)
 
void setFile (const XMLFile *file)
 Sets a pointer to the xml file that loaded this object. More...
 
void setGametype (const StrongOrWeakPtr< Gametype > &gametype)
 
void setLevel (const StrongOrWeakPtr< Level > &level)
 
void setLoaderIndentation (const std::string &indentation)
 Sets the indentation of the debug output in the Loader. More...
 
void setMainState (bool state)
 Sets the main state of the object to a given boolean value. More...
 
void setMainStateName (const std::string &name)
 Sets the name of the main state (used for event reactions). More...
 
void setName (const std::string &name)
 Sets the name of the object. More...
 
void setNamespace (const StrongOrWeakPtr< Namespace > &ns)
 
void setScene (const StrongOrWeakPtr< Scene > &scene, uint32_t sceneID)
 
void setVisible (bool bVisible)
 Sets the state of the objects visibility. More...
 
virtual void XMLEventPort (Element &xmlelement, XMLPort::Mode mode)
 Defines the possible event states of this object and parses eventsources from an XML file. More...
 
- Public Member Functions inherited from orxonox::OrxonoxClass
 OrxonoxClass ()
 
OrxonoxClassoperator= (const OrxonoxClass &)=default
 
- Public Member Functions inherited from orxonox::Configurable
 Configurable ()
 
void setConfigValues ()
 Function to collect the SetConfigValue-macro calls. More...
 
- Public Member Functions inherited from orxonox::Listable
 Listable ()
 Constructor: Allocates space in the element list. More...
 
 Listable (Context *context)
 Constructor: Allocates space in the element list and assigns the context. More...
 
virtual ~Listable ()
 Destructor: Removes the object from the object-lists. More...
 
ContextgetContext () const
 
void setContext (Context *context)
 Changes the context. More...
 
void unregisterObject ()
 Removes this object from the object-lists. More...
 
- Public Member Functions inherited from orxonox::Identifiable
 Identifiable ()
 Constructor: Sets the default values. More...
 
virtual ~Identifiable ()
 
ORX_FORCEINLINE voidgetDerivedPointer (unsigned int classID)
 Returns a valid pointer of any derived type that is registered in the class hierarchy. More...
 
template<class T >
ORX_FORCEINLINE T * getDerivedPointer (unsigned int classID)
 Version of getDerivedPointer with template. More...
 
template<class T >
ORX_FORCEINLINE const T * getDerivedPointer (unsigned int classID) const
 Const version of getDerivedPointer with template. More...
 
IdentifiergetIdentifier () const
 Returns the Identifier of the object. More...
 
bool isA (const Identifier *identifier)
 Returns true if the object's class is of the given type or a derivative. More...
 
template<class B >
bool isA (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is of the given type or a derivative. More...
 
bool isA (const Identifiable *object)
 Returns true if the object's class is of the given type or a derivative. More...
 
bool isChildOf (const Identifier *identifier)
 Returns true if the object's class is a child of the given type. More...
 
template<class B >
bool isChildOf (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is a child of the given type. More...
 
bool isChildOf (const Identifiable *object)
 Returns true if the object's class is a child of the given type. More...
 
bool isDirectChildOf (const Identifier *identifier)
 Returns true if the object's class is a direct child of the given type. More...
 
template<class B >
bool isDirectChildOf (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is a direct child of the given type. More...
 
bool isDirectChildOf (const Identifiable *object)
 Returns true if the object's class is a direct child of the given type. More...
 
bool isDirectParentOf (const Identifier *identifier)
 Returns true if the object's class is a direct parent of the given type. More...
 
template<class B >
bool isDirectParentOf (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is a direct parent of the given type. More...
 
bool isDirectParentOf (const Identifiable *object)
 Returns true if the object's class is a direct child of the given type. More...
 
bool isExactlyA (const Identifier *identifier)
 Returns true if the object's class is exactly of the given type. More...
 
template<class B >
bool isExactlyA (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is exactly of the given type. More...
 
bool isExactlyA (const Identifiable *object)
 Returns true if the object's class is exactly of the given type. More...
 
bool isParentOf (const Identifier *identifier)
 Returns true if the object's class is a parent of the given type. More...
 
template<class B >
bool isParentOf (const SubclassIdentifier< B > *identifier)
 Returns true if the object's class is a parent of the given type. More...
 
bool isParentOf (const Identifiable *object)
 Returns true if the object's class is a parent of the given type. More...
 
- Public Member Functions inherited from orxonox::Destroyable
 Destroyable ()
 Constructor: Sets the default values. More...
 
virtual ~Destroyable ()
 Destructor: Notifies all DestructionListener (for example weak pointers) that this object is being deleted. More...
 
void destroy ()
 Deletes the object if no strong pointers point to this object. More...
 
void destroyLater ()
 Works like destroy() but doesn't destroy the object until the current tick has ended. More...
 
unsigned int getReferenceCount () const
 Returns the number of strong pointers that point to this object. More...
 

Static Public Member Functions

static void scaleGroup (const std::string &name, float scale)
 Scales an overlay group by its name. More...
 
static void scrollGroup (const std::string &name, const Vector2 &scroll)
 Scrolls an overlay group by its name. More...
 
static void show (const std::string &name)
 Shows an overlay group by its name. More...
 
static void toggleVisibility (const std::string &name)
 Hides/shows an overlay group by its name. More...
 
- Static Public Member Functions inherited from orxonox::BaseObject
static void loadAllEventStates (Element &xmlelement, XMLPort::Mode mode, BaseObject *object, Identifier *identifier)
 Manually loads all event states, even if the class doesn't officially support them. More...
 

Private Attributes

std::set< StrongPtr< OrxonoxOverlay > > hudElements_
 Contains all the OrxonoxOverlays of the this group. More...
 
BaseObjectowner_
 The owner of this OverlayGroup. More...
 
Vector2 scale_
 Current scale (independent of the elements). More...
 
Vector2 scroll_
 Current scrolling offset. More...
 

Additional Inherited Members

- Protected Member Functions inherited from orxonox::BaseObject
void addEventState (const std::string &name, EventState *container)
 Adds a new event-state to the object. More...
 
EventStategetEventState (const std::string &name) const
 Returns the event-state with the given name. More...
 
- Protected Member Functions inherited from orxonox::Destroyable
virtual void preDestroy ()
 This virtual function is called if destroy() is called and no StrongPtr points to this object. More...
 
- Protected Attributes inherited from orxonox::BaseObject
mbool bActive_
 True = the object is active. More...
 
mbool bVisible_
 True = the object is visible. More...
 
FunctorPtr mainStateFunctor_
 
std::string mainStateName_
 
std::string name_
 The name of the object. More...
 
std::set< std::string > networkTemplateNames_
 
std::string oldName_
 The old name of the object. More...
 

Detailed Description

OverlayGroup does almost exactly what it says: It groups OrxonoxOverlays together.

You can scroll the entire group by a certain amount. Scale however works differently than expected: Each OrxonoxOverlay scales individually. That's quite useful when you create your HUD with an OverlayGroup and then want to alter its size.

Constructor & Destructor Documentation

orxonox::OverlayGroup::OverlayGroup ( Context context)
orxonox::OverlayGroup::~OverlayGroup ( )

Empty destructor.

Member Function Documentation

void orxonox::OverlayGroup::addElement ( OrxonoxOverlay element)

Adds an element to the set (used when loading with XMLPort).

Remarks
The names of the OrxonoxOverlays have to be unique!
void orxonox::OverlayGroup::changedVisibility ( void  )
overridevirtual

Changes the visibility of all elements.

Reimplemented from orxonox::BaseObject.

OrxonoxOverlay * orxonox::OverlayGroup::getElement ( unsigned int  index)

Returns a different element as long as index < hudElements_.size().

const std::set<StrongPtr<OrxonoxOverlay> >& orxonox::OverlayGroup::getOverlays ( ) const
inline
BaseObject* orxonox::OverlayGroup::getOwner ( ) const
inline
Vector2 orxonox::OverlayGroup::getScale ( ) const
inline

Returns the current size of the group.

Vector2 orxonox::OverlayGroup::getScroll ( ) const
inline

Returns the current scrolling offset of the group.

bool orxonox::OverlayGroup::removeElement ( OrxonoxOverlay element)

Removes an element from the map.

Parameters
elementA pointer to the element that is removed.
Returns
Returns true if there was such an element to remove, false if not.
void orxonox::OverlayGroup::scale ( const Vector2 &  scale)
inline

Scales each OrxonoxOverlay individually by scale.

void orxonox::OverlayGroup::scaleGroup ( const std::string &  name,
float  scale 
)
static

Scales an overlay group by its name.

Parameters
nameThe name of the group defined BaseObject::setName() (usually done with the "name" attribute in the xml file).
scaleThe scaling factor
void orxonox::OverlayGroup::scroll ( const Vector2 &  scroll)
inline

Scrolls each OrxonoxOverlay individually by scroll.

void orxonox::OverlayGroup::scrollGroup ( const std::string &  name,
const Vector2 &  scroll 
)
static

Scrolls an overlay group by its name.

Parameters
nameThe name of the group defined BaseObject::setName() (usually done with the "name" attribute in the xml file).
scrollThe relative translation of the overlay group
void orxonox::OverlayGroup::setOwner ( BaseObject owner)
void orxonox::OverlayGroup::setScale ( const Vector2 &  scale)

Scales every element in the set.

void orxonox::OverlayGroup::setScroll ( const Vector2 &  scroll)

Scrolls every element in the set.

void orxonox::OverlayGroup::show ( const std::string &  name)
static

Shows an overlay group by its name.

Parameters
nameThe name of the group defined BaseObject::setName() (usually done with the "name" attribute in the xml file).
void orxonox::OverlayGroup::toggleVisibility ( const std::string &  name)
static

Hides/shows an overlay group by its name.

Parameters
nameThe name of the group defined BaseObject::setName() (usually done with the "name" attribute in the xml file).
void orxonox::OverlayGroup::XMLPort ( Element &  xmlelement,
XMLPort::Mode  mode 
)
overridevirtual

Loads the group and all its children OrxonoxOverlays.

XML loading and saving.

Parameters
xmlelementThe XML-element
modeThe mode defines the operation that is being executed: loading or saving the object (from or to XML respectively)

Reimplemented from orxonox::BaseObject.

Member Data Documentation

std::set<StrongPtr<OrxonoxOverlay> > orxonox::OverlayGroup::hudElements_
private

Contains all the OrxonoxOverlays of the this group.

BaseObject* orxonox::OverlayGroup::owner_
private

The owner of this OverlayGroup.

Vector2 orxonox::OverlayGroup::scale_
private

Current scale (independent of the elements).

Vector2 orxonox::OverlayGroup::scroll_
private

Current scrolling offset.


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