OMK::Inp::DebugOverlayExtension Class Reference
[User inputs]

Input listener to show Debug overlay information. More...

#include <OMKDebugOverlayExtension.h>

Inheritance diagram for OMK::Inp::DebugOverlayExtension:

Inheritance graph
[legend]
Collaboration diagram for OMK::Inp::DebugOverlayExtension:

Collaboration graph
[legend]
List of all members.

Protected Member Functions

void action ()
 The overwritten method.
virtual bool loadExtensionParameters (const ConfigurationParameterDescriptor *node)
 Config Parameter File.
virtual void preComputeParameters ()
 init and update stats
void updateStats ()
 Update Debug Statistics.

Protected Attributes

Ogre::Overlay * _overlay
bool _show
bool _init
std::string _overlayName

Private Member Functions

 DECLARE_EXTENSION_FACTORY (DebugOverlayExtension)
 Factory and constructor/destructor.

Detailed Description

Input listener to show Debug overlay information.

Date:
2007-03-28
Author:
Xavier Larrodé
Defines a extension which toggles the display of the DebugOverlay

This extension must be used as an extension of the OgreVis object. The creation is done dynamically through the following configuration:

 visualisation
 {
    Class OgreVis
    ...
    Extensions
    {
       overlay
       {
       Class DebugOverlayExtension
       DebugOverlayName "Editor/DebugOverlay"
       Key d // the default is "d"
       VisuName visualisation 
       }
     ...
    }
 }

Definition at line 44 of file OMKDebugOverlayExtension.h.


Member Function Documentation

OMK::Inp::DebugOverlayExtension::DECLARE_EXTENSION_FACTORY ( DebugOverlayExtension   )  [private]

Factory and constructor/destructor.

See Extension feature

void DebugOverlayExtension::action (  )  [protected, virtual]

The overwritten method.

This method toggles the display of the bouding boxes.

Reimplemented from OMK::Inp::GenericKeyExtension< OMK::Vis::OgreVis >.

Definition at line 60 of file OMKDebugOverlayExtension.cpp.

References _overlay, and _show.

00061 {
00062 
00063   //Have to wait for OgreVisInit
00064   if (_show)
00065     _overlay->hide();
00066   else 
00067     _overlay->show();
00068   _show =!_show;
00069 }

bool DebugOverlayExtension::loadExtensionParameters ( const ConfigurationParameterDescriptor node  )  [protected, virtual]

Config Parameter File.

Reimplemented from OMK::Inp::GenericKeyExtension< OMK::Vis::OgreVis >.

Definition at line 71 of file OMKDebugOverlayExtension.cpp.

References _overlayName, and OMK::ParametersAccessor::get().

00072 {
00073   bool ok = true ;
00074   ok = ParametersAccessor::get( node, "DebugOverlayName", _overlayName ) ;
00075   return ok &&  GenericKeyExtension< OMK::Vis::OgreVis>::loadExtensionParameters(node) ;
00076 }

void DebugOverlayExtension::preComputeParameters (  )  [protected, virtual]

init and update stats

Reimplemented from OMK::Extension.

Definition at line 29 of file OMKDebugOverlayExtension.cpp.

References _init, _overlay, _overlayName, and updateStats().

00030 {
00031   if (!_init){
00032 
00033     //_overlay = Ogre::OverlayManager::getSingleton().getByName("Editor/DebugOverlay");
00034     _overlay = Ogre::OverlayManager::getSingleton().getByName(_overlayName);
00035     _init = true;
00036     _overlay->show();
00037   }
00038   //Update Overlay
00039   updateStats();
00040 
00041 }

void DebugOverlayExtension::updateStats (  )  [protected]

Update Debug Statistics.

Definition at line 42 of file OMKDebugOverlayExtension.cpp.

References OMK::ExtensionT< OMK::Vis::OgreVis >::_owner, and OMK::Vis::OgreVis::touchRoot().

Referenced by preComputeParameters().

00043 {
00044 Ogre::RenderWindow* _window = _owner->touchRoot().getAutoCreatedWindow();
00045   
00046   Ogre::OverlayElement* guiCurr = Ogre::OverlayManager::getSingleton().getOverlayElement("Ov_OpenMASK/CurrFps");
00047   Ogre::OverlayElement* guiTris = Ogre::OverlayManager::getSingleton().getOverlayElement("Ov_OpenMASK/NumTris");
00048 
00049   const Ogre::RenderTarget::FrameStats& stats = _window->getStatistics();
00050 
00051   guiCurr->setCaption(Ogre::StringConverter::toString(stats.lastFPS));
00052   guiTris->setCaption(Ogre::StringConverter::toString(stats.triangleCount));
00053 
00054 
00055 }


Member Data Documentation

Ogre::Overlay* OMK::Inp::DebugOverlayExtension::_overlay [protected]

Definition at line 61 of file OMKDebugOverlayExtension.h.

Referenced by action(), and preComputeParameters().

bool OMK::Inp::DebugOverlayExtension::_show [protected]

Definition at line 62 of file OMKDebugOverlayExtension.h.

Referenced by action().

bool OMK::Inp::DebugOverlayExtension::_init [protected]

Definition at line 63 of file OMKDebugOverlayExtension.h.

Referenced by preComputeParameters().

std::string OMK::Inp::DebugOverlayExtension::_overlayName [protected]

Definition at line 64 of file OMKDebugOverlayExtension.h.

Referenced by loadExtensionParameters(), and preComputeParameters().


logo OpenMask

Documentation generated on Mon Jun 9 11:46:04 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007