Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::OverlayElement Class Reference

Abstract definition of a 2D element to be displayed in an Overlay. More...

#include <OgreOverlayElement.h>

Inheritance diagram for Ogre::OverlayElement:

Ogre::StringInterface Ogre::Renderable Ogre::OverlayContainer Ogre::TextAreaOverlayElement Ogre::PanelOverlayElement Ogre::BorderPanelOverlayElement List of all members.

Public Member Functions

 OverlayElement (const String &name)
 Constructor: do not call direct, use OverlayManager::createElement.

virtual ~OverlayElement ()
virtual void initialise (void)=0
 Initialise gui element.

const StringgetName (void) const
 Gets the name of this overlay.

virtual void show (void)
 Shows this element if it was hidden.

virtual void hide (void)
 Hides this element if it was visible.

bool isVisible (void) const
 Returns whether or not the element is visible.

bool isEnabled () const
virtual void setEnabled (bool b)
void setDimensions (Real width, Real height)
 Sets the dimensions of this element in relation to the screen (1.0 = screen width/height).

void setPosition (Real left, Real top)
 Sets the position of the top-left corner of the element, relative to the screen size (1.0 = screen width / height).

void setWidth (Real width)
 Sets the width of this element in relation to the screen (where 1.0 = screen width).

Real getWidth (void) const
 Gets the width of this element in relation to the screen (where 1.0 = screen width).

void setHeight (Real height)
 Sets the height of this element in relation to the screen (where 1.0 = screen height).

Real getHeight (void) const
 Gets the height of this element in relation to the screen (where 1.0 = screen height).

void setLeft (Real left)
 Sets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right).

Real getLeft (void) const
 Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right).

void setTop (Real Top)
 Sets the top of this element in relation to the screen (where 0 = top, 1.0 = bottom).

Real getTop (void) const
 Gets the top of this element in relation to the screen (where 0 = top, 1.0 = bottom).

Real _getLeft (void) const
 Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right).

Real _getTop (void) const
 Gets the top of this element in relation to the screen (where 0 = far left, 1.0 = far right).

Real _getWidth (void) const
 Gets the width of this element in relation to the screen (where 1.0 = screen width).

Real _getHeight (void) const
 Gets the height of this element in relation to the screen (where 1.0 = screen height).

void _setLeft (Real left)
 Sets the left of this element in relation to the screen (where 1.0 = screen width).

void _setTop (Real top)
 Sets the top of this element in relation to the screen (where 1.0 = screen width).

void _setWidth (Real width)
 Sets the width of this element in relation to the screen (where 1.0 = screen width).

void _setHeight (Real height)
 Sets the height of this element in relation to the screen (where 1.0 = screen width).

void _setPosition (Real left, Real top)
 Sets the left and top of this element in relation to the screen (where 1.0 = screen width).

void _setDimensions (Real width, Real height)
 Sets the width and height of this element in relation to the screen (where 1.0 = screen width).

virtual const StringgetMaterialName (void) const
 Gets the name of the material this element uses.

virtual void setMaterialName (const String &matName)
 Sets the name of the material this element will use.

const MaterialPtrgetMaterial (void) const
 See Renderable.

void getWorldTransforms (Matrix4 *xform) const
 See Renderable.

const QuaterniongetWorldOrientation (void) const
 

const Vector3getWorldPosition (void) const
 

bool useIdentityProjection (void) const
 See Renderable.

bool useIdentityView (void) const
 See Renderable.

virtual void _positionsOutOfDate (void)
 Tell the object to recalculate.

virtual void _update (void)
 Internal method to update the element based on transforms applied.

virtual void _updateFromParent (void)
 Updates this elements transform based on it's parent.

virtual void _notifyParent (OverlayContainer *parent, Overlay *overlay)
 Internal method for notifying the gui element of it's parent and ultimate overlay.

virtual Real _getDerivedLeft (void)
 Gets the 'left' position as derived from own left and that of parents.

virtual Real _getDerivedTop (void)
 Gets the 'top' position as derived from own left and that of parents.

virtual void _getClippingRegion (Rectangle &clippingRegion)
 Gets the clipping region of the element.

virtual void _notifyZOrder (ushort newZOrder)
 Internal method to notify the element when Zorder of parent overlay has changed.

virtual void _notifyWorldTransforms (const Matrix4 &xform)
 Internal method to notify the element when it's world transform of parent overlay has changed.

virtual void _notifyViewport ()
 Internal method to notify the element when the viewport of parent overlay has changed.

virtual void _updateRenderQueue (RenderQueue *queue)
 Internal method to put the contents onto the render queue.

virtual const StringgetTypeName (void) const=0
 Gets the type name of the element.

virtual void setCaption (const String &text)
 Sets the caption on elements that support it.

virtual const StringgetCaption (void) const
 Gets the caption for this element.

virtual void setColour (const ColourValue &col)
 Sets the colour on elements that support it.

virtual const ColourValuegetColour (void) const
 Gets the colour for this element.

virtual void setMetricsMode (GuiMetricsMode gmm)
 Tells this element how to interpret the position and dimension values it is given.

virtual GuiMetricsMode getMetricsMode (void) const
 Retrieves the current settings of how the element metrics are interpreted.

virtual void setHorizontalAlignment (GuiHorizontalAlignment gha)
 Sets the horizontal origin for this element.

virtual GuiHorizontalAlignment getHorizontalAlignment (void) const
 Gets the horizontal alignment for this element.

virtual void setVerticalAlignment (GuiVerticalAlignment gva)
 Sets the vertical origin for this element.

virtual GuiVerticalAlignment getVerticalAlignment (void) const
 Gets the vertical alignment for this element.

virtual bool contains (Real x, Real y) const
 Returns true if xy is within the constraints of the component.

virtual OverlayElementfindElementAt (Real x, Real y)
 Returns true if xy is within the constraints of the component.

virtual bool isContainer () const
 returns false as this class is not a container type

virtual bool isKeyEnabled () const
virtual bool isCloneable () const
virtual void setCloneable (bool c)
OverlayContainergetParent ()
 Returns the parent container.

void _setParent (OverlayContainer *parent)
ushort getZOrder () const
 Returns the zOrder of the element.

Real getSquaredViewDepth (const Camera *cam) const
 Overridden from Renderable.

const LightListgetLights (void) const
 
Remarks:
Directional lights, which have no position, will always be first on this list.


void copyFromTemplate (OverlayElement *templateOverlay)
virtual OverlayElementclone (const String &instanceName)
const OverlayElementgetSourceTemplate () const
ParamDictionarygetParamDictionary (void)
 Retrieves the parameter dictionary for this class.

const ParamDictionarygetParamDictionary (void) const
const ParameterListgetParameters (void) const
 Retrieves a list of parameters valid for this object.

virtual bool setParameter (const String &name, const String &value)
 Generic parameter setting method.

virtual void setParameterList (const NameValuePairList &paramList)
 Generic multiple parameter setting method.

virtual String getParameter (const String &name) const
 Generic parameter retrieval method.

virtual void copyParametersTo (StringInterface *dest) const
 Method for copying this object's parameters to another object.

virtual TechniquegetTechnique (void) const
 Retrieves a pointer to the Material Technique this renderable object uses.

virtual void getRenderOperation (RenderOperation &op)=0
 Gets the render operation required to send this object to the frame buffer.

virtual unsigned short getNumWorldTransforms (void) const
 Returns the number of world transform matrices this renderable requires.

virtual SceneDetailLevel getRenderDetail () const
 Returns the preferred rasterisation mode of this renderable.

virtual bool getNormaliseNormals (void) const
 Returns whether or not this Renderable wishes the hardware to normalise normals.

virtual const PlaneListgetClipPlanes () const
virtual bool getCastsShadows (void) const
 Method which reports whether this renderable would normally cast a shadow.

void setCustomParameter (size_t index, const Vector4 &value)
 Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters.

const Vector4getCustomParameter (size_t index) const
 Gets the custom value associated with this Renderable at the given index.

virtual void _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const
 Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.

virtual void setRenderDetailOverrideable (bool override)
 Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.

virtual bool getRenderDetailOverrideable (void) const
 Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.


Static Public Member Functions

void cleanupDictionary ()
 Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g.


Protected Types

typedef std::map< size_t,
Vector4
CustomParameterMap

Protected Member Functions

virtual void updatePositionGeometry (void)=0
 Internal method which is triggered when the positions of the element get updated, meaning the element should be rebuilding it's mesh positions.

virtual void updateTextureGeometry (void)=0
 Internal method which is triggered when the UVs of the element get updated, meaning the element should be rebuilding it's mesh UVs.

virtual void addBaseParameters (void)
 Internal method for setting up the basic parameter definitions for a subclass.

bool createParamDictionary (const String &className)
 Internal method for creating a parameter dictionary for the class, if it does not already exist.


Protected Attributes

String mName
bool mVisible
bool mCloneable
Real mLeft
Real mTop
Real mWidth
Real mHeight
String mMaterialName
MaterialPtr mpMaterial
String mCaption
ColourValue mColour
Rectangle mClippingRegion
GuiMetricsMode mMetricsMode
GuiHorizontalAlignment mHorzAlign
GuiVerticalAlignment mVertAlign
Real mPixelTop
Real mPixelLeft
Real mPixelWidth
Real mPixelHeight
Real mPixelScaleX
Real mPixelScaleY
OverlayContainermParent
OverlaymOverlay
Real mDerivedLeft
Real mDerivedTop
bool mDerivedOutOfDate
bool mGeomPositionsOutOfDate
 Flag indicating if the vertex positons need recalculating.

bool mGeomUVsOutOfDate
 Flag indicating if the vertex uvs need recalculating.

ushort mZOrder
Matrix4 mXForm
bool mEnabled
bool mInitialised
OverlayElementmSourceTemplate
String mParamDictName
 Class name for this instance to be used as a lookup (must be initialised by subclasses).

CustomParameterMap mCustomParameters
bool mRenderDetailOverrideable

Static Protected Attributes

OverlayElementCommands::CmdLeft msLeftCmd
OverlayElementCommands::CmdTop msTopCmd
OverlayElementCommands::CmdWidth msWidthCmd
OverlayElementCommands::CmdHeight msHeightCmd
OverlayElementCommands::CmdMaterial msMaterialCmd
OverlayElementCommands::CmdCaption msCaptionCmd
OverlayElementCommands::CmdMetricsMode msMetricsModeCmd
OverlayElementCommands::CmdHorizontalAlign msHorizontalAlignCmd
OverlayElementCommands::CmdVerticalAlign msVerticalAlignCmd
OverlayElementCommands::CmdVisible msVisibleCmd
ParamDictionaryMap msDictionary
 Dictionary of parameters.

const PlaneList msDummyPlaneList

Detailed Description

Abstract definition of a 2D element to be displayed in an Overlay.

Remarks:
This class abstracts all the details of a 2D element which will appear in an overlay. In fact, not all OverlayElement instances can be directly added to an Overlay, only those which are OverlayContainer instances (a subclass of this class). OverlayContainer objects can contain any OverlayElement however. This is just to enforce some level of grouping on widgets.
OverlayElements should be managed using OverlayManager. This class is responsible for instantiating / deleting elements, and also for accepting new types of element from plugins etc.
Note that positions / dimensions of 2D screen elements are expressed as parametric values (0.0 - 1.0) because this makes them resolution-independent. However, most screen resolutions have an aspect ratio of 1.3333:1 (width : height) so note that in physical pixels 0.5 is wider than it is tall, so a 0.5x0.5 panel will not be square on the screen (but it will take up exactly half the screen in both dimensions).
Because this class is designed to be extensible, it subclasses from StringInterface so its parameters can be set in a generic way.

Definition at line 93 of file OgreOverlayElement.h.


Member Typedef Documentation

typedef std::map<size_t, Vector4> Ogre::Renderable::CustomParameterMap [protected, inherited]
 

Definition at line 251 of file OgreRenderable.h.


Constructor & Destructor Documentation

Ogre::OverlayElement::OverlayElement const String name  ) 
 

Constructor: do not call direct, use OverlayManager::createElement.

virtual Ogre::OverlayElement::~OverlayElement  )  [virtual]
 


Member Function Documentation

virtual void Ogre::OverlayElement::_getClippingRegion Rectangle clippingRegion  )  [virtual]
 

Gets the clipping region of the element.

virtual Real Ogre::OverlayElement::_getDerivedLeft void   )  [virtual]
 

Gets the 'left' position as derived from own left and that of parents.

virtual Real Ogre::OverlayElement::_getDerivedTop void   )  [virtual]
 

Gets the 'top' position as derived from own left and that of parents.

Real Ogre::OverlayElement::_getHeight void   )  const
 

Gets the height of this element in relation to the screen (where 1.0 = screen height).

Definition at line 247 of file OgreOverlayElement.h.

References Ogre::Real.

Real Ogre::OverlayElement::_getLeft void   )  const
 

Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right).

Definition at line 241 of file OgreOverlayElement.h.

References Ogre::Real.

Real Ogre::OverlayElement::_getTop void   )  const
 

Gets the top of this element in relation to the screen (where 0 = far left, 1.0 = far right).

Definition at line 243 of file OgreOverlayElement.h.

References Ogre::Real.

Real Ogre::OverlayElement::_getWidth void   )  const
 

Gets the width of this element in relation to the screen (where 1.0 = screen width).

Definition at line 245 of file OgreOverlayElement.h.

References Ogre::Real.

virtual void Ogre::OverlayElement::_notifyParent OverlayContainer parent,
Overlay overlay
[virtual]
 

Internal method for notifying the gui element of it's parent and ultimate overlay.

Reimplemented in Ogre::OverlayContainer.

virtual void Ogre::OverlayElement::_notifyViewport  )  [virtual]
 

Internal method to notify the element when the viewport of parent overlay has changed.

Reimplemented in Ogre::OverlayContainer.

virtual void Ogre::OverlayElement::_notifyWorldTransforms const Matrix4 xform  )  [virtual]
 

Internal method to notify the element when it's world transform of parent overlay has changed.

Reimplemented in Ogre::OverlayContainer.

virtual void Ogre::OverlayElement::_notifyZOrder ushort  newZOrder  )  [virtual]
 

Internal method to notify the element when Zorder of parent overlay has changed.

Remarks:
Overlays have explicit Z orders. OverlayElements do not, they inherit the ZOrder of the overlay, and the Zorder is incremented for every container nested within this to ensure that containers are displayed behind contained items. This method is used internally to notify the element of a change in final zorder which is used to render the element.

Reimplemented in Ogre::OverlayContainer.

virtual void Ogre::OverlayElement::_positionsOutOfDate void   )  [virtual]
 

Tell the object to recalculate.

Reimplemented in Ogre::OverlayContainer.

void Ogre::OverlayElement::_setDimensions Real  width,
Real  height
 

Sets the width and height of this element in relation to the screen (where 1.0 = screen width).

void Ogre::OverlayElement::_setHeight Real  height  ) 
 

Sets the height of this element in relation to the screen (where 1.0 = screen width).

void Ogre::OverlayElement::_setLeft Real  left  ) 
 

Sets the left of this element in relation to the screen (where 1.0 = screen width).

void Ogre::OverlayElement::_setParent OverlayContainer parent  ) 
 

Definition at line 444 of file OgreOverlayElement.h.

void Ogre::OverlayElement::_setPosition Real  left,
Real  top
 

Sets the left and top of this element in relation to the screen (where 1.0 = screen width).

void Ogre::OverlayElement::_setTop Real  top  ) 
 

Sets the top of this element in relation to the screen (where 1.0 = screen width).

void Ogre::OverlayElement::_setWidth Real  width  ) 
 

Sets the width of this element in relation to the screen (where 1.0 = screen width).

virtual void Ogre::OverlayElement::_update void   )  [virtual]
 

Internal method to update the element based on transforms applied.

Reimplemented in Ogre::BorderPanelOverlayElement, Ogre::OverlayContainer, and Ogre::TextAreaOverlayElement.

virtual void Ogre::Renderable::_updateCustomGpuParameter const GpuProgramParameters::AutoConstantEntry constantEntry,
GpuProgramParameters params
const [virtual, inherited]
 

Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.

Remarks:
This method allows a Renderable to map in a custom GPU program parameter based on it's own data. This is represented by a GPU auto parameter of ACT_CUSTOM, and to allow there to be more than one of these per Renderable, the 'data' field on the auto parameter will identify which parameter is being updated. The implementation of this method must identify the parameter being updated, and call a 'setConstant' method on the passed in GpuProgramParameters object, using the details provided in the incoming auto constant setting to identify the index at which to set the parameter.
You do not need to override this method if you're using the standard sets of data associated with the Renderable as provided by setCustomParameter and getCustomParameter. By default, the implementation will map from the value indexed by the 'constantEntry.data' parameter to a value previously set by setCustomParameter. But custom Renderables are free to override this if they want, in any case.
Parameters:
constantEntry The auto constant entry referring to the parameter being updated
params The parameters object which this method should call to set the updated parameters.

Reimplemented in Ogre::TerrainRenderable.

Definition at line 219 of file OgreRenderable.h.

References Ogre::GpuProgramParameters::AutoConstantEntry::data, Ogre::GpuProgramParameters::AutoConstantEntry::index, and params.

virtual void Ogre::OverlayElement::_updateFromParent void   )  [virtual]
 

Updates this elements transform based on it's parent.

virtual void Ogre::OverlayElement::_updateRenderQueue RenderQueue queue  )  [virtual]
 

Internal method to put the contents onto the render queue.

Reimplemented in Ogre::BorderPanelOverlayElement, Ogre::OverlayContainer, and Ogre::PanelOverlayElement.

virtual void Ogre::OverlayElement::addBaseParameters void   )  [protected, virtual]
 

Internal method for setting up the basic parameter definitions for a subclass.

Remarks:
Because StringInterface holds a dictionary of parameters per class, subclasses need to call this to ask the base class to add it's parameters to their dictionary as well. Can't do this in the constructor because that runs in a non-virtual context.
The subclass must have called it's own createParamDictionary before calling this method.

Reimplemented in Ogre::BorderPanelOverlayElement, Ogre::PanelOverlayElement, and Ogre::TextAreaOverlayElement.

void Ogre::StringInterface::cleanupDictionary  )  [static, inherited]
 

Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g.

MaterialManager) initializes.

virtual OverlayElement* Ogre::OverlayElement::clone const String instanceName  )  [virtual]
 

Reimplemented in Ogre::OverlayContainer.

virtual bool Ogre::OverlayElement::contains Real  x,
Real  y
const [virtual]
 

Returns true if xy is within the constraints of the component.

void Ogre::OverlayElement::copyFromTemplate OverlayElement templateOverlay  ) 
 

Reimplemented in Ogre::OverlayContainer.

virtual void Ogre::StringInterface::copyParametersTo StringInterface dest  )  const [virtual, inherited]
 

Method for copying this object's parameters to another object.

Remarks:
This method takes the values of all the object's parameters and tries to set the same values on the destination object. This provides a completely type independent way to copy parameters to other objects. Note that because of the String manipulation involved, this should not be regarded as an efficient process and should be saved for times outside of the rendering loop.
Any unrecognised parameters will be ignored as with setParameter method.
Parameters:
dest Pointer to object to have it's parameters set the same as this object.

Definition at line 296 of file OgreStringInterface.h.

References Ogre::ParamDictionary::mParamDefs, and Ogre::StringInterface::setParameter().

bool Ogre::StringInterface::createParamDictionary const String className  )  [protected, inherited]
 

Internal method for creating a parameter dictionary for the class, if it does not already exist.

Remarks:
This method will check to see if a parameter dictionary exist for this class yet, and if not will create one. NB you must supply the name of the class (RTTI is not used or performance).
Parameters:
className the name of the class using the dictionary
Returns:
true if a new dictionary was created, false if it was already there

Definition at line 172 of file OgreStringInterface.h.

References Ogre::String.

virtual OverlayElement* Ogre::OverlayElement::findElementAt Real  x,
Real  y
[virtual]
 

Returns true if xy is within the constraints of the component.

Reimplemented in Ogre::OverlayContainer.

virtual const String& Ogre::OverlayElement::getCaption void   )  const [virtual]
 

Gets the caption for this element.

Reimplemented in Ogre::TextAreaOverlayElement.

virtual bool Ogre::Renderable::getCastsShadows void   )  const [virtual, inherited]
 

Method which reports whether this renderable would normally cast a shadow.

Remarks:
Subclasses should override this if they could have been used to generate a shadow.

Reimplemented in Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.

Definition at line 154 of file OgreRenderable.h.

virtual const PlaneList& Ogre::Renderable::getClipPlanes  )  const [virtual, inherited]
 

Definition at line 146 of file OgreRenderable.h.

References Ogre::PlaneList.

virtual const ColourValue& Ogre::OverlayElement::getColour void   )  const [virtual]
 

Gets the colour for this element.

Reimplemented in Ogre::TextAreaOverlayElement.

const Vector4& Ogre::Renderable::getCustomParameter size_t  index  )  const [inherited]
 

Gets the custom value associated with this Renderable at the given index.

Parameters:
@see setCustomParaemter for full details.

Definition at line 180 of file OgreRenderable.h.

References OGRE_EXCEPT.

Real Ogre::OverlayElement::getHeight void   )  const
 

Gets the height of this element in relation to the screen (where 1.0 = screen height).

virtual GuiHorizontalAlignment Ogre::OverlayElement::getHorizontalAlignment void   )  const [virtual]
 

Gets the horizontal alignment for this element.

Real Ogre::OverlayElement::getLeft void   )  const
 

Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right).

const LightList& Ogre::OverlayElement::getLights void   )  const [virtual]
 

Remarks:
Directional lights, which have no position, will always be first on this list.

Implements Ogre::Renderable.

Definition at line 459 of file OgreOverlayElement.h.

References Ogre::LightList.

const MaterialPtr& Ogre::OverlayElement::getMaterial void   )  const [virtual]
 

See Renderable.

Implements Ogre::Renderable.

virtual const String& Ogre::OverlayElement::getMaterialName void   )  const [virtual]
 

Gets the name of the material this element uses.

virtual GuiMetricsMode Ogre::OverlayElement::getMetricsMode void   )  const [virtual]
 

Retrieves the current settings of how the element metrics are interpreted.

const String& Ogre::OverlayElement::getName void   )  const
 

Gets the name of this overlay.

Referenced by Ogre::OverlayContainer::_removeChild().

virtual bool Ogre::Renderable::getNormaliseNormals void   )  const [virtual, inherited]
 

Returns whether or not this Renderable wishes the hardware to normalise normals.

Reimplemented in Ogre::SubEntity.

Definition at line 138 of file OgreRenderable.h.

virtual unsigned short Ogre::Renderable::getNumWorldTransforms void   )  const [virtual, inherited]
 

Returns the number of world transform matrices this renderable requires.

Remarks:
When a renderable uses vertex blending, it uses multiple world matrices instead of a single one. Each vertex sent to the pipeline can reference one or more matrices in this list with given weights. If a renderable does not use vertex blending this method returns 1, which is the default for simplicity.

Reimplemented in Ogre::BorderRenderable, and Ogre::SubEntity.

Definition at line 104 of file OgreRenderable.h.

const ParamDictionary* Ogre::StringInterface::getParamDictionary void   )  const [inherited]
 

Definition at line 209 of file OgreStringInterface.h.

ParamDictionary* Ogre::StringInterface::getParamDictionary void   )  [inherited]
 

Retrieves the parameter dictionary for this class.

Remarks:
Only valid to call this after createParamDictionary.
Returns:
Pointer to ParamDictionary shared by all instances of this class which you can add parameters to, retrieve parameters etc.

Definition at line 196 of file OgreStringInterface.h.

virtual String Ogre::StringInterface::getParameter const String name  )  const [virtual, inherited]
 

Generic parameter retrieval method.

Remarks:
Call this method with the name of a parameter to retrieve a string-format value of the parameter in question. If in doubt, check the parameter definition in the list returned from getParameters for the type of this parameter. If you like you can use StringConverter to convert this string back into a native type.
Parameters:
name The name of the parameter to get
Returns:
String value of parameter, blank if not found

Definition at line 265 of file OgreStringInterface.h.

References Ogre::ParamCommand::doGet(), Ogre::ParamDictionary::getParamCommand(), and Ogre::String.

const ParameterList& Ogre::StringInterface::getParameters void   )  const [inherited]
 

Retrieves a list of parameters valid for this object.

Returns:
A reference to a static list of ParameterDef objects.

OverlayContainer* Ogre::OverlayElement::getParent  ) 
 

Returns the parent container.

virtual SceneDetailLevel Ogre::Renderable::getRenderDetail  )  const [virtual, inherited]
 

Returns the preferred rasterisation mode of this renderable.

Reimplemented in Ogre::SubEntity.

Definition at line 135 of file OgreRenderable.h.

References Ogre::SceneDetailLevel, and Ogre::SDL_SOLID.

virtual bool Ogre::Renderable::getRenderDetailOverrideable void   )  const [virtual, inherited]
 

Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.

Reimplemented in Ogre::BorderRenderable.

Definition at line 243 of file OgreRenderable.h.

virtual void Ogre::Renderable::getRenderOperation RenderOperation op  )  [pure virtual, inherited]
 

Gets the render operation required to send this object to the frame buffer.

Implemented in Ogre::BillboardSet, Ogre::BorderRenderable, Ogre::Frustum, Ogre::Node, Ogre::PanelOverlayElement, Ogre::ShadowRenderable, Ogre::SimpleRenderable, Ogre::StaticGeometry::GeometryBucket, Ogre::SubEntity, Ogre::TextAreaOverlayElement, Ogre::OctreeNode, and Ogre::TerrainRenderable.

const OverlayElement* Ogre::OverlayElement::getSourceTemplate  )  const
 

Definition at line 470 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::getSquaredViewDepth const Camera cam  )  const [virtual]
 

Overridden from Renderable.

Implements Ogre::Renderable.

Definition at line 453 of file OgreOverlayElement.h.

References Ogre::Real.

virtual Technique* Ogre::Renderable::getTechnique void   )  const [virtual, inherited]
 

Retrieves a pointer to the Material Technique this renderable object uses.

Remarks:
This is to allow Renderables to use a chosen Technique if they wish, otherwise they will use the best Technique available for the Material they are using.

Reimplemented in Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.

Definition at line 69 of file OgreRenderable.h.

Real Ogre::OverlayElement::getTop void   )  const
 

Gets the top of this element in relation to the screen (where 0 = top, 1.0 = bottom).

virtual const String& Ogre::OverlayElement::getTypeName void   )  const [pure virtual]
 

Gets the type name of the element.

All concrete subclasses must implement this.

Implemented in Ogre::BorderPanelOverlayElement, Ogre::PanelOverlayElement, and Ogre::TextAreaOverlayElement.

virtual GuiVerticalAlignment Ogre::OverlayElement::getVerticalAlignment void   )  const [virtual]
 

Gets the vertical alignment for this element.

Real Ogre::OverlayElement::getWidth void   )  const
 

Gets the width of this element in relation to the screen (where 1.0 = screen width).

const Quaternion& Ogre::OverlayElement::getWorldOrientation void   )  const [virtual]
 

Implements Ogre::Renderable.

const Vector3& Ogre::OverlayElement::getWorldPosition void   )  const [virtual]
 

Implements Ogre::Renderable.

void Ogre::OverlayElement::getWorldTransforms Matrix4 xform  )  const [virtual]
 

See Renderable.

Implements Ogre::Renderable.

ushort Ogre::OverlayElement::getZOrder void   )  const
 

Returns the zOrder of the element.

Definition at line 449 of file OgreOverlayElement.h.

References Ogre::ushort.

virtual void Ogre::OverlayElement::hide void   )  [virtual]
 

Hides this element if it was visible.

virtual void Ogre::OverlayElement::initialise void   )  [pure virtual]
 

Initialise gui element.

Implemented in Ogre::BorderPanelOverlayElement, Ogre::OverlayContainer, Ogre::PanelOverlayElement, and Ogre::TextAreaOverlayElement.

virtual bool Ogre::OverlayElement::isCloneable  )  const [virtual]
 

Definition at line 434 of file OgreOverlayElement.h.

virtual bool Ogre::OverlayElement::isContainer  )  const [virtual]
 

returns false as this class is not a container type

Reimplemented in Ogre::OverlayContainer.

Definition at line 428 of file OgreOverlayElement.h.

bool Ogre::OverlayElement::isEnabled  )  const
 

virtual bool Ogre::OverlayElement::isKeyEnabled  )  const [virtual]
 

Definition at line 431 of file OgreOverlayElement.h.

bool Ogre::OverlayElement::isVisible void   )  const
 

Returns whether or not the element is visible.

virtual void Ogre::OverlayElement::setCaption const String text  )  [virtual]
 

Sets the caption on elements that support it.

Remarks:
This property doesn't do something on all elements, just those that support it. However, being a common requirement it is in the top-level interface to avoid having to set it via the StringInterface all the time.

Reimplemented in Ogre::TextAreaOverlayElement.

virtual void Ogre::OverlayElement::setCloneable bool  c  )  [virtual]
 

Definition at line 437 of file OgreOverlayElement.h.

virtual void Ogre::OverlayElement::setColour const ColourValue col  )  [virtual]
 

Sets the colour on elements that support it.

Remarks:
This property doesn't do something on all elements, just those that support it. However, being a common requirement it is in the top-level interface to avoid having to set it via the StringInterface all the time.

Reimplemented in Ogre::TextAreaOverlayElement.

void Ogre::Renderable::setCustomParameter size_t  index,
const Vector4 value
[inherited]
 

Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters.

Remarks:
Calling this method simply associates a numeric index with a 4-dimensional value for this specific Renderable. This is most useful if the material which this Renderable uses a vertex or fragment program, and has an ACT_CUSTOM parameter entry. This parameter entry can refer to the index you specify as part of this call, thereby mapping a custom parameter for this renderable to a program parameter.
Parameters:
index The index with which to associate the value. Note that this does not have to start at 0, and can include gaps. It also has no direct correlation with a GPU program parameter index - the mapping between the two is performed by the ACT_CUSTOM entry, if that is used.
value The value to associate.

Definition at line 171 of file OgreRenderable.h.

void Ogre::OverlayElement::setDimensions Real  width,
Real  height
 

Sets the dimensions of this element in relation to the screen (1.0 = screen width/height).

virtual void Ogre::OverlayElement::setEnabled bool  b  )  [virtual]
 

void Ogre::OverlayElement::setHeight Real  height  ) 
 

Sets the height of this element in relation to the screen (where 1.0 = screen height).

virtual void Ogre::OverlayElement::setHorizontalAlignment GuiHorizontalAlignment  gha  )  [virtual]
 

Sets the horizontal origin for this element.

Remarks:
By default, the horizontal origin for a OverlayElement is the left edge of the parent container (or the screen if this is a root element). You can alter this by calling this method, which is especially useful when you want to use pixel-based metrics (see setMetricsMode) since in this mode you can't use relative positioning.
For example, if you were using GMM_PIXELS metrics mode, and you wanted to place a 30x30 pixel crosshair in the center of the screen, you would use GHA_CENTER with a 'left' property of -15.
Note that neither GHA_CENTER or GHA_RIGHT alter the position of the element based on it's width, you have to alter the 'left' to a negative number to do that; all this does is establish the origin. This is because this way you can align multiple things in the center and right with different 'left' offsets for maximum flexibility.

void Ogre::OverlayElement::setLeft Real  left  ) 
 

Sets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right).

virtual void Ogre::OverlayElement::setMaterialName const String matName  )  [virtual]
 

Sets the name of the material this element will use.

Remarks:
Different elements will use different materials. One constant about them all though is that a Material used for a OverlayElement must have it's depth checking set to 'off', which means it always gets rendered on top. OGRE will set this flag for you if necessary. What it does mean though is that you should not use the same Material for rendering OverlayElements as standard scene objects. It's fine to use the same textures, just not the same Material.

Reimplemented in Ogre::PanelOverlayElement, and Ogre::TextAreaOverlayElement.

virtual void Ogre::OverlayElement::setMetricsMode GuiMetricsMode  gmm  )  [virtual]
 

Tells this element how to interpret the position and dimension values it is given.

Remarks:
By default, OverlayElements are positioned and sized according to relative dimensions of the screen. This is to ensure portability between different resolutions when you want things to be positioned and sized the same way across all resolutions. However, sometimes you want things to be sized according to fixed pixels. In order to do this, you can call this method with the parameter GMM_PIXELS. Note that if you then want to place your element relative to the center, right or bottom of it's parent, you will need to use the setHorizontalAlignment and setVerticalAlignment methods.

Reimplemented in Ogre::BorderPanelOverlayElement, and Ogre::TextAreaOverlayElement.

virtual bool Ogre::StringInterface::setParameter const String name,
const String value
[virtual, inherited]
 

Generic parameter setting method.

Remarks:
Call this method with the name of a parameter and a string version of the value to set. The implementor will convert the string to a native type internally. If in doubt, check the parameter definition in the list returned from StringInterface::getParameters.
Parameters:
name The name of the parameter to set
value String value. Must be in the right format for the type specified in the parameter definition. See the StringConverter class for more information.
Returns:
true if set was successful, false otherwise (NB no exceptions thrown - tolerant method)

Referenced by Ogre::StringInterface::copyParametersTo().

virtual void Ogre::StringInterface::setParameterList const NameValuePairList paramList  )  [virtual, inherited]
 

Generic multiple parameter setting method.

Remarks:
Call this method with a list of name / value pairs to set. The implementor will convert the string to a native type internally. If in doubt, check the parameter definition in the list returned from StringInterface::getParameters.
Parameters:
paramList Name/value pair list

void Ogre::OverlayElement::setPosition Real  left,
Real  top
 

Sets the position of the top-left corner of the element, relative to the screen size (1.0 = screen width / height).

virtual void Ogre::Renderable::setRenderDetailOverrideable bool  override  )  [virtual, inherited]
 

Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.

Parameters:
override true means that a lower camera detail will override this renderables detail level, false means it won't.

Definition at line 235 of file OgreRenderable.h.

void Ogre::OverlayElement::setTop Real  Top  ) 
 

Sets the top of this element in relation to the screen (where 0 = top, 1.0 = bottom).

virtual void Ogre::OverlayElement::setVerticalAlignment GuiVerticalAlignment  gva  )  [virtual]
 

Sets the vertical origin for this element.

Remarks:
By default, the vertical origin for a OverlayElement is the top edge of the parent container (or the screen if this is a root element). You can alter this by calling this method, which is especially useful when you want to use pixel-based metrics (see setMetricsMode) since in this mode you can't use relative positioning.
For example, if you were using GMM_PIXELS metrics mode, and you wanted to place a 30x30 pixel crosshair in the center of the screen, you would use GHA_CENTER with a 'top' property of -15.
Note that neither GVA_CENTER or GVA_BOTTOM alter the position of the element based on it's height, you have to alter the 'top' to a negative number to do that; all this does is establish the origin. This is because this way you can align multiple things in the center and bottom with different 'top' offsets for maximum flexibility.

void Ogre::OverlayElement::setWidth Real  width  ) 
 

Sets the width of this element in relation to the screen (where 1.0 = screen width).

virtual void Ogre::OverlayElement::show void   )  [virtual]
 

Shows this element if it was hidden.

virtual void Ogre::OverlayElement::updatePositionGeometry void   )  [protected, pure virtual]
 

Internal method which is triggered when the positions of the element get updated, meaning the element should be rebuilding it's mesh positions.

Abstract since subclasses must implement this.

Implemented in Ogre::BorderPanelOverlayElement, Ogre::PanelOverlayElement, and Ogre::TextAreaOverlayElement.

virtual void Ogre::OverlayElement::updateTextureGeometry void   )  [protected, pure virtual]
 

Internal method which is triggered when the UVs of the element get updated, meaning the element should be rebuilding it's mesh UVs.

Abstract since subclasses must implement this.

Implemented in Ogre::BorderPanelOverlayElement, Ogre::PanelOverlayElement, and Ogre::TextAreaOverlayElement.

bool Ogre::OverlayElement::useIdentityProjection void   )  const [virtual]
 

See Renderable.

Reimplemented from Ogre::Renderable.

bool Ogre::OverlayElement::useIdentityView void   )  const [virtual]
 

See Renderable.

Reimplemented from Ogre::Renderable.


Member Data Documentation

String Ogre::OverlayElement::mCaption [protected]
 

Definition at line 120 of file OgreOverlayElement.h.

Rectangle Ogre::OverlayElement::mClippingRegion [protected]
 

Definition at line 122 of file OgreOverlayElement.h.

bool Ogre::OverlayElement::mCloneable [protected]
 

Definition at line 113 of file OgreOverlayElement.h.

ColourValue Ogre::OverlayElement::mColour [protected]
 

Definition at line 121 of file OgreOverlayElement.h.

CustomParameterMap Ogre::Renderable::mCustomParameters [protected, inherited]
 

Definition at line 252 of file OgreRenderable.h.

Real Ogre::OverlayElement::mDerivedLeft [protected]
 

Definition at line 142 of file OgreOverlayElement.h.

bool Ogre::OverlayElement::mDerivedOutOfDate [protected]
 

Definition at line 144 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mDerivedTop [protected]
 

Definition at line 143 of file OgreOverlayElement.h.

bool Ogre::OverlayElement::mEnabled [protected]
 

Definition at line 159 of file OgreOverlayElement.h.

bool Ogre::OverlayElement::mGeomPositionsOutOfDate [protected]
 

Flag indicating if the vertex positons need recalculating.

Definition at line 147 of file OgreOverlayElement.h.

bool Ogre::OverlayElement::mGeomUVsOutOfDate [protected]
 

Flag indicating if the vertex uvs need recalculating.

Definition at line 149 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mHeight [protected]
 

Definition at line 117 of file OgreOverlayElement.h.

GuiHorizontalAlignment Ogre::OverlayElement::mHorzAlign [protected]
 

Definition at line 125 of file OgreOverlayElement.h.

bool Ogre::OverlayElement::mInitialised [protected]
 

Definition at line 162 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mLeft [protected]
 

Definition at line 114 of file OgreOverlayElement.h.

String Ogre::OverlayElement::mMaterialName [protected]
 

Definition at line 118 of file OgreOverlayElement.h.

GuiMetricsMode Ogre::OverlayElement::mMetricsMode [protected]
 

Definition at line 124 of file OgreOverlayElement.h.

String Ogre::OverlayElement::mName [protected]
 

Definition at line 111 of file OgreOverlayElement.h.

Overlay* Ogre::OverlayElement::mOverlay [protected]
 

Definition at line 139 of file OgreOverlayElement.h.

String Ogre::StringInterface::mParamDictName [protected, inherited]
 

Class name for this instance to be used as a lookup (must be initialised by subclasses).

Definition at line 160 of file OgreStringInterface.h.

OverlayContainer* Ogre::OverlayElement::mParent [protected]
 

Definition at line 137 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mPixelHeight [protected]
 

Definition at line 132 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mPixelLeft [protected]
 

Definition at line 130 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mPixelScaleX [protected]
 

Definition at line 133 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mPixelScaleY [protected]
 

Definition at line 134 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mPixelTop [protected]
 

Definition at line 129 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mPixelWidth [protected]
 

Definition at line 131 of file OgreOverlayElement.h.

MaterialPtr Ogre::OverlayElement::mpMaterial [protected]
 

Definition at line 119 of file OgreOverlayElement.h.

bool Ogre::Renderable::mRenderDetailOverrideable [protected, inherited]
 

Definition at line 253 of file OgreRenderable.h.

OverlayElementCommands::CmdCaption Ogre::OverlayElement::msCaptionCmd [static, protected]
 

Definition at line 104 of file OgreOverlayElement.h.

ParamDictionaryMap Ogre::StringInterface::msDictionary [static, protected, inherited]
 

Dictionary of parameters.

Definition at line 157 of file OgreStringInterface.h.

const PlaneList Ogre::Renderable::msDummyPlaneList [static, protected, inherited]
 

Definition at line 250 of file OgreRenderable.h.

OverlayElementCommands::CmdHeight Ogre::OverlayElement::msHeightCmd [static, protected]
 

Definition at line 102 of file OgreOverlayElement.h.

OverlayElementCommands::CmdHorizontalAlign Ogre::OverlayElement::msHorizontalAlignCmd [static, protected]
 

Definition at line 106 of file OgreOverlayElement.h.

OverlayElementCommands::CmdLeft Ogre::OverlayElement::msLeftCmd [static, protected]
 

Definition at line 99 of file OgreOverlayElement.h.

OverlayElementCommands::CmdMaterial Ogre::OverlayElement::msMaterialCmd [static, protected]
 

Definition at line 103 of file OgreOverlayElement.h.

OverlayElementCommands::CmdMetricsMode Ogre::OverlayElement::msMetricsModeCmd [static, protected]
 

Definition at line 105 of file OgreOverlayElement.h.

OverlayElement* Ogre::OverlayElement::mSourceTemplate [protected]
 

Definition at line 165 of file OgreOverlayElement.h.

OverlayElementCommands::CmdTop Ogre::OverlayElement::msTopCmd [static, protected]
 

Definition at line 100 of file OgreOverlayElement.h.

OverlayElementCommands::CmdVerticalAlign Ogre::OverlayElement::msVerticalAlignCmd [static, protected]
 

Definition at line 107 of file OgreOverlayElement.h.

OverlayElementCommands::CmdVisible Ogre::OverlayElement::msVisibleCmd [static, protected]
 

Definition at line 108 of file OgreOverlayElement.h.

OverlayElementCommands::CmdWidth Ogre::OverlayElement::msWidthCmd [static, protected]
 

Definition at line 101 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mTop [protected]
 

Definition at line 115 of file OgreOverlayElement.h.

GuiVerticalAlignment Ogre::OverlayElement::mVertAlign [protected]
 

Definition at line 126 of file OgreOverlayElement.h.

bool Ogre::OverlayElement::mVisible [protected]
 

Definition at line 112 of file OgreOverlayElement.h.

Real Ogre::OverlayElement::mWidth [protected]
 

Definition at line 116 of file OgreOverlayElement.h.

Matrix4 Ogre::OverlayElement::mXForm [protected]
 

Definition at line 156 of file OgreOverlayElement.h.

ushort Ogre::OverlayElement::mZOrder [protected]
 

Definition at line 153 of file OgreOverlayElement.h.


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 13:01:36 2006