Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes
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:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 OverlayElement (const String &name)
 Constructor: do not call direct, use OverlayManager::createElement.
virtual ~OverlayElement ()
virtual void _getClippingRegion (RealRect &clippingRegion)
 Gets the clipping region of the element.
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.
Real _getHeight (void) const
 Gets the height of this element in relation to the screen (where 1.0 = screen height)
Real _getLeft (void) const
 Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right)
virtual Real _getRelativeHeight (void)
 Gets the 'height' as derived from own height and metrics mode.
virtual Real _getRelativeWidth (void)
 Gets the 'width' as derived from own width and metrics mode.
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)
virtual void _notifyParent (OverlayContainer *parent, Overlay *overlay)
 Internal method for notifying the GUI element of it's parent and ultimate overlay.
virtual void _notifyViewport ()
 Internal method to notify the element when the viewport 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 ushort _notifyZOrder (ushort newZOrder)
 Internal method to notify the element when Z-order of parent overlay has changed.
virtual void _positionsOutOfDate (void)
 Tell the object to recalculate.
void _setDimensions (Real width, Real height)
 Sets the width and height 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 _setLeft (Real left)
 Sets the left of this element in relation to the screen (where 1.0 = screen width)
void _setParent (OverlayContainer *parent)
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 _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)
virtual void _update (void)
 Internal method to update the element based on transforms applied.
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 _updateFromParent (void)
 Updates this elements transform based on it's parent.
virtual void _updateRenderQueue (RenderQueue *queue)
 Internal method to put the contents onto the render queue.
virtual OverlayElementclone (const String &instanceName)
virtual bool contains (Real x, Real y) const
 Returns true if xy is within the constraints of the component.
virtual void copyFromTemplate (OverlayElement *templateOverlay)
virtual void copyParametersTo (StringInterface *dest) const
 Method for copying this object's parameters to another object.
virtual OverlayElementfindElementAt (Real x, Real y)
 Returns true if xy is within the constraints of the component.
virtual const DisplayStringgetCaption (void) const
 Gets the caption for this element.
virtual bool getCastsShadows (void) const
 Method which reports whether this renderable would normally cast a shadow.
virtual const ColourValuegetColour (void) const
 Gets the colour for this element.
const Vector4getCustomParameter (size_t index) const
 Gets the custom value associated with this Renderable at the given index.
Real getHeight (void) const
 Gets the height of this element in relation to the screen (where 1.0 = screen height)
virtual GuiHorizontalAlignment getHorizontalAlignment (void) const
 Gets the horizontal alignment for this element.
Real getLeft (void) const
 Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right)
const LightListgetLights (void) const
const MaterialPtrgetMaterial (void) const
 See Renderable.
virtual const StringgetMaterialName (void) const
 Gets the name of the material this element uses.
virtual GuiMetricsMode getMetricsMode (void) const
 Retrieves the current settings of how the element metrics are interpreted.
const StringgetName (void) const
 Gets the name of this overlay.
virtual unsigned short getNumWorldTransforms (void) const
 Returns the number of world transform matrices this renderable requires.
ParamDictionarygetParamDictionary (void)
 Retrieves the parameter dictionary for this class.
const ParamDictionarygetParamDictionary (void) const
virtual String getParameter (const String &name) const
 Generic parameter retrieval method.
const ParameterListgetParameters (void) const
 Retrieves a list of parameters valid for this object.
OverlayContainergetParent ()
 Returns the parent container.
virtual bool getPolygonModeOverrideable (void) const
 Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
virtual void getRenderOperation (RenderOperation &op)=0
 Gets the render operation required to send this object to the frame buffer.
virtual RenderSystemDatagetRenderSystemData () const
 Gets RenderSystem private data.
const OverlayElementgetSourceTemplate () const
 Returns the SourceTemplate for this element.
Real getSquaredViewDepth (const Camera *cam) const
 Overridden from Renderable.
virtual TechniquegetTechnique (void) const
 Retrieves a pointer to the Material Technique this renderable object uses.
Real getTop (void) const
 Gets the top of this element in relation to the screen (where 0 = top, 1.0 = bottom)
virtual const StringgetTypeName (void) const =0
 Gets the type name of the element.
bool getUseIdentityProjection (void) const
 Returns whether or not to use an 'identity' projection.
bool getUseIdentityView (void) const
 Returns whether or not to use an 'identity' view.
virtual OGRE_DEPRECATED const AnygetUserAny (void) const
UserObjectBindingsgetUserObjectBindings ()
 Return an instance of user objects binding associated with this class.
const UserObjectBindingsgetUserObjectBindings () const
 Return an instance of user objects binding associated with this class.
virtual GuiVerticalAlignment getVerticalAlignment (void) const
 Gets the vertical alignment for this element.
Real getWidth (void) const
 Gets the width of this element in relation to the screen (where 1.0 = screen width)
void getWorldTransforms (Matrix4 *xform) const
 See Renderable.
ushort getZOrder () const
 Returns the zOrder of the element.
bool hasCustomParameter (size_t index) const
 Checks whether a custom value is associated with this Renderable at the given index.
virtual void hide (void)
 Hides this element if it was visible.
virtual void initialise (void)=0
 Initialise gui element.
virtual bool isCloneable () const
virtual bool isContainer () const
 returns false as this class is not a container type
bool isEnabled () const
virtual bool isKeyEnabled () const
bool isVisible (void) const
 Returns whether or not the element is visible.
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete (void *ptr, const char *, int, const char *)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, const char *, int, const char *)
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz)
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
void * operator new[] (size_t sz)
virtual void postRender (SceneManager *sm, RenderSystem *rsys)
 Called immediately after the Renderable has been rendered.
virtual bool preRender (SceneManager *sm, RenderSystem *rsys)
 Called just prior to the Renderable being rendered.
void removeCustomParameter (size_t index)
 Removes a custom value which is associated with this Renderable at the given index.
virtual void setCaption (const DisplayString &text)
 Sets the caption on elements that support it.
virtual void setCloneable (bool c)
virtual void setColour (const ColourValue &col)
 Sets the colour on elements that support it.
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.
void setDimensions (Real width, Real height)
 Sets the dimensions of this element in relation to the screen (1.0 = screen width/height).
virtual void setEnabled (bool b)
void setHeight (Real height)
 Sets the height of this element in relation to the screen (where 1.0 = screen height)
virtual void setHorizontalAlignment (GuiHorizontalAlignment gha)
 Sets the horizontal origin for this element.
void setLeft (Real left)
 Sets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right)
virtual void setMaterialName (const String &matName)
 Sets the name of the material this element will use.
virtual void setMetricsMode (GuiMetricsMode gmm)
 Tells this element how to interpret the position and dimension values it is given.
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 void setPolygonModeOverrideable (bool override)
 Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
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)
virtual void setRenderSystemData (RenderSystemData *val) const
 Sets RenderSystem private data.
void setTop (Real Top)
 Sets the top of this element in relation to the screen (where 0 = top, 1.0 = bottom)
void setUseIdentityProjection (bool useIdentityProjection)
 Sets whether or not to use an 'identity' projection.
void setUseIdentityView (bool useIdentityView)
 Sets whether or not to use an 'identity' view.
virtual OGRE_DEPRECATED void setUserAny (const Any &anything)
virtual void setVerticalAlignment (GuiVerticalAlignment gva)
 Sets the vertical origin for this element.
void setWidth (Real width)
 Sets the width of this element in relation to the screen (where 1.0 = screen width)
virtual void show (void)
 Shows this element if it was hidden.
void visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false)

Static Public Member Functions

static 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 map< size_t, Vector4 >
::type 
CustomParameterMap

Protected Member Functions

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.
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.

Protected Attributes

DisplayString mCaption
RealRect mClippingRegion
bool mCloneable
ColourValue mColour
CustomParameterMap mCustomParameters
Real mDerivedLeft
bool mDerivedOutOfDate
Real mDerivedTop
bool mEnabled
 Is element enabled?
bool mGeomPositionsOutOfDate
 Flag indicating if the vertex positions need recalculating.
bool mGeomUVsOutOfDate
 Flag indicating if the vertex uvs need recalculating.
Real mHeight
GuiHorizontalAlignment mHorzAlign
bool mInitialised
 Is element initialised?
Real mLeft
MaterialPtr mMaterial
String mMaterialName
GuiMetricsMode mMetricsMode
String mName
OverlaymOverlay
 Overlay attached to.
OverlayContainermParent
 Parent pointer.
Real mPixelHeight
Real mPixelLeft
Real mPixelScaleX
Real mPixelScaleY
Real mPixelTop
Real mPixelWidth
bool mPolygonModeOverrideable
RenderSystemDatamRenderSystemData
 User objects binding.
OverlayElementmSourceTemplate
 Used to see if this element is created from a Template.
Real mTop
bool mUseIdentityProjection
bool mUseIdentityView
UserObjectBindings mUserObjectBindings
GuiVerticalAlignment mVertAlign
bool mVisible
Real mWidth
Matrix4 mXForm
 World transforms.
ushort mZOrder
 Zorder for when sending to render queue.

Static Protected Attributes

static
OverlayElementCommands::CmdCaption 
msCaptionCmd
static
OverlayElementCommands::CmdHeight 
msHeightCmd
static
OverlayElementCommands::CmdHorizontalAlign 
msHorizontalAlignCmd
static
OverlayElementCommands::CmdLeft 
msLeftCmd
static
OverlayElementCommands::CmdMaterial 
msMaterialCmd
static
OverlayElementCommands::CmdMetricsMode 
msMetricsModeCmd
static
OverlayElementCommands::CmdTop 
msTopCmd
static
OverlayElementCommands::CmdVerticalAlign 
msVerticalAlignCmd
static
OverlayElementCommands::CmdVisible 
msVisibleCmd
static
OverlayElementCommands::CmdWidth 
msWidthCmd

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 108 of file OgreOverlayElement.h.


Member Typedef Documentation

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

Definition at line 414 of file OgreRenderable.h.


Constructor & Destructor Documentation

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


Member Function Documentation

virtual void Ogre::OverlayElement::_getClippingRegion ( RealRect 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.

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

Definition at line 262 of file OgreOverlayElement.h.

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

Definition at line 256 of file OgreOverlayElement.h.

virtual Real Ogre::OverlayElement::_getRelativeHeight ( void  ) [virtual]

Gets the 'height' as derived from own height and metrics mode.

virtual Real Ogre::OverlayElement::_getRelativeWidth ( void  ) [virtual]

Gets the 'width' as derived from own width and metrics mode.

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

Definition at line 258 of file OgreOverlayElement.h.

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

Definition at line 260 of file OgreOverlayElement.h.

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 ushort Ogre::OverlayElement::_notifyZOrder ( ushort  newZOrder) [virtual]

Internal method to notify the element when Z-order of parent overlay has changed.

Remarks:
Overlays have explicit Z-orders. OverlayElements do not, they inherit the Z-order of the overlay, and the Z-order 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 Z-order which is used to render the element.
Returns:
Return the next Z-ordering number available. For single elements, this is simply 'newZOrder + 1', except for containers. They increment it once for each child (or even more if those children are also containers with their own elements).

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)

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

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

Definition at line 460 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)

Sets the top of this element in relation to the screen (where 1.0 = screen 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::TextAreaOverlayElement, and Ogre::OverlayContainer.

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:
constantEntryThe auto constant entry referring to the parameter being updated
paramsThe parameters object which this method should call to set the updated parameters.

Reimplemented in Ogre::SubEntity.

Definition at line 307 of file OgreRenderable.h.

References Ogre::GpuProgramParameters::_writeRawConstant(), Ogre::GpuProgramParameters::AutoConstantEntry::data, Ogre::GpuProgramParameters::AutoConstantEntry::elementCount, and Ogre::GpuProgramParameters::AutoConstantEntry::physicalIndex.

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::TextAreaOverlayElement, and Ogre::PanelOverlayElement.

static 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.

virtual void Ogre::OverlayElement::copyFromTemplate ( OverlayElement templateOverlay) [virtual]

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:
destPointer to object to have it's parameters set the same as this object.

Definition at line 303 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:
classNamethe name of the class using the dictionary
Returns:
true if a new dictionary was created, false if it was already there

Definition at line 186 of file OgreStringInterface.h.

References OGRE_LOCK_MUTEX.

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 DisplayString& Ogre::OverlayElement::getCaption ( void  ) const [virtual]

Gets the caption for this element.

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::TerrainQuadTreeNode::Rend, Ogre::SubEntity, Ogre::InstancedGeometry::GeometryBucket, and Ogre::StaticGeometry::GeometryBucket.

Definition at line 224 of file OgreRenderable.h.

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:
indexIndex of the parameter to retrieve.
See also:
setCustomParameter for full details.

Definition at line 268 of file OgreRenderable.h.

References Ogre::Exception::ERR_ITEM_NOT_FOUND.

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

Gets the horizontal alignment for this element.

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]

Gets a list of lights, ordered relative to how close they are to this renderable.

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

Implements Ogre::Renderable.

Definition at line 476 of file OgreOverlayElement.h.

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

See Renderable.

Implements Ogre::Renderable.

Reimplemented in Ogre::TextAreaOverlayElement.

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 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, Ogre::SubEntity, Ogre::InstancedGeometry::GeometryBucket, Ogre::BaseInstanceBatchVTF, Ogre::InstanceBatchHW, and Ogre::InstanceBatchShader.

Definition at line 153 of file OgreRenderable.h.

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 219 of file OgreStringInterface.h.

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

Definition at line 224 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:
nameThe name of the parameter to get
Returns:
String value of parameter, blank if not found

Definition at line 272 of file OgreStringInterface.h.

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

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.

Returns the parent container.

virtual bool Ogre::Renderable::getPolygonModeOverrideable ( 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 332 of file OgreRenderable.h.

virtual void Ogre::Renderable::getRenderOperation ( RenderOperation op) [pure virtual, inherited]
virtual RenderSystemData* Ogre::Renderable::getRenderSystemData ( ) const [virtual, inherited]

Gets RenderSystem private data.

Remarks:
This should only be used by a RenderSystem

Definition at line 399 of file OgreRenderable.h.

Returns the SourceTemplate for this element.

Definition at line 487 of file OgreOverlayElement.h.

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

Overridden from Renderable.

Implements Ogre::Renderable.

Definition at line 469 of file OgreOverlayElement.h.

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::TerrainQuadTreeNode::Rend, Ogre::InstanceBatch, Ogre::InstancedGeometry::GeometryBucket, Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.

Definition at line 94 of file OgreRenderable.h.

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::PanelOverlayElement, Ogre::TextAreaOverlayElement, and Ogre::BorderPanelOverlayElement.

bool Ogre::Renderable::getUseIdentityProjection ( void  ) const [inherited]

Returns whether or not to use an 'identity' projection.

Remarks:
Usually Renderable objects will use a projection matrix as determined by the active camera. However, if they want they can cancel this out and use an identity projection, which effectively projects in 2D using a {-1, 1} view space. Useful for overlay rendering. Normal renderables need not change this.
See also:
Renderable::setUseIdentityProjection

Definition at line 178 of file OgreRenderable.h.

bool Ogre::Renderable::getUseIdentityView ( void  ) const [inherited]

Returns whether or not to use an 'identity' view.

Remarks:
Usually Renderable objects will use a view matrix as determined by the active camera. However, if they want they can cancel this out and use an identity matrix, which means all geometry is assumed to be relative to camera space already. Useful for overlay rendering. Normal renderables need not change this.
See also:
Renderable::setUseIdentityView

Definition at line 203 of file OgreRenderable.h.

virtual OGRE_DEPRECATED const Any& Ogre::Renderable::getUserAny ( void  ) const [virtual, inherited]
Deprecated:
use UserObjectBindings::getUserAny via getUserObjectBindings() instead.

Retrieves the custom user value associated with this object.

Definition at line 349 of file OgreRenderable.h.

Return an instance of user objects binding associated with this class.

You can use it to associate one or more custom objects with this class instance.

See also:
UserObjectBindings::setUserAny.

Definition at line 355 of file OgreRenderable.h.

Return an instance of user objects binding associated with this class.

You can use it to associate one or more custom objects with this class instance.

See also:
UserObjectBindings::setUserAny.

Definition at line 361 of file OgreRenderable.h.

Gets the vertical alignment for this element.

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

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

See Renderable.

Implements Ogre::Renderable.

Returns the zOrder of the element.

Definition at line 465 of file OgreOverlayElement.h.

bool Ogre::Renderable::hasCustomParameter ( size_t  index) const [inherited]

Checks whether a custom value is associated with this Renderable at the given index.

Parameters:
indexIndex of the parameter to check for existence.
See also:
setCustomParameter for full details.

Definition at line 259 of file OgreRenderable.h.

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

Hides this element if it was visible.

virtual void Ogre::OverlayElement::initialise ( void  ) [pure virtual]
virtual bool Ogre::OverlayElement::isCloneable ( ) const [virtual]

Definition at line 450 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 444 of file OgreOverlayElement.h.

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

Definition at line 447 of file OgreOverlayElement.h.

bool Ogre::OverlayElement::isVisible ( void  ) const

Returns whether or not the element is visible.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr) [inherited]

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
) [inherited]

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr) [inherited]

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz) [inherited]

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
) [inherited]

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz) [inherited]

Definition at line 91 of file OgreMemoryAllocatedObject.h.

virtual void Ogre::Renderable::postRender ( SceneManager sm,
RenderSystem rsys 
) [virtual, inherited]

Called immediately after the Renderable has been rendered.

Definition at line 128 of file OgreRenderable.h.

virtual bool Ogre::Renderable::preRender ( SceneManager sm,
RenderSystem rsys 
) [virtual, inherited]

Called just prior to the Renderable being rendered.

Remarks:
OGRE is a queued renderer, so the actual render commands are executed at a later time than the point at which an object is discovered to be visible. This allows ordering & grouping of renders without the discovery process having to be aware of it. It also means OGRE uses declarative render information rather than immediate mode rendering - this is very useful in that certain effects and processes can automatically be applied to a wide range of scenes, but the downside is that special cases are more difficult to handle, because there is not the declared state to cope with it.
This method allows a Renderable to do something special at the actual point of rendering if it wishes to. When this method is called, all the material render state as declared by this Renderable has already been set, all that is left to do is to bind the buffers and perform the render. The Renderable may modify render state itself if it wants to (and restore it in the postRender call) before the automated render happens, or by returning 'false' from this method can actually suppress the automatic render and perform one of its own.
Returns:
true if the automatic render should proceed, false to skip it on the assumption that the Renderable has done it manually.

Reimplemented in Ogre::BillboardChain.

Definition at line 123 of file OgreRenderable.h.

void Ogre::Renderable::removeCustomParameter ( size_t  index) [inherited]

Removes a custom value which is associated with this Renderable at the given index.

Parameters:
indexIndex of the parameter to remove.
See also:
setCustomParameter for full details.

Definition at line 250 of file OgreRenderable.h.

virtual void Ogre::OverlayElement::setCaption ( const DisplayString 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 453 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:
indexThe 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.
valueThe value to associate.

Definition at line 241 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]

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

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.

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:
nameThe name of the parameter to set
valueString 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:
paramListName/value pair list
virtual void Ogre::Renderable::setPolygonModeOverrideable ( bool  override) [virtual, inherited]

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

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

Definition at line 324 of file OgreRenderable.h.

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::setRenderSystemData ( RenderSystemData val) const [virtual, inherited]

Sets RenderSystem private data.

Remarks:
This should only be used by a RenderSystem

Definition at line 407 of file OgreRenderable.h.

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

void Ogre::Renderable::setUseIdentityProjection ( bool  useIdentityProjection) [inherited]

Sets whether or not to use an 'identity' projection.

Remarks:
Usually Renderable objects will use a projection matrix as determined by the active camera. However, if they want they can cancel this out and use an identity projection, which effectively projects in 2D using a {-1, 1} view space. Useful for overlay rendering. Normal renderables need not change this. The default is false.
See also:
Renderable::getUseIdentityProjection

Definition at line 164 of file OgreRenderable.h.

void Ogre::Renderable::setUseIdentityView ( bool  useIdentityView) [inherited]

Sets whether or not to use an 'identity' view.

Remarks:
Usually Renderable objects will use a view matrix as determined by the active camera. However, if they want they can cancel this out and use an identity matrix, which means all geometry is assumed to be relative to camera space already. Useful for overlay rendering. Normal renderables need not change this. The default is false.
See also:
Renderable::getUseIdentityView

Definition at line 189 of file OgreRenderable.h.

virtual OGRE_DEPRECATED void Ogre::Renderable::setUserAny ( const Any anything) [virtual, inherited]
Deprecated:
use UserObjectBindings::setUserAny via getUserObjectBindings() instead.

Sets any kind of user value on this object.

Remarks:
This method allows you to associate any user value you like with this Renderable. This can be a pointer back to one of your own classes for instance.

Definition at line 344 of file OgreRenderable.h.

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.

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::TextAreaOverlayElement, and Ogre::PanelOverlayElement.

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::TextAreaOverlayElement, and Ogre::PanelOverlayElement.

void Ogre::OverlayElement::visitRenderables ( Renderable::Visitor visitor,
bool  debugRenderables = false 
)

Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any.

Parameters:
visitorPointer to a class implementing the Renderable::Visitor interface which will be called back for each Renderable which will be queued. Bear in mind that the state of the Renderable instances may not be finalised depending on when you call this.
debugRenderablesIf false, only regular renderables will be visited (those for normal display). If true, debug renderables will be included too.

Reimplemented in Ogre::BorderPanelOverlayElement.


Member Data Documentation

Definition at line 135 of file OgreOverlayElement.h.

Definition at line 137 of file OgreOverlayElement.h.

Definition at line 128 of file OgreOverlayElement.h.

Definition at line 136 of file OgreOverlayElement.h.

Definition at line 415 of file OgreRenderable.h.

Definition at line 157 of file OgreOverlayElement.h.

Definition at line 159 of file OgreOverlayElement.h.

Definition at line 158 of file OgreOverlayElement.h.

Is element enabled?

Definition at line 174 of file OgreOverlayElement.h.

Flag indicating if the vertex positions need recalculating.

Definition at line 162 of file OgreOverlayElement.h.

Flag indicating if the vertex uvs need recalculating.

Definition at line 164 of file OgreOverlayElement.h.

Definition at line 132 of file OgreOverlayElement.h.

Definition at line 140 of file OgreOverlayElement.h.

Is element initialised?

Definition at line 177 of file OgreOverlayElement.h.

Definition at line 129 of file OgreOverlayElement.h.

Definition at line 134 of file OgreOverlayElement.h.

Definition at line 133 of file OgreOverlayElement.h.

Definition at line 139 of file OgreOverlayElement.h.

Definition at line 126 of file OgreOverlayElement.h.

Overlay attached to.

Definition at line 154 of file OgreOverlayElement.h.

Parent pointer.

Definition at line 152 of file OgreOverlayElement.h.

Definition at line 147 of file OgreOverlayElement.h.

Definition at line 145 of file OgreOverlayElement.h.

Definition at line 148 of file OgreOverlayElement.h.

Definition at line 149 of file OgreOverlayElement.h.

Definition at line 144 of file OgreOverlayElement.h.

Definition at line 146 of file OgreOverlayElement.h.

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

Definition at line 416 of file OgreRenderable.h.

RenderSystemData* Ogre::Renderable::mRenderSystemData [mutable, protected, inherited]

User objects binding.

Definition at line 420 of file OgreRenderable.h.

Definition at line 119 of file OgreOverlayElement.h.

Definition at line 117 of file OgreOverlayElement.h.

Definition at line 121 of file OgreOverlayElement.h.

Definition at line 114 of file OgreOverlayElement.h.

Definition at line 118 of file OgreOverlayElement.h.

Definition at line 120 of file OgreOverlayElement.h.

Used to see if this element is created from a Template.

Definition at line 180 of file OgreOverlayElement.h.

Definition at line 115 of file OgreOverlayElement.h.

Definition at line 122 of file OgreOverlayElement.h.

Definition at line 123 of file OgreOverlayElement.h.

Definition at line 116 of file OgreOverlayElement.h.

Definition at line 130 of file OgreOverlayElement.h.

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

Definition at line 417 of file OgreRenderable.h.

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

Definition at line 418 of file OgreRenderable.h.

Definition at line 419 of file OgreRenderable.h.

Definition at line 141 of file OgreOverlayElement.h.

Definition at line 127 of file OgreOverlayElement.h.

Definition at line 131 of file OgreOverlayElement.h.

World transforms.

Definition at line 171 of file OgreOverlayElement.h.

Zorder for when sending to render queue.

Derived from parent

Definition at line 168 of file OgreOverlayElement.h.


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jul 27 2020 13:41:24