OGRE  1.10.12
Object-Oriented Graphics Rendering Engine
Ogre::BorderPanelOverlayElement Class Reference

A specialisation of the PanelOverlayElement to provide a panel with a border. More...

#include <OgreBorderPanelOverlayElement.h>

+ Inheritance diagram for Ogre::BorderPanelOverlayElement:

Classes

class  CmdBorderBottomLeftUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
 
class  CmdBorderBottomRightUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
 
class  CmdBorderBottomUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
 
class  CmdBorderLeftUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
 
class  CmdBorderMaterial
 Command object for specifying the Material for the border (see ParamCommand). More...
 
class  CmdBorderRightUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
 
class  CmdBorderSize
 Command object for specifying border sizes (see ParamCommand). More...
 
class  CmdBorderTopLeftUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
 
class  CmdBorderTopRightUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
 
class  CmdBorderTopUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
 

Public Types

typedef MapIterator< ChildContainerMapChildContainerIterator
 
typedef map< String, OverlayContainer * >::type ChildContainerMap
 
typedef MapIterator< ChildMapChildIterator
 
typedef map< String, OverlayElement * >::type ChildMap
 
typedef SharedPtr< RenderSystemDataRenderSystemDataPtr
 

Public Member Functions

 BorderPanelOverlayElement (const String &name)
 Constructor. More...
 
virtual ~BorderPanelOverlayElement ()
 
void _addChild (OverlayElement *elem)
 
virtual void _getClippingRegion (RealRect &clippingRegion)
 Gets the clipping region of the element. More...
 
virtual Real _getDerivedLeft (void)
 Gets the 'left' position as derived from own left and that of parents. More...
 
virtual Real _getDerivedTop (void)
 Gets the 'top' position as derived from own left and that of parents. More...
 
Real _getHeight (void) const
 Gets the height of this element in relation to the screen (where 1.0 = screen height) More...
 
Real _getLeft (void) const
 Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right) More...
 
virtual Real _getRelativeHeight (void)
 Gets the 'height' as derived from own height and metrics mode. More...
 
virtual Real _getRelativeWidth (void)
 Gets the 'width' as derived from own width and metrics mode. More...
 
Real _getTop (void) const
 Gets the top of this element in relation to the screen (where 0 = far left, 1.0 = far right) More...
 
Real _getWidth (void) const
 Gets the width of this element in relation to the screen (where 1.0 = screen width) More...
 
virtual void _notifyParent (OverlayContainer *parent, Overlay *overlay)
 Overridden from OverlayElement. More...
 
virtual void _notifyViewport ()
 Overridden from OverlayElement. More...
 
virtual void _notifyWorldTransforms (const Matrix4 &xform)
 Overridden from OverlayElement. More...
 
virtual ushort _notifyZOrder (ushort newZOrder)
 Overridden from OverlayElement. More...
 
virtual void _positionsOutOfDate (void)
 Tell the object and its children to recalculate. More...
 
virtual void _releaseManualHardwareResources ()
 Notifies that hardware resources were lost. More...
 
void _removeChild (OverlayElement *elem)
 
void _removeChild (const String &name)
 
virtual void _restoreManualHardwareResources ()
 Notifies that hardware resources should be restored. More...
 
void _setDimensions (Real width, Real height)
 Sets the width and height of this element in relation to the screen (where 1.0 = screen width) More...
 
void _setHeight (Real height)
 Sets the height of this element in relation to the screen (where 1.0 = screen width) More...
 
void _setLeft (Real left)
 Sets the left of this element in relation to the screen (where 1.0 = screen width) More...
 
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) More...
 
void _setTop (Real top)
 Sets the top of this element in relation to the screen (where 1.0 = screen width) More...
 
void _setWidth (Real width)
 Sets the width of this element in relation to the screen (where 1.0 = screen width) More...
 
void _update (void)
 Internal method to update the element based on transforms applied. More...
 
virtual void _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const
 Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows. More...
 
virtual void _updateFromParent (void)
 Updates this elements transform based on it's parent. More...
 
void _updateRenderQueue (RenderQueue *queue)
 Overridden from OverlayElement. More...
 
virtual void addChild (OverlayElement *elem)
 Adds another OverlayElement to this container. More...
 
virtual void addChildImpl (OverlayElement *elem)
 Adds another OverlayElement to this container. More...
 
virtual void addChildImpl (OverlayContainer *cont)
 Add a nested container to this container. More...
 
virtual OverlayElementclone (const String &instanceName)
 
virtual bool contains (Real x, Real y) const
 Returns true if xy is within the constraints of the component. More...
 
void copyFromTemplate (OverlayElement *templateOverlay)
 
void copyParametersTo (StringInterface *dest) const
 Method for copying this object's parameters to another object. More...
 
virtual OverlayElementfindElementAt (Real x, Real y)
 This returns a OverlayElement at position x,y. More...
 
const StringgetBorderMaterialName (void) const
 Gets the name of the material to use for the borders. More...
 
Real getBottomBorderSize (void) const
 Gets the size of the bottom border. More...
 
String getBottomBorderUVString () const
 
String getBottomLeftBorderUVString () const
 
String getBottomRightBorderUVString () const
 
virtual const DisplayStringgetCaption (void) const
 Gets the caption for this element. More...
 
virtual bool getCastsShadows (void) const
 Method which reports whether this renderable would normally cast a shadow. More...
 
virtual OverlayElementgetChild (const String &name)
 Gets the named child of this container. More...
 
virtual ChildContainerIterator getChildContainerIterator (void)
 Gets an iterator for just the container children of this object. More...
 
virtual ChildIterator getChildIterator (void)
 Gets an object for iterating over all the children of this object. More...
 
virtual const ColourValuegetColour (void) const
 Gets the colour for this element. More...
 
const Vector4getCustomParameter (size_t index) const
 Gets the custom value associated with this Renderable at the given index. More...
 
Real getHeight (void) const
 Gets the height of this element in relation to the screen (where 1.0 = screen height) More...
 
virtual GuiHorizontalAlignment getHorizontalAlignment (void) const
 Gets the horizontal alignment for this element. More...
 
Real getLeft (void) const
 Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right) More...
 
Real getLeftBorderSize (void) const
 Gets the size of the left border. More...
 
String getLeftBorderUVString () const
 
const LightListgetLights (void) const
 Gets a list of lights, ordered relative to how close they are to this renderable. More...
 
const MaterialPtrgetMaterial (void) const
 See Renderable. More...
 
virtual const StringgetMaterialName (void) const
 Gets the name of the material this element uses. More...
 
virtual GuiMetricsMode getMetricsMode (void) const
 Retrieves the current settings of how the element metrics are interpreted. More...
 
const StringgetName (void) const
 Gets the name of this overlay. More...
 
virtual unsigned short getNumWorldTransforms (void) const
 Returns the number of world transform matrices this renderable requires. More...
 
ParamDictionarygetParamDictionary (void)
 Retrieves the parameter dictionary for this class. More...
 
const ParamDictionarygetParamDictionary (void) const
 
String getParameter (const String &name) const
 Generic parameter retrieval method. More...
 
const ParameterListgetParameters (void) const
 Retrieves a list of parameters valid for this object. More...
 
OverlayContainergetParent ()
 Returns the parent container. More...
 
bool getPolygonModeOverrideable (void) const
 Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. More...
 
void getRenderOperation (RenderOperation &op)
 See Renderable. More...
 
const RenderSystemDataPtrgetRenderSystemData () const
 Gets RenderSystem private data. More...
 
Real getRightBorderSize (void) const
 Gets the size of the right border. More...
 
String getRightBorderUVString () const
 
const OverlayElementgetSourceTemplate () const
 Returns the SourceTemplate for this element. More...
 
Real getSquaredViewDepth (const Camera *cam) const
 Overridden from Renderable. More...
 
virtual TechniquegetTechnique (void) const
 Retrieves a pointer to the Material Technique this renderable object uses. More...
 
Real getTileX (ushort layer=0) const
 
Real getTileY (ushort layer=0) const
 Gets the number of times the texture should repeat vertically. More...
 
Real getTop (void) const
 Gets the top of this element in relation to the screen (where 0 = top, 1.0 = bottom) More...
 
Real getTopBorderSize (void) const
 Gets the size of the top border. More...
 
String getTopBorderUVString () const
 
String getTopLeftBorderUVString () const
 
String getTopRightBorderUVString () const
 
const StringgetTypeName (void) const
 See OverlayElement. More...
 
bool getUseIdentityProjection (void) const
 Returns whether or not to use an 'identity' projection. More...
 
bool getUseIdentityView (void) const
 Returns whether or not to use an 'identity' view. More...
 
const AnygetUserAny (void) const
 
UserObjectBindingsgetUserObjectBindings ()
 Return an instance of user objects binding associated with this class. More...
 
const UserObjectBindingsgetUserObjectBindings () const
 Return an instance of user objects binding associated with this class. More...
 
void getUV (Real &u1, Real &v1, Real &u2, Real &v2) const
 Get the uv coordinates for the panel. More...
 
virtual GuiVerticalAlignment getVerticalAlignment (void) const
 Gets the vertical alignment for this element. More...
 
Real getWidth (void) const
 Gets the width of this element in relation to the screen (where 1.0 = screen width) More...
 
void getWorldTransforms (Matrix4 *xform) const
 See Renderable. More...
 
ushort getZOrder () const
 Returns the zOrder of the element. More...
 
bool hasCustomParameter (size_t index) const
 Checks whether a custom value is associated with this Renderable at the given index. More...
 
virtual void hide (void)
 Hides this element if it was visible. More...
 
virtual void initialise (void)
 Initialise. More...
 
virtual bool isChildrenProcessEvents () const
 Should this container pass events to their children. More...
 
virtual bool isCloneable () const
 
bool isContainer () const
 Overridden from OverlayElement. More...
 
bool isEnabled () const
 
virtual bool isKeyEnabled () const
 
bool isTransparent (void) const
 Returns whether this panel is transparent. More...
 
bool isVisible (void) const
 Returns whether or not the element is visible. More...
 
virtual void postRender (SceneManager *sm, RenderSystem *rsys)
 Called immediately after the Renderable has been rendered. More...
 
virtual bool preRender (SceneManager *sm, RenderSystem *rsys)
 Called just prior to the Renderable being rendered. More...
 
virtual void removeChild (const String &name)
 Removes a named element from this container. More...
 
void removeCustomParameter (size_t index)
 Removes a custom value which is associated with this Renderable at the given index. More...
 
void setBorderMaterialName (const String &name)
 Sets the name of the material to use for the borders. More...
 
void setBorderSize (Real size)
 Sets the size of the border. More...
 
void setBorderSize (Real sides, Real topAndBottom)
 Sets the size of the border, with different sizes for vertical and horizontal borders. More...
 
void setBorderSize (Real left, Real right, Real top, Real bottom)
 Sets the size of the border separately for all borders. More...
 
void setBottomBorderUV (Real u1, Real v1, Real u2, Real v2)
 Sets the texture coordinates for the bottom edge of the border. More...
 
void setBottomLeftBorderUV (Real u1, Real v1, Real u2, Real v2)
 Sets the texture coordinates for the bottom-left corner of the border. More...
 
void setBottomRightBorderUV (Real u1, Real v1, Real u2, Real v2)
 Sets the texture coordinates for the bottom-right corner of the border. More...
 
virtual void setCaption (const DisplayString &text)
 Sets the caption on elements that support it. More...
 
virtual void setChildrenProcessEvents (bool val)
 Should this container pass events to their children. More...
 
virtual void setCloneable (bool c)
 
virtual void setColour (const ColourValue &col)
 Sets the colour on elements that support it. More...
 
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. More...
 
void setDimensions (Real width, Real height)
 Sets the dimensions of this element in relation to the screen (1.0 = screen width/height). More...
 
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) More...
 
virtual void setHorizontalAlignment (GuiHorizontalAlignment gha)
 Sets the horizontal origin for this element. More...
 
void setLeft (Real left)
 Sets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right) More...
 
void setLeftBorderUV (Real u1, Real v1, Real u2, Real v2)
 Sets the texture coordinates for the left edge of the border. More...
 
void setMaterial (const MaterialPtr &mat)
 Sets the the material this element will use. More...
 
void setMaterialName (const String &matName)
 
void setMetricsMode (GuiMetricsMode gmm)
 Tells this element how to interpret the position and dimension values it is given. More...
 
bool setParameter (const String &name, const String &value)
 Generic parameter setting method. More...
 
void setParameterList (const NameValuePairList &paramList)
 Generic multiple parameter setting method. More...
 
void setPolygonModeOverrideable (bool override)
 Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. More...
 
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) More...
 
void setRenderSystemData (RenderSystemDataPtr val) const
 Sets RenderSystem private data. More...
 
void setRightBorderUV (Real u1, Real v1, Real u2, Real v2)
 Sets the texture coordinates for the right edge of the border. More...
 
void setTiling (Real x, Real y, ushort layer=0)
 Sets the number of times textures should repeat. More...
 
void setTop (Real Top)
 Sets the top of this element in relation to the screen (where 0 = top, 1.0 = bottom) More...
 
void setTopBorderUV (Real u1, Real v1, Real u2, Real v2)
 Sets the texture coordinates for the top edge of the border. More...
 
void setTopLeftBorderUV (Real u1, Real v1, Real u2, Real v2)
 Sets the texture coordinates for the top-left corner of the border. More...
 
void setTopRightBorderUV (Real u1, Real v1, Real u2, Real v2)
 Sets the texture coordinates for the top-right corner of the border. More...
 
void setTransparent (bool isTransparent)
 Sets whether this panel is transparent (used only as a grouping level), or if it is actually rendered. More...
 
void setUseIdentityProjection (bool useIdentityProjection)
 Sets whether or not to use an 'identity' projection. More...
 
void setUseIdentityView (bool useIdentityView)
 Sets whether or not to use an 'identity' view. More...
 
void setUserAny (const Any &anything)
 
void setUV (Real u1, Real v1, Real u2, Real v2)
 Sets the texture coordinates for the panel. More...
 
virtual void setVerticalAlignment (GuiVerticalAlignment gva)
 Sets the vertical origin for this element. More...
 
void setWidth (Real width)
 Sets the width of this element in relation to the screen (where 1.0 = screen width) More...
 
virtual void show (void)
 Shows this element if it was hidden. More...
 
void 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. More...
 

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

Friends

class BorderRenderable
 

Detailed Description

A specialisation of the PanelOverlayElement to provide a panel with a border.

Remarks
Whilst the standard panel can use a single tiled material, this class allows panels with a tileable backdrop plus a border texture. This is handy for large panels that are too big to use a single large texture with a border, or for multiple different size panels where you want the border a constant width but the center to repeat.
In addition to the usual PanelOverlayElement properties, this class has a 'border material', which specifies the material used for the edges of the panel, a border width (which can either be constant all the way around, or specified per edge), and the texture coordinates for each of the border sections.

Member Typedef Documentation

◆ ChildMap

◆ ChildIterator

◆ ChildContainerMap

◆ ChildContainerIterator

◆ RenderSystemDataPtr

Constructor & Destructor Documentation

◆ BorderPanelOverlayElement()

Ogre::BorderPanelOverlayElement::BorderPanelOverlayElement ( const String name)

Constructor.

◆ ~BorderPanelOverlayElement()

virtual Ogre::BorderPanelOverlayElement::~BorderPanelOverlayElement ( )
virtual

Member Function Documentation

◆ initialise()

virtual void Ogre::BorderPanelOverlayElement::initialise ( void  )
virtual

Initialise.

Reimplemented from Ogre::PanelOverlayElement.

◆ _releaseManualHardwareResources()

virtual void Ogre::BorderPanelOverlayElement::_releaseManualHardwareResources ( )
virtual

Notifies that hardware resources were lost.

Reimplemented from Ogre::PanelOverlayElement.

◆ _restoreManualHardwareResources()

virtual void Ogre::BorderPanelOverlayElement::_restoreManualHardwareResources ( )
virtual

Notifies that hardware resources should be restored.

Reimplemented from Ogre::PanelOverlayElement.

◆ getTypeName()

const String& Ogre::BorderPanelOverlayElement::getTypeName ( void  ) const
virtual

See OverlayElement.

Reimplemented from Ogre::PanelOverlayElement.

◆ setBorderSize() [1/3]

void Ogre::BorderPanelOverlayElement::setBorderSize ( Real  size)

Sets the size of the border.

Remarks
This method sets a constant size for all borders. There are also alternative methods which allow you to set border widths for individual edges separately. Remember that the dimensions specified here are in relation to the size of the screen, so 0.1 is 1/10th of the screen width or height. Also note that because most screen resolutions are 1.333:1 width:height ratio that using the same border size will look slightly bigger across than up.
Parameters
sizeThe size of the border as a factor of the screen dimensions ie 0.2 is one-fifth of the screen size.

◆ setBorderSize() [2/3]

void Ogre::BorderPanelOverlayElement::setBorderSize ( Real  sides,
Real  topAndBottom 
)

Sets the size of the border, with different sizes for vertical and horizontal borders.

Remarks
This method sets a size for the side and top / bottom borders separately. Remember that the dimensions specified here are in relation to the size of the screen, so 0.1 is 1/10th of the screen width or height. Also note that because most screen resolutions are 1.333:1 width:height ratio that using the same border size will look slightly bigger across than up.
Parameters
sidesThe size of the side borders as a factor of the screen dimensions ie 0.2 is one-fifth of the screen size.
topAndBottomThe size of the top and bottom borders as a factor of the screen dimensions.

◆ setBorderSize() [3/3]

void Ogre::BorderPanelOverlayElement::setBorderSize ( Real  left,
Real  right,
Real  top,
Real  bottom 
)

Sets the size of the border separately for all borders.

Remarks
This method sets a size all borders separately. Remember that the dimensions specified here are in relation to the size of the screen, so 0.1 is 1/10th of the screen width or height. Also note that because most screen resolutions are 1.333:1 width:height ratio that using the same border size will look slightly bigger across than up.
Parameters
leftThe size of the left border as a factor of the screen dimensions ie 0.2 is one-fifth of the screen size.
rightThe size of the left border as a factor of the screen dimensions.
topThe size of the top border as a factor of the screen dimensions.
bottomThe size of the bottom border as a factor of the screen dimensions.

◆ getLeftBorderSize()

Real Ogre::BorderPanelOverlayElement::getLeftBorderSize ( void  ) const

Gets the size of the left border.

◆ getRightBorderSize()

Real Ogre::BorderPanelOverlayElement::getRightBorderSize ( void  ) const

Gets the size of the right border.

◆ getTopBorderSize()

Real Ogre::BorderPanelOverlayElement::getTopBorderSize ( void  ) const

Gets the size of the top border.

◆ getBottomBorderSize()

Real Ogre::BorderPanelOverlayElement::getBottomBorderSize ( void  ) const

Gets the size of the bottom border.

◆ setLeftBorderUV()

void Ogre::BorderPanelOverlayElement::setLeftBorderUV ( Real  u1,
Real  v1,
Real  u2,
Real  v2 
)

Sets the texture coordinates for the left edge of the border.

Remarks
The border panel uses 8 panels for the border (9 including the center). Imagine a table with 3 rows and 3 columns. The corners are always the same size, but the edges stretch depending on how big the panel is. Those who have done resizable HTML tables will be familiar with this approach.
We only require 2 sets of uv coordinates, one for the top-left and one for the bottom-right of the panel, since it is assumed the sections are aligned on the texture.

◆ setRightBorderUV()

void Ogre::BorderPanelOverlayElement::setRightBorderUV ( Real  u1,
Real  v1,
Real  u2,
Real  v2 
)

Sets the texture coordinates for the right edge of the border.

Remarks
See setLeftBorderUV.

◆ setTopBorderUV()

void Ogre::BorderPanelOverlayElement::setTopBorderUV ( Real  u1,
Real  v1,
Real  u2,
Real  v2 
)

Sets the texture coordinates for the top edge of the border.

Remarks
See setLeftBorderUV.

◆ setBottomBorderUV()

void Ogre::BorderPanelOverlayElement::setBottomBorderUV ( Real  u1,
Real  v1,
Real  u2,
Real  v2 
)

Sets the texture coordinates for the bottom edge of the border.

Remarks
See setLeftBorderUV.

◆ setTopLeftBorderUV()

void Ogre::BorderPanelOverlayElement::setTopLeftBorderUV ( Real  u1,
Real  v1,
Real  u2,
Real  v2 
)

Sets the texture coordinates for the top-left corner of the border.

Remarks
See setLeftBorderUV.

◆ setTopRightBorderUV()

void Ogre::BorderPanelOverlayElement::setTopRightBorderUV ( Real  u1,
Real  v1,
Real  u2,
Real  v2 
)

Sets the texture coordinates for the top-right corner of the border.

Remarks
See setLeftBorderUV.

◆ setBottomLeftBorderUV()

void Ogre::BorderPanelOverlayElement::setBottomLeftBorderUV ( Real  u1,
Real  v1,
Real  u2,
Real  v2 
)

Sets the texture coordinates for the bottom-left corner of the border.

Remarks
See setLeftBorderUV.

◆ setBottomRightBorderUV()

void Ogre::BorderPanelOverlayElement::setBottomRightBorderUV ( Real  u1,
Real  v1,
Real  u2,
Real  v2 
)

Sets the texture coordinates for the bottom-right corner of the border.

Remarks
See setLeftBorderUV.

◆ getLeftBorderUVString()

String Ogre::BorderPanelOverlayElement::getLeftBorderUVString ( ) const

◆ getRightBorderUVString()

String Ogre::BorderPanelOverlayElement::getRightBorderUVString ( ) const

◆ getTopBorderUVString()

String Ogre::BorderPanelOverlayElement::getTopBorderUVString ( ) const

◆ getBottomBorderUVString()

String Ogre::BorderPanelOverlayElement::getBottomBorderUVString ( ) const

◆ getTopLeftBorderUVString()

String Ogre::BorderPanelOverlayElement::getTopLeftBorderUVString ( ) const

◆ getTopRightBorderUVString()

String Ogre::BorderPanelOverlayElement::getTopRightBorderUVString ( ) const

◆ getBottomLeftBorderUVString()

String Ogre::BorderPanelOverlayElement::getBottomLeftBorderUVString ( ) const

◆ getBottomRightBorderUVString()

String Ogre::BorderPanelOverlayElement::getBottomRightBorderUVString ( ) const

◆ setBorderMaterialName()

void Ogre::BorderPanelOverlayElement::setBorderMaterialName ( const String name)

Sets the name of the material to use for the borders.

◆ getBorderMaterialName()

const String& Ogre::BorderPanelOverlayElement::getBorderMaterialName ( void  ) const

Gets the name of the material to use for the borders.

◆ _updateRenderQueue()

void Ogre::BorderPanelOverlayElement::_updateRenderQueue ( RenderQueue queue)
virtual

Overridden from OverlayElement.

Reimplemented from Ogre::OverlayContainer.

◆ visitRenderables()

void Ogre::BorderPanelOverlayElement::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.

◆ setMetricsMode()

void Ogre::BorderPanelOverlayElement::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 from Ogre::OverlayElement.

◆ _update()

void Ogre::BorderPanelOverlayElement::_update ( void  )
virtual

Internal method to update the element based on transforms applied.

Reimplemented from Ogre::OverlayContainer.

◆ setTiling()

void Ogre::PanelOverlayElement::setTiling ( Real  x,
Real  y,
ushort  layer = 0 
)
inherited

Sets the number of times textures should repeat.

Parameters
xThe number of times the texture should repeat horizontally
yThe number of times the texture should repeat vertically
layerThe texture layer to specify (only needs to be altered if you're using a multi-texture layer material)

◆ getTileX()

Real Ogre::PanelOverlayElement::getTileX ( ushort  layer = 0) const
inherited

◆ getTileY()

Real Ogre::PanelOverlayElement::getTileY ( ushort  layer = 0) const
inherited

Gets the number of times the texture should repeat vertically.

Parameters
layerThe texture layer to specify (only needs to be altered if you're using a multi-texture layer material)

◆ setUV()

void Ogre::PanelOverlayElement::setUV ( Real  u1,
Real  v1,
Real  u2,
Real  v2 
)
inherited

Sets the texture coordinates for the panel.

◆ getUV()

void Ogre::PanelOverlayElement::getUV ( Real u1,
Real v1,
Real u2,
Real v2 
) const
inherited

Get the uv coordinates for the panel.

◆ setTransparent()

void Ogre::PanelOverlayElement::setTransparent ( bool  isTransparent)
inherited

Sets whether this panel is transparent (used only as a grouping level), or if it is actually rendered.

◆ isTransparent()

bool Ogre::PanelOverlayElement::isTransparent ( void  ) const
inherited

Returns whether this panel is transparent.

◆ getRenderOperation()

void Ogre::PanelOverlayElement::getRenderOperation ( RenderOperation op)
virtualinherited

See Renderable.

Implements Ogre::Renderable.

◆ addChild()

virtual void Ogre::OverlayContainer::addChild ( OverlayElement elem)
virtualinherited

Adds another OverlayElement to this container.

◆ addChildImpl() [1/2]

virtual void Ogre::OverlayContainer::addChildImpl ( OverlayElement elem)
virtualinherited

Adds another OverlayElement to this container.

◆ addChildImpl() [2/2]

virtual void Ogre::OverlayContainer::addChildImpl ( OverlayContainer cont)
virtualinherited

Add a nested container to this container.

◆ removeChild()

virtual void Ogre::OverlayContainer::removeChild ( const String name)
virtualinherited

Removes a named element from this container.

◆ getChild()

virtual OverlayElement* Ogre::OverlayContainer::getChild ( const String name)
virtualinherited

Gets the named child of this container.

◆ _addChild()

void Ogre::OverlayContainer::_addChild ( OverlayElement elem)
inherited

◆ _removeChild() [1/2]

void Ogre::OverlayContainer::_removeChild ( OverlayElement elem)
inlineinherited

◆ _removeChild() [2/2]

void Ogre::OverlayContainer::_removeChild ( const String name)
inherited

◆ getChildIterator()

virtual ChildIterator Ogre::OverlayContainer::getChildIterator ( void  )
virtualinherited

Gets an object for iterating over all the children of this object.

◆ getChildContainerIterator()

virtual ChildContainerIterator Ogre::OverlayContainer::getChildContainerIterator ( void  )
virtualinherited

Gets an iterator for just the container children of this object.

Remarks
Good for cascading updates without having to use RTTI

◆ _positionsOutOfDate()

virtual void Ogre::OverlayContainer::_positionsOutOfDate ( void  )
virtualinherited

Tell the object and its children to recalculate.

Reimplemented from Ogre::OverlayElement.

◆ _notifyZOrder()

virtual ushort Ogre::OverlayContainer::_notifyZOrder ( ushort  newZOrder)
virtualinherited

Overridden from OverlayElement.

Reimplemented from Ogre::OverlayElement.

◆ _notifyViewport()

virtual void Ogre::OverlayContainer::_notifyViewport ( )
virtualinherited

Overridden from OverlayElement.

Reimplemented from Ogre::OverlayElement.

◆ _notifyWorldTransforms()

virtual void Ogre::OverlayContainer::_notifyWorldTransforms ( const Matrix4 xform)
virtualinherited

Overridden from OverlayElement.

Reimplemented from Ogre::OverlayElement.

◆ _notifyParent()

virtual void Ogre::OverlayContainer::_notifyParent ( OverlayContainer parent,
Overlay overlay 
)
virtualinherited

Overridden from OverlayElement.

Reimplemented from Ogre::OverlayElement.

◆ isContainer()

bool Ogre::OverlayContainer::isContainer ( ) const
inlinevirtualinherited

Overridden from OverlayElement.

Reimplemented from Ogre::OverlayElement.

◆ isChildrenProcessEvents()

virtual bool Ogre::OverlayContainer::isChildrenProcessEvents ( ) const
inlinevirtualinherited

Should this container pass events to their children.

◆ setChildrenProcessEvents()

virtual void Ogre::OverlayContainer::setChildrenProcessEvents ( bool  val)
inlinevirtualinherited

Should this container pass events to their children.

◆ findElementAt()

virtual OverlayElement* Ogre::OverlayContainer::findElementAt ( Real  x,
Real  y 
)
virtualinherited

This returns a OverlayElement at position x,y.

Reimplemented from Ogre::OverlayElement.

◆ copyFromTemplate()

void Ogre::OverlayContainer::copyFromTemplate ( OverlayElement templateOverlay)
virtualinherited

Reimplemented from Ogre::OverlayElement.

◆ clone()

virtual OverlayElement* Ogre::OverlayContainer::clone ( const String instanceName)
virtualinherited

Reimplemented from Ogre::OverlayElement.

◆ getName()

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

Gets the name of this overlay.

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

◆ show()

virtual void Ogre::OverlayElement::show ( void  )
virtualinherited

Shows this element if it was hidden.

◆ hide()

virtual void Ogre::OverlayElement::hide ( void  )
virtualinherited

Hides this element if it was visible.

◆ isVisible()

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

Returns whether or not the element is visible.

◆ isEnabled()

bool Ogre::OverlayElement::isEnabled ( ) const
inherited

◆ setEnabled()

virtual void Ogre::OverlayElement::setEnabled ( bool  b)
virtualinherited

◆ setDimensions()

void Ogre::OverlayElement::setDimensions ( Real  width,
Real  height 
)
inherited

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

◆ setPosition()

void Ogre::OverlayElement::setPosition ( Real  left,
Real  top 
)
inherited

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

◆ setWidth()

void Ogre::OverlayElement::setWidth ( Real  width)
inherited

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

◆ getWidth()

Real Ogre::OverlayElement::getWidth ( void  ) const
inherited

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

◆ setHeight()

void Ogre::OverlayElement::setHeight ( Real  height)
inherited

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

◆ getHeight()

Real Ogre::OverlayElement::getHeight ( void  ) const
inherited

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

◆ setLeft()

void Ogre::OverlayElement::setLeft ( Real  left)
inherited

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

◆ getLeft()

Real Ogre::OverlayElement::getLeft ( void  ) const
inherited

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

◆ setTop()

void Ogre::OverlayElement::setTop ( Real  Top)
inherited

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

◆ getTop()

Real Ogre::OverlayElement::getTop ( void  ) const
inherited

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

◆ _getLeft()

Real Ogre::OverlayElement::_getLeft ( void  ) const
inlineinherited

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

◆ _getTop()

Real Ogre::OverlayElement::_getTop ( void  ) const
inlineinherited

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

◆ _getWidth()

Real Ogre::OverlayElement::_getWidth ( void  ) const
inlineinherited

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

◆ _getHeight()

Real Ogre::OverlayElement::_getHeight ( void  ) const
inlineinherited

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

◆ _setLeft()

void Ogre::OverlayElement::_setLeft ( Real  left)
inherited

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

◆ _setTop()

void Ogre::OverlayElement::_setTop ( Real  top)
inherited

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

◆ _setWidth()

void Ogre::OverlayElement::_setWidth ( Real  width)
inherited

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

◆ _setHeight()

void Ogre::OverlayElement::_setHeight ( Real  height)
inherited

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

◆ _setPosition()

void Ogre::OverlayElement::_setPosition ( Real  left,
Real  top 
)
inherited

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

◆ _setDimensions()

void Ogre::OverlayElement::_setDimensions ( Real  width,
Real  height 
)
inherited

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

◆ getMaterialName()

virtual const String& Ogre::OverlayElement::getMaterialName ( void  ) const
virtualinherited

Gets the name of the material this element uses.

◆ setMaterial()

void Ogre::OverlayElement::setMaterial ( const MaterialPtr mat)
inherited

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

◆ setMaterialName()

void Ogre::OverlayElement::setMaterialName ( const String matName)
inherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ getMaterial()

const MaterialPtr& Ogre::OverlayElement::getMaterial ( void  ) const
virtualinherited

See Renderable.

Implements Ogre::Renderable.

Reimplemented in Ogre::TextAreaOverlayElement.

◆ getWorldTransforms()

void Ogre::OverlayElement::getWorldTransforms ( Matrix4 xform) const
virtualinherited

◆ _updateFromParent()

virtual void Ogre::OverlayElement::_updateFromParent ( void  )
virtualinherited

Updates this elements transform based on it's parent.

◆ _getDerivedLeft()

virtual Real Ogre::OverlayElement::_getDerivedLeft ( void  )
virtualinherited

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

◆ _getDerivedTop()

virtual Real Ogre::OverlayElement::_getDerivedTop ( void  )
virtualinherited

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

◆ _getRelativeWidth()

virtual Real Ogre::OverlayElement::_getRelativeWidth ( void  )
virtualinherited

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

◆ _getRelativeHeight()

virtual Real Ogre::OverlayElement::_getRelativeHeight ( void  )
virtualinherited

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

◆ _getClippingRegion()

virtual void Ogre::OverlayElement::_getClippingRegion ( RealRect clippingRegion)
virtualinherited

Gets the clipping region of the element.

◆ setCaption()

virtual void Ogre::OverlayElement::setCaption ( const DisplayString text)
virtualinherited

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.

◆ getCaption()

virtual const DisplayString& Ogre::OverlayElement::getCaption ( void  ) const
virtualinherited

Gets the caption for this element.

◆ setColour()

virtual void Ogre::OverlayElement::setColour ( const ColourValue col)
virtualinherited

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.

◆ getColour()

virtual const ColourValue& Ogre::OverlayElement::getColour ( void  ) const
virtualinherited

Gets the colour for this element.

Reimplemented in Ogre::TextAreaOverlayElement.

◆ getMetricsMode()

virtual GuiMetricsMode Ogre::OverlayElement::getMetricsMode ( void  ) const
virtualinherited

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

◆ setHorizontalAlignment()

virtual void Ogre::OverlayElement::setHorizontalAlignment ( GuiHorizontalAlignment  gha)
virtualinherited

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.

◆ getHorizontalAlignment()

virtual GuiHorizontalAlignment Ogre::OverlayElement::getHorizontalAlignment ( void  ) const
virtualinherited

Gets the horizontal alignment for this element.

◆ setVerticalAlignment()

virtual void Ogre::OverlayElement::setVerticalAlignment ( GuiVerticalAlignment  gva)
virtualinherited

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.

◆ getVerticalAlignment()

virtual GuiVerticalAlignment Ogre::OverlayElement::getVerticalAlignment ( void  ) const
virtualinherited

Gets the vertical alignment for this element.

◆ contains()

virtual bool Ogre::OverlayElement::contains ( Real  x,
Real  y 
) const
virtualinherited

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

◆ isKeyEnabled()

virtual bool Ogre::OverlayElement::isKeyEnabled ( ) const
inlinevirtualinherited

◆ isCloneable()

virtual bool Ogre::OverlayElement::isCloneable ( ) const
inlinevirtualinherited

◆ setCloneable()

virtual void Ogre::OverlayElement::setCloneable ( bool  c)
inlinevirtualinherited

◆ getParent()

OverlayContainer* Ogre::OverlayElement::getParent ( )
inherited

Returns the parent container.

◆ _setParent()

void Ogre::OverlayElement::_setParent ( OverlayContainer parent)
inlineinherited

◆ getZOrder()

ushort Ogre::OverlayElement::getZOrder ( ) const
inlineinherited

Returns the zOrder of the element.

◆ getSquaredViewDepth()

Real Ogre::OverlayElement::getSquaredViewDepth ( const Camera cam) const
inlinevirtualinherited

Overridden from Renderable.

Implements Ogre::Renderable.

Referenced by Ogre::BorderRenderable::getSquaredViewDepth().

◆ getLights()

const LightList& Ogre::OverlayElement::getLights ( void  ) const
inlinevirtualinherited

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.

◆ getSourceTemplate()

const OverlayElement* Ogre::OverlayElement::getSourceTemplate ( ) const
inlineinherited

Returns the SourceTemplate for this element.

◆ getParamDictionary() [1/2]

ParamDictionary* Ogre::StringInterface::getParamDictionary ( void  )
inlineinherited

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.

◆ getParamDictionary() [2/2]

const ParamDictionary* Ogre::StringInterface::getParamDictionary ( void  ) const
inlineinherited

◆ getParameters()

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.

◆ setParameter()

bool Ogre::StringInterface::setParameter ( const String name,
const String value 
)
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().

◆ setParameterList()

void Ogre::StringInterface::setParameterList ( const NameValuePairList paramList)
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

◆ getParameter()

String Ogre::StringInterface::getParameter ( const String name) const
inlineinherited

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

References Ogre::ParamCommand::doGet().

◆ copyParametersTo()

void Ogre::StringInterface::copyParametersTo ( StringInterface dest) const
inlineinherited

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.

References Ogre::StringInterface::setParameter().

◆ cleanupDictionary()

static void Ogre::StringInterface::cleanupDictionary ( )
staticinherited

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.

◆ getTechnique()

virtual Technique* Ogre::Renderable::getTechnique ( void  ) const
inlinevirtualinherited

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

◆ preRender()

virtual bool Ogre::Renderable::preRender ( SceneManager sm,
RenderSystem rsys 
)
inlinevirtualinherited

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.

◆ postRender()

virtual void Ogre::Renderable::postRender ( SceneManager sm,
RenderSystem rsys 
)
inlinevirtualinherited

Called immediately after the Renderable has been rendered.

◆ getNumWorldTransforms()

virtual unsigned short Ogre::Renderable::getNumWorldTransforms ( void  ) const
inlinevirtualinherited

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.

◆ setUseIdentityProjection()

void Ogre::Renderable::setUseIdentityProjection ( bool  useIdentityProjection)
inlineinherited

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

◆ getUseIdentityProjection()

bool Ogre::Renderable::getUseIdentityProjection ( void  ) const
inlineinherited

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

◆ setUseIdentityView()

void Ogre::Renderable::setUseIdentityView ( bool  useIdentityView)
inlineinherited

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

◆ getUseIdentityView()

bool Ogre::Renderable::getUseIdentityView ( void  ) const
inlineinherited

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

◆ getCastsShadows()

virtual bool Ogre::Renderable::getCastsShadows ( void  ) const
inlinevirtualinherited

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

◆ setCustomParameter()

void Ogre::Renderable::setCustomParameter ( size_t  index,
const Vector4 value 
)
inlineinherited

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.

◆ removeCustomParameter()

void Ogre::Renderable::removeCustomParameter ( size_t  index)
inlineinherited

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.

◆ hasCustomParameter()

bool Ogre::Renderable::hasCustomParameter ( size_t  index) const
inlineinherited

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.

◆ getCustomParameter()

const Vector4& Ogre::Renderable::getCustomParameter ( size_t  index) const
inlineinherited

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.

References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.

◆ _updateCustomGpuParameter()

virtual void Ogre::Renderable::_updateCustomGpuParameter ( const GpuProgramParameters::AutoConstantEntry constantEntry,
GpuProgramParameters params 
) const
inlinevirtualinherited

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.

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

◆ setPolygonModeOverrideable()

void Ogre::Renderable::setPolygonModeOverrideable ( bool  override)
inlineinherited

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.

◆ getPolygonModeOverrideable()

bool Ogre::Renderable::getPolygonModeOverrideable ( void  ) const
inlineinherited

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

Referenced by Ogre::BorderRenderable::getPolygonModeOverrideable().

◆ setUserAny()

void Ogre::Renderable::setUserAny ( const Any anything)
inlineinherited
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.

Referenced by Ogre::InstanceBatch::getRenderOperation().

◆ getUserAny()

const Any& Ogre::Renderable::getUserAny ( void  ) const
inlineinherited
Deprecated:
use UserObjectBindings::getUserAny via getUserObjectBindings() instead.

Retrieves the custom user value associated with this object.

Referenced by Ogre::InstanceBatch::getRenderOperation().

◆ getUserObjectBindings() [1/2]

UserObjectBindings& Ogre::Renderable::getUserObjectBindings ( )
inlineinherited

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.

◆ getUserObjectBindings() [2/2]

const UserObjectBindings& Ogre::Renderable::getUserObjectBindings ( ) const
inlineinherited

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.

◆ getRenderSystemData()

const RenderSystemDataPtr& Ogre::Renderable::getRenderSystemData ( ) const
inlineinherited

Gets RenderSystem private data.

Remarks
This should only be used by a RenderSystem

◆ setRenderSystemData()

void Ogre::Renderable::setRenderSystemData ( RenderSystemDataPtr  val) const
inlineinherited

Sets RenderSystem private data.

Remarks
This should only be used by a RenderSystem

Friends And Related Function Documentation

◆ BorderRenderable

friend class BorderRenderable
friend

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