OGRE-Next: Ogre::v1::Overlay Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Ogre::v1::Overlay Class Reference
Core » Overlays

Represents a layer which is rendered on top of the 'normal' scene contents. More...

`#include <OgreOverlay.h>`

Inheritance diagram for Ogre::v1::Overlay:
[legend]

## Public Types
typedef VectorIterator< OverlayContainerList > | Overlay2DElementsIterator
| Returns an iterator over all 2D elements in this manager.
typedef list< OverlayContainer * >::type | OverlayContainerList
Public Types inherited from Ogre::MovableObject
typedef FastArray< MovableObject * > | MovableObjectArray

## Public Member Functions
| Overlay (const String &name, IdType id, ObjectMemoryManager *objectMemoryManager, uint8 renderQueueId)
| Constructor: do not call direct, use OverlayManager::create.
| ~Overlay () override
void | _getWorldTransforms (Matrix4 *xform) const
| Used to transform the overlay when scrolling, scaling etc.
void | _notifyOrigin (const String &origin)
| Notify this overlay of it's origin.
virtual void | _updateRenderQueue (RenderQueue *queue, Camera *camera, const Camera *lodCamera, Viewport *vp)
| Internal method to put the overlay contents onto the render queue.
void | add2D (OverlayContainer *cont)
| Adds a 2D 'container' to the overlay.
void | clear ()
| Clears the overlay of all attached items.
virtual OverlayElement * | findElementAt (Real x, Real y)
| This returns a OverlayElement at position x,y.
Overlay2DElementsIterator | get2DElementsIterator ()
OverlayContainer * | getChild (const String &name)
const String & | getMovableType () const override
| Returns the type name of this object.
const String & | getOrigin () const
| Get the origin of this overlay, e.g.
const Radian & | getRotate () const
| Gets the rotation applied to this overlay, in degrees.
Real | getScaleX () const
| Gets the current X scale value.
Real | getScaleY () const
| Gets the current Y scale value.
Real | getScrollX () const
| Gets the current X scroll value.
Real | getScrollY () const
| Gets the current Y scroll value.
uint16 | getZOrder () const
| Gets the Z-order of this overlay.
void | hide ()
| Hides the overlay if it was visible.
bool | isInitialised () const
| Gets whether the overlay is initialised or not.
void | remove2D (OverlayContainer *cont)
| Removes a 2D container from the overlay.
void | rotate (const Radian &angle)
| Adds the passed in angle to the rotation applied to this overlay.
void | scroll (Real xoff, Real yoff)
| Scrolls the overlay by the offsets provided.
void | setRotate (const Radian &angle)
| Sets the rotation applied to this overlay.
void | setScale (Real x, Real y)
| Sets the scaling factor of this overlay.
void | setScroll (Real x, Real y)
| Sets the scrolling factor of this overlay.
void | setZOrder (uint16 zorder)
| Alters the Z-order of this overlay.
void | show ()
| Shows the overlay if it was hidden.
Public Member Functions inherited from Ogre::MovableObject
| MovableObject (IdType id, ObjectMemoryManager *objectMemoryManager, SceneManager *manager, uint8 renderQueueId)
| Constructor.
| MovableObject (ObjectData *objectDataPtrs)
| Don't use this constructor unless you know what you're doing.
virtual | ~MovableObject ()
| Virtual destructor - read Scott Meyers if you don't know why this is needed.
LightList * | _getLightList ()
| Returns a pointer to the current list of lights for this object.
SceneManager * | _getManager () const
| Get the manager of this object, if any (internal use only)
ObjectData & | _getObjectData ()
| Returns a direct access to the ObjectData state.
const Matrix4 & | _getParentNodeFullTransform () const
| Returns the full transformation of the parent sceneNode or the attachingPoint node.
virtual void | _notifyAttached (Node *parent)
| Internal method called to notify the object that it has been attached to a node.
void | _notifyManager (SceneManager *man)
| Notify the object of it's manager (internal use only)
virtual void | _notifyParentNodeMemoryChanged ()
virtual void | _notifyStaticDirty () const
| Called by SceneManager when it is telling we're a static MovableObject being dirty Don't call this directly.
virtual void | _releaseManualHardwareResources ()
| Notifies the movable object that hardware resources were lost.
virtual void | _restoreManualHardwareResources ()
| Notifies the movable object that hardware resources should be restored.
void | addQueryFlags (uint32 flags)
| As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
void | addVisibilityFlags (uint32 flags)
| As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object.
void | detachFromParent ()
| Detaches an object from a parent SceneNode if attached.
RealAsUint | getCachedDistanceToCamera () const
| Returns the distance to camera as calculated in cullFrustum()
Real | getCachedDistanceToCameraAsReal () const
| Returns the distance to camera as calculated in cullFrustum()
bool | getCastShadows () const
| Returns whether shadow casting is enabled for this object.
unsigned char | getCurrentMeshLod () const
uint32 | getLightMask () const
| Get a bitwise mask which will filter the lights affecting this object.
Listener * | getListener () const
| Gets the current listener for this object.
Aabb | getLocalAabb () const
| Retrieves the local axis-aligned bounding box for this object.
float | getLocalRadius () const
| See getLocalAabb and getWorldRadius.
const String & | getName () const
| Returns the name of this object.
Node * | getParentNode () const
| Returns the node to which this object is attached.
SceneNode * | getParentSceneNode () const
uint32 | getQueryFlags () const
| Returns the query flags relevant for this object.
Real | getRenderingDistance () const
| Gets the distance at which batches are no longer rendered.
Real | getRenderingMinPixelSize () const
| Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered.
uint8 | getRenderQueueGroup () const
| Gets the queue group for this entity, see setRenderQueueGroup for full details.
Real | getShadowRenderingDistance () const
| Gets the distance at which batches are no longer casting shadows.
SkeletonInstance * | getSkeletonInstance () const
UserObjectBindings & | getUserObjectBindings ()
| Return an instance of user objects binding associated with this class.
const UserObjectBindings & | getUserObjectBindings () const
| Return an instance of user objects binding associated with this class.
uint32 | getVisibilityFlags () const
| Returns the visibility flags relevant for this object.
bool | getVisible () const
| Gets this object whether to be visible or not, if it has a renderable component.
Aabb | getWorldAabb () const
| Gets the axis aligned box in world space.
Aabb | getWorldAabbUpdated ()
| Gets the axis aligned box in world space.
float | getWorldRadius () const
| Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ).
float | getWorldRadiusUpdated ()
| Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ).
virtual void | instanceBatchCullFrustumThreaded (const Frustum *frustum, const Camera *lodCamera, uint32 combinedVisibilityFlags)
bool | isAttached () const
| Returns true if this object is attached to a Node.
bool | isStatic () const
| Checks whether this MovableObject is static.
bool | isVisible () const
| Returns whether or not this object is supposed to be visible or not.
const LightList & | queryLights () const
| Gets a list of lights, ordered relative to how close they are to this movable object.
void | removeQueryFlags (uint32 flags)
| As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
void | removeVisibilityFlags (uint32 flags)
| As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object.
void | setCastShadows (bool enabled)
| Sets whether or not this object will cast shadows.
void | setLightMask (uint32 lightMask)
| Set a bitwise mask which will filter the lights affecting this object.
void | setListener (Listener *listener)
| Sets a listener for this object.
void | setLocalAabb (const Aabb box)
| Sets the local axis-aligned bounding box for this object.
void | setName (const String &name)
| Sets a custom name for this node.
void | setQueryFlags (uint32 flags)
| Sets the query flags for this object.
void | setRenderingDistance (Real dist)
| Sets the distance at which the object is no longer rendered.
void | setRenderingMinPixelSize (Real pixelSize)
| Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered.
virtual void | setRenderQueueGroup (uint8 queueID)
| Sets the render queue group this entity will be rendered through.
void | setShadowRenderingDistance (Real dist)
| Sets the distance at which the object is no longer casting shadows.
bool | setStatic (bool bStatic)
| Turns this Node into static or dynamic.
void | setVisibilityFlags (uint32 flags)
| Sets the visibility flags for this object.
void | setVisible (bool visible)
| Tells this object whether to be visible or not, if it has a renderable component.
Public Member Functions inherited from Ogre::AnimableObject
| AnimableObject ()
virtual | ~AnimableObject ()
virtual AnimableValuePtr | createAnimableValue (const String &valueName)
| Create a reference-counted AnimableValuePtr for the named value.
const StringVector & | getAnimableValueNames () const
| Gets a list of animable value names for this object.
Public Member Functions inherited from Ogre::IdObject
| IdObject (IdType id)
| We don't call generateNewId() here, to prevent objects in the stack (i.e.
IdType | getId () const
| Get the unique id of this object.
bool | operator() (const IdObject &left, const IdObject &right)
bool | operator() (const IdObject *left, const IdObject *right)

## Additional Inherited Members
Static Public Member Functions inherited from Ogre::MovableObject
static void | buildLightList (const size_t numNodes, ObjectData t, const LightListInfo &globalLightList)
static void | calculateCastersBox (const size_t numNodes, ObjectData t, uint32 sceneVisibilityFlags, AxisAlignedBox *outBox)
static void | cullFrustum (const size_t numNodes, ObjectData t, const Camera *frustum, uint32 sceneVisibilityFlags, MovableObjectArray &outCulledObjects, const Camera *lodCamera)
static void | cullLights (const size_t numNodes, ObjectData t, uint32 sceneLightMask, LightListInfo &outGlobalLightList, const FrustumVec &frustums, const FrustumVec &cubemapFrustums)
| See SceneManager::cullLights & see MovableObject::cullFrustum.
static uint32 | getDefaultLightMask ()
| Get the default light mask for all future MovableObject instances.
static uint32 | getDefaultQueryFlags ()
| Get the default query flags for all future MovableObject instances.
static uint32 | getDefaultVisibilityFlags ()
| Get the default visibility flags for all future MovableObject instances.
static void | setDefaultLightMask (uint32 mask)
| Set the default light mask for all future MovableObject instances.
static void | setDefaultQueryFlags (uint32 flags)
| Set the default query flags for all future MovableObject instances.
static void | setDefaultVisibilityFlags (uint32 flags)
| Set the default visibility flags for all future MovableObject instances.
static void | updateAllBounds (const size_t numNodes, ObjectData t)
Public Attributes inherited from Ogre::MovableObject
size_t | mGlobalIndex
| Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks).
size_t | mParentIndex
| Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks).
RenderableArray | mRenderables
Static Public Attributes inherited from Ogre::MovableObject
static const FastArray< Real > | c_DefaultLodMesh

## Detailed Description

Represents a layer which is rendered on top of the 'normal' scene contents.

Remarks
  An overlay is a container for visual components (2D and 3D) which will be rendered after the main scene in order to composite heads-up-displays, menus or other layers on top of the contents of the scene.

  An overlay always takes up the entire size of the viewport, although the components attached to it do not have to. An overlay has no visual element in itself, it it merely a container for visual elements.

  Overlays are created by calling OverlayManager::create, or by defining them in special text scripts (.overlay files). As many overlays as you like can be defined; after creation an overlay is hidden i.e. not visible until you specifically enable it by calling 'show'. This allows you to have multiple overlays predefined (menus etc) which you make visible only when you want. It is possible to have multiple overlays enabled at once; in this case the relative 'zorder' parameter of the overlays determine which one is displayed on top.

  By default overlays are rendered into all viewports. This is fine when you only have fullscreen viewports, but if you have picture-in-picture views, you probably don't want the overlay displayed in the smaller viewports. You turn this off for a specific viewport by calling the Viewport::setDisplayOverlays method.

## Member Typedef Documentation

## ◆ Overlay2DElementsIterator

typedef VectorIterator<OverlayContainerList> Ogre::v1::Overlay::Overlay2DElementsIterator

Returns an iterator over all 2D elements in this manager.

Remarks
  VectorIterator is actually a too generic name, since it also works for lists.

## ◆ OverlayContainerList

typedef list<OverlayContainer*>::type Ogre::v1::Overlay::OverlayContainerList

## Constructor & Destructor Documentation

## ◆ Overlay()

Ogre::v1::Overlay::Overlay | ( | const String & | name,
|  | IdType | id,
|  | ObjectMemoryManager * | objectMemoryManager,
|  | uint8 | renderQueueId )

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

## ◆ ~Overlay()

Ogre::v1::Overlay::~Overlay | ( |  | ) |
| override

## Member Function Documentation

## ◆ _getWorldTransforms()

void Ogre::v1::Overlay::_getWorldTransforms | ( | Matrix4 * | xform | ) | const

Used to transform the overlay when scrolling, scaling etc.

## ◆ _notifyOrigin()

void Ogre::v1::Overlay::_notifyOrigin | ( | const String & | origin | ) |
| inline

Notify this overlay of it's origin.

## ◆ _updateRenderQueue()

virtual void Ogre::v1::Overlay::_updateRenderQueue | ( | RenderQueue * | queue,
|  | Camera * | camera,
|  | const Camera * | lodCamera,
|  | Viewport * | vp )
| virtual

Internal method to put the overlay contents onto the render queue.

## ◆ add2D()

void Ogre::v1::Overlay::add2D | ( | OverlayContainer * | cont | ) |

Adds a 2D 'container' to the overlay.

Remarks
  Containers are created and managed using the OverlayManager. A container could be as simple as a square panel, or something more complex like a grid or tree view. Containers group collections of other elements, giving them a relative coordinate space and a common z-order. If you want to attach a GUI widget to an overlay, you have to do it via a container.

Parameters

  cont | Pointer to a container to add, created using OverlayManager.

## ◆ clear()

void Ogre::v1::Overlay::clear | ( |  | ) |

Clears the overlay of all attached items.

## ◆ findElementAt()

virtual OverlayElement * Ogre::v1::Overlay::findElementAt | ( | Real | x,
|  | Real | y )
| virtual

This returns a OverlayElement at position x,y.

## ◆ get2DElementsIterator()

Overlay2DElementsIterator Ogre::v1::Overlay::get2DElementsIterator | ( |  | ) |
| inline

## ◆ getChild()

OverlayContainer * Ogre::v1::Overlay::getChild | ( | const String & | name | ) |

## ◆ getMovableType()

const String & Ogre::v1::Overlay::getMovableType | ( |  | ) | const
| overridevirtual

Returns the type name of this object.

Implements Ogre::MovableObject.

## ◆ getOrigin()

const String & Ogre::v1::Overlay::getOrigin | ( |  | ) | const
| inline

Get the origin of this overlay, e.g.

a script file name.

Remarks
  This property will only contain something if the creator of this overlay chose to populate it. Script loaders are advised to populate it.

## ◆ getRotate()

const Radian & Ogre::v1::Overlay::getRotate | ( |  | ) | const
| inline

Gets the rotation applied to this overlay, in degrees.

## ◆ getScaleX()

Real Ogre::v1::Overlay::getScaleX | ( |  | ) | const

Gets the current X scale value.

## ◆ getScaleY()

Real Ogre::v1::Overlay::getScaleY | ( |  | ) | const

Gets the current Y scale value.

## ◆ getScrollX()

Real Ogre::v1::Overlay::getScrollX | ( |  | ) | const

Gets the current X scroll value.

## ◆ getScrollY()

Real Ogre::v1::Overlay::getScrollY | ( |  | ) | const

Gets the current Y scroll value.

## ◆ getZOrder()

uint16 Ogre::v1::Overlay::getZOrder | ( |  | ) | const

Gets the Z-order of this overlay.

## ◆ hide()

void Ogre::v1::Overlay::hide | ( |  | ) |

Hides the overlay if it was visible.

## ◆ isInitialised()

bool Ogre::v1::Overlay::isInitialised | ( |  | ) | const
| inline

Gets whether the overlay is initialised or not.

## ◆ remove2D()

void Ogre::v1::Overlay::remove2D | ( | OverlayContainer * | cont | ) |

Removes a 2D container from the overlay.

Remarks
  NOT FAST. Consider OverlayElement::hide.

## ◆ rotate()

void Ogre::v1::Overlay::rotate | ( | const Radian & | angle | ) |

Adds the passed in angle to the rotation applied to this overlay.

## ◆ scroll()

void Ogre::v1::Overlay::scroll | ( | Real | xoff,
|  | Real | yoff )

Scrolls the overlay by the offsets provided.

Remarks
  This method moves the overlay by the amounts provided. As with other methods on this object, a full screen width / height is represented by the value 1.0.

## ◆ setRotate()

void Ogre::v1::Overlay::setRotate | ( | const Radian & | angle | ) |

Sets the rotation applied to this overlay.

## ◆ setScale()

void Ogre::v1::Overlay::setScale | ( | Real | x,
|  | Real | y )

Sets the scaling factor of this overlay.

Remarks
  You can use this to set an scale factor to be used to zoom an overlay.

Parameters

  x | Horizontal scale value, where 1.0 = normal, 0.5 = half size etc
  y | Vertical scale value, where 1.0 = normal, 0.5 = half size etc

## ◆ setScroll()

void Ogre::v1::Overlay::setScroll | ( | Real | x,
|  | Real | y )

Sets the scrolling factor of this overlay.

Remarks
  You can use this to set an offset to be used to scroll an overlay around the screen.

Parameters

  x | Horizontal scroll value, where 0 = normal, -0.5 = scroll so that only the right half the screen is visible etc
  y | Vertical scroll value, where 0 = normal, 0.5 = scroll down by half a screen etc.

## ◆ setZOrder()

void Ogre::v1::Overlay::setZOrder | ( | uint16 | zorder | ) |

Alters the Z-order of this overlay.

Remarks
  Values between 0 and 2^DepthBits - 1 are valid here. DepthBits is defined in RenderQueue.cpp

## ◆ show()

void Ogre::v1::Overlay::show | ( |  | ) |

Shows the overlay if it was hidden.

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

- OgreOverlay.h