OGRE-Next
2.3
Object-Oriented Graphics Rendering Engine
|
Represents a layer which is rendered on top of the 'normal' scene contents. More...
#include <OgreOverlay.h>
Public Types | |
typedef FastArray< MovableObject * > | MovableObjectArray |
@See SceneManager::cullFrustum More... | |
typedef VectorIterator< OverlayContainerList > | Overlay2DElementsIterator |
Returns an iterator over all 2D elements in this manager. More... | |
typedef list< OverlayContainer * >::type | OverlayContainerList |
Public Member Functions | |
Overlay (const String &name, IdType id, ObjectMemoryManager *objectMemoryManager, uint8 renderQueueId) | |
Constructor: do not call direct, use OverlayManager::create. More... | |
virtual | ~Overlay () |
LightList * | _getLightList () |
Returns a pointer to the current list of lights for this object. More... | |
SceneManager * | _getManager () const |
Get the manager of this object, if any (internal use only) More... | |
ObjectData & | _getObjectData () |
Returns a direct access to the ObjectData state. More... | |
const Matrix4 & | _getParentNodeFullTransform () const |
Returns the full transformation of the parent sceneNode or the attachingPoint node. More... | |
void | _getWorldTransforms (Matrix4 *xform) const |
Used to transform the overlay when scrolling, scaling etc. More... | |
virtual void | _notifyAttached (Node *parent) |
Internal method called to notify the object that it has been attached to a node. More... | |
void | _notifyManager (SceneManager *man) |
Notify the object of it's manager (internal use only) More... | |
void | _notifyOrigin (const String &origin) |
Notify this overlay of it's origin. More... | |
virtual void | _notifyParentNodeMemoryChanged () |
@See Node::_callMemoryChangeListeners More... | |
virtual void | _notifyStaticDirty () const |
Called by SceneManager when it is telling we're a static MovableObject being dirty Don't call this directly. More... | |
virtual void | _releaseManualHardwareResources () |
Notifies the movable object that hardware resources were lost. More... | |
virtual void | _restoreManualHardwareResources () |
Notifies the movable object that hardware resources should be restored. More... | |
virtual void | _updateRenderQueue (RenderQueue *queue, Camera *camera, const Camera *lodCamera) |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue. More... | |
virtual void | _updateRenderQueue (RenderQueue *queue, Camera *camera, const Camera *lodCamera, Viewport *vp) |
Internal method to put the overlay contents onto the render queue. More... | |
void | add2D (OverlayContainer *cont) |
Adds a 2D 'container' to the overlay. More... | |
void | addQueryFlags (uint32 flags) |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. More... | |
void | addVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. More... | |
void | clear () |
Clears the overlay of all attached items. More... | |
virtual AnimableValuePtr | createAnimableValue (const String &valueName) |
Create a reference-counted AnimableValuePtr for the named value. More... | |
void | detachFromParent () |
Detaches an object from a parent SceneNode if attached. More... | |
virtual OverlayElement * | findElementAt (Real x, Real y) |
This returns a OverlayElement at position x,y. More... | |
Overlay2DElementsIterator | get2DElementsIterator () |
const StringVector & | getAnimableValueNames () const |
Gets a list of animable value names for this object. More... | |
RealAsUint | getCachedDistanceToCamera () const |
Returns the distance to camera as calculated in @cullFrustum. More... | |
Real | getCachedDistanceToCameraAsReal () const |
Returns the distance to camera as calculated in @cullFrustum. More... | |
bool | getCastShadows () const |
Returns whether shadow casting is enabled for this object. More... | |
OverlayContainer * | getChild (const String &name) |
unsigned char | getCurrentMeshLod () const |
IdType | getId () const |
Get the unique id of this object. More... | |
uint32 | getLightMask () const |
Get a bitwise mask which will filter the lights affecting this object. More... | |
Listener * | getListener () const |
Gets the current listener for this object. More... | |
Aabb | getLocalAabb () const |
Retrieves the local axis-aligned bounding box for this object. More... | |
float | getLocalRadius () const |
See getLocalAabb and getWorldRadius. More... | |
virtual const String & | getMovableType () const |
Returns the type name of this object. More... | |
const String & | getName () const |
Returns the name of this object. More... | |
const String & | getOrigin () const |
Get the origin of this overlay, e.g. More... | |
Node * | getParentNode () const |
Returns the node to which this object is attached. More... | |
SceneNode * | getParentSceneNode () const |
uint32 | getQueryFlags () const |
Returns the query flags relevant for this object. More... | |
Real | getRenderingDistance () const |
Gets the distance at which batches are no longer rendered. More... | |
Real | getRenderingMinPixelSize () const |
Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered. More... | |
uint8 | getRenderQueueGroup () const |
Gets the queue group for this entity, see setRenderQueueGroup for full details. More... | |
const Radian & | getRotate () const |
Gets the rotation applied to this overlay, in degrees. More... | |
Real | getScaleX () const |
Gets the current X scale value. More... | |
Real | getScaleY () const |
Gets the current Y scale value. More... | |
Real | getScrollX () const |
Gets the current X scroll value. More... | |
Real | getScrollY () const |
Gets the current Y scroll value. More... | |
Real | getShadowRenderingDistance () const |
Gets the distance at which batches are no longer casting shadows. More... | |
SkeletonInstance * | getSkeletonInstance () const |
UserObjectBindings & | getUserObjectBindings () |
Return an instance of user objects binding associated with this class. More... | |
const UserObjectBindings & | getUserObjectBindings () const |
Return an instance of user objects binding associated with this class. More... | |
uint32 | getVisibilityFlags () const |
Returns the visibility flags relevant for this object. More... | |
bool | getVisible () const |
Gets this object whether to be visible or not, if it has a renderable component. More... | |
Aabb | getWorldAabb () const |
Gets the axis aligned box in world space. More... | |
Aabb | getWorldAabbUpdated () |
Gets the axis aligned box in world space. More... | |
float | getWorldRadius () const |
Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ). More... | |
float | getWorldRadiusUpdated () |
Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ). More... | |
uint16 | getZOrder () const |
Gets the Z-order of this overlay. More... | |
void | hide () |
Hides the overlay if it was visible. More... | |
virtual void | instanceBatchCullFrustumThreaded (const Frustum *frustum, const Camera *lodCamera, uint32 combinedVisibilityFlags) |
@See InstancingTheadedCullingMethod, More... | |
bool | isAttached () const |
Returns true if this object is attached to a Node. More... | |
bool | isInitialised () const |
Gets whether the overlay is initialised or not. More... | |
bool | isStatic () const |
Checks whether this MovableObject is static. @See setStatic. More... | |
bool | isVisible () const |
Returns whether or not this object is supposed to be visible or not. More... | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete (void *ptr, void *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
bool | operator() (const IdObject &left, const IdObject &right) |
bool | operator() (const IdObject *left, const IdObject *right) |
const LightList & | queryLights () const |
Gets a list of lights, ordered relative to how close they are to this movable object. More... | |
void | remove2D (OverlayContainer *cont) |
Removes a 2D container from the overlay. More... | |
void | removeQueryFlags (uint32 flags) |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. More... | |
void | removeVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. More... | |
void | rotate (const Radian &angle) |
Adds the passed in angle to the rotation applied to this overlay. More... | |
void | scroll (Real xoff, Real yoff) |
Scrolls the overlay by the offsets provided. More... | |
void | setCastShadows (bool enabled) |
Sets whether or not this object will cast shadows. More... | |
void | setLightMask (uint32 lightMask) |
Set a bitwise mask which will filter the lights affecting this object. More... | |
void | setListener (Listener *listener) |
Sets a listener for this object. More... | |
void | setLocalAabb (const Aabb box) |
Sets the local axis-aligned bounding box for this object. More... | |
void | setName (const String &name) |
Sets a custom name for this node. More... | |
void | setQueryFlags (uint32 flags) |
Sets the query flags for this object. More... | |
void | setRenderingDistance (Real dist) |
Sets the distance at which the object is no longer rendered. More... | |
void | setRenderingMinPixelSize (Real pixelSize) |
Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered. More... | |
virtual void | setRenderQueueGroup (uint8 queueID) |
Sets the render queue group this entity will be rendered through. More... | |
void | setRotate (const Radian &angle) |
Sets the rotation applied to this overlay. More... | |
void | setScale (Real x, Real y) |
Sets the scaling factor of this overlay. More... | |
void | setScroll (Real x, Real y) |
Sets the scrolling factor of this overlay. More... | |
void | setShadowRenderingDistance (Real dist) |
Sets the distance at which the object is no longer casting shadows. More... | |
bool | setStatic (bool bStatic) |
Turns this Node into static or dynamic. More... | |
void | setVisibilityFlags (uint32 flags) |
Sets the visibility flags for this object. More... | |
void | setVisible (bool visible) |
Tells this object whether to be visible or not, if it has a renderable component. More... | |
void | setZOrder (uint16 zorder) |
Alters the Z-order of this overlay. More... | |
void | show () |
Shows the overlay if it was hidden. More... | |
Static Public Member Functions | |
static void | buildLightList (const size_t numNodes, ObjectData t, const LightListInfo &globalLightList) |
@See SceneManager::buildLightList More... | |
static ArrayReal | calculateCameraDistance (uint32 _cameraSortMode, const ArrayVector3 &cameraPos, const ArrayVector3 &cameraDir, ArrayAabb *RESTRICT_ALIAS worldAabb, ArrayReal *RESTRICT_ALIAS worldRadius) |
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 & More... | |
static uint32 | getDefaultLightMask () |
Get the default light mask for all future MovableObject instances. More... | |
static uint32 | getDefaultQueryFlags () |
Get the default query flags for all future MovableObject instances. More... | |
static uint32 | getDefaultVisibilityFlags () |
Get the default visibility flags for all future MovableObject instances. More... | |
static void | setDefaultLightMask (uint32 mask) |
Set the default light mask for all future MovableObject instances. More... | |
static void | setDefaultQueryFlags (uint32 flags) |
Set the default query flags for all future MovableObject instances. More... | |
static void | setDefaultVisibilityFlags (uint32 flags) |
Set the default visibility flags for all future MovableObject instances. More... | |
static void | updateAllBounds (const size_t numNodes, ObjectData t) |
@See SceneManager::updateAllBounds More... | |
Public Attributes | |
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). More... | |
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). More... | |
RenderableArray | mRenderables |
Static Public Attributes | |
static const FastArray< Real > | c_DefaultLodMesh |
Represents a layer which is rendered on top of the 'normal' scene contents.
|
inherited |
@See SceneManager::cullFrustum
frustum | Frustum to clip against |
sceneVisibilityFlags | Combined scene's visibility flags (i.e. viewport | scene). Set LAYER_SHADOW_CASTER bit if you want to exclude non-shadow casters. |
outCulledObjects | Out. List of objects that are (fully or partially) inside the frustum and should be rendered |
lodCamera | Camera in which lod levels calculations are based (i.e. during shadow pass renders) Note however, we only use this camera to calulate if should be visible according to mUpperDistance |
Returns an iterator over all 2D elements in this manager.
typedef list<OverlayContainer*>::type Ogre::v1::Overlay::OverlayContainerList |
Ogre::v1::Overlay::Overlay | ( | const String & | name, |
IdType | id, | ||
ObjectMemoryManager * | objectMemoryManager, | ||
uint8 | renderQueueId | ||
) |
Constructor: do not call direct, use OverlayManager::create.
|
virtual |
|
inlineinherited |
Returns a pointer to the current list of lights for this object.
|
inlineinherited |
Get the manager of this object, if any (internal use only)
|
inlineinherited |
Returns a direct access to the ObjectData state.
|
inherited |
Returns the full transformation of the parent sceneNode or the attachingPoint node.
void Ogre::v1::Overlay::_getWorldTransforms | ( | Matrix4 * | xform | ) | const |
Used to transform the overlay when scrolling, scaling etc.
|
virtualinherited |
Internal method called to notify the object that it has been attached to a node.
Reimplemented in Ogre::ParticleSystem, and Ogre::v1::Entity.
|
inlineinherited |
Notify the object of it's manager (internal use only)
|
inline |
Notify this overlay of it's origin.
|
inlinevirtualinherited |
@See Node::_callMemoryChangeListeners
Reimplemented in Ogre::Item.
|
inlinevirtualinherited |
Called by SceneManager when it is telling we're a static MovableObject being dirty Don't call this directly.
|
inlinevirtualinherited |
Notifies the movable object that hardware resources were lost.
Reimplemented in Ogre::v1::Rectangle2D, Ogre::ManualObject, Ogre::v1::ManualObject, and Ogre::v1::BillboardSet.
|
inlinevirtualinherited |
Notifies the movable object that hardware resources should be restored.
Reimplemented in Ogre::v1::Rectangle2D.
|
inlinevirtualinherited |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue.
Reimplemented in Ogre::ParticleSystem, Ogre::v1::ManualObject, Ogre::Light, Ogre::v1::Entity, Ogre::v1::BillboardSet, Ogre::v1::BillboardChain, and Ogre::MovablePlane.
|
virtual |
Internal method to put the overlay contents onto the render queue.
void Ogre::v1::Overlay::add2D | ( | OverlayContainer * | cont | ) |
Adds a 2D 'container' to the overlay.
cont | Pointer to a container to add, created using OverlayManager. |
|
inlineinherited |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
|
inlineinherited |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object.
|
staticinherited |
@See SceneManager::buildLightList
globalLightList | List of lights already culled against all possible frustums and reorganized contiguously for SoA |
|
inlinestaticinherited |
|
staticinherited |
void Ogre::v1::Overlay::clear | ( | ) |
Clears the overlay of all attached items.
|
inlinevirtualinherited |
Create a reference-counted AnimableValuePtr for the named value.
Reimplemented in Ogre::Light.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
|
staticinherited |
|
staticinherited |
@See SceneManager::cullLights &
outGlobalLightList | Output, a list of lights, contiguously placed |
frustums | An array of all frustums we need to check against |
cubemapFrustums | An array of all frustums that are used at least once as cubemaps (@See SceneManager::createCamera) |
|
inherited |
Detaches an object from a parent SceneNode if attached.
|
virtual |
This returns a OverlayElement at position x,y.
|
inline |
|
inlineinherited |
Gets a list of animable value names for this object.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
|
inlineinherited |
Returns the distance to camera as calculated in @cullFrustum.
|
inlineinherited |
Returns the distance to camera as calculated in @cullFrustum.
|
inlineinherited |
Returns whether shadow casting is enabled for this object.
OverlayContainer* Ogre::v1::Overlay::getChild | ( | const String & | name | ) |
|
inlineinherited |
|
inlinestaticinherited |
Get the default light mask for all future MovableObject instances.
|
inlinestaticinherited |
Get the default query flags for all future MovableObject instances.
|
inlinestaticinherited |
Get the default visibility flags for all future MovableObject instances.
|
inlineinherited |
Get the unique id of this object.
|
inlineinherited |
Get a bitwise mask which will filter the lights affecting this object.
|
inlineinherited |
Gets the current listener for this object.
|
inherited |
Retrieves the local axis-aligned bounding box for this object.
|
inherited |
See getLocalAabb and getWorldRadius.
|
virtual |
Returns the type name of this object.
Implements Ogre::MovableObject.
|
inlineinherited |
Returns the name of this object.
|
inline |
Get the origin of this overlay, e.g.
a script file name.
|
inlineinherited |
Returns the node to which this object is attached.
|
inlineinherited |
|
inlineinherited |
Returns the query flags relevant for this object.
|
inlineinherited |
Gets the distance at which batches are no longer rendered.
|
inlineinherited |
Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered.
|
inlineinherited |
Gets the queue group for this entity, see setRenderQueueGroup for full details.
|
inline |
Gets the rotation applied to this overlay, in degrees.
Real Ogre::v1::Overlay::getScaleX | ( | ) | const |
Gets the current X scale value.
Real Ogre::v1::Overlay::getScaleY | ( | ) | const |
Gets the current Y scale value.
Real Ogre::v1::Overlay::getScrollX | ( | ) | const |
Gets the current X scroll value.
Real Ogre::v1::Overlay::getScrollY | ( | ) | const |
Gets the current Y scroll value.
|
inlineinherited |
Gets the distance at which batches are no longer casting shadows.
|
inlineinherited |
|
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.
|
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.
|
inlineinherited |
Returns the visibility flags relevant for this object.
Reserved visibility flags are not returned.
|
inlineinherited |
Gets this object whether to be visible or not, if it has a renderable component.
|
inherited |
Gets the axis aligned box in world space.
|
inherited |
Gets the axis aligned box in world space.
|
inherited |
Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ).
|
inherited |
Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ).
uint16 Ogre::v1::Overlay::getZOrder | ( | ) | const |
Gets the Z-order of this overlay.
void Ogre::v1::Overlay::hide | ( | ) |
Hides the overlay if it was visible.
|
inlinevirtualinherited |
@See InstancingTheadedCullingMethod,
|
inlineinherited |
Returns true if this object is attached to a Node.
|
inline |
Gets whether the overlay is initialised or not.
|
inherited |
Checks whether this MovableObject is static. @See setStatic.
|
inherited |
Returns whether or not this object is supposed to be visible or not.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
placement operator new
|
inlineinherited |
|
inlineinherited |
array operator new, with debug line info
|
inlineinherited |
Gets a list of lights, ordered relative to how close they are to this movable object.
void Ogre::v1::Overlay::remove2D | ( | OverlayContainer * | cont | ) |
Removes a 2D container from the overlay.
|
inlineinherited |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
|
inlineinherited |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object.
void Ogre::v1::Overlay::rotate | ( | const Radian & | angle | ) |
Adds the passed in angle to the rotation applied to this overlay.
Scrolls the overlay by the offsets provided.
|
inlineinherited |
Sets whether or not this object will cast shadows.
|
inlinestaticinherited |
Set the default light mask for all future MovableObject instances.
|
inlinestaticinherited |
Set the default query flags for all future MovableObject instances.
|
inlinestaticinherited |
Set the default visibility flags for all future MovableObject instances.
|
inlineinherited |
Set a bitwise mask which will filter the lights affecting this object.
|
inlineinherited |
Sets a listener for this object.
|
inherited |
Sets the local axis-aligned bounding box for this object.
|
inlineinherited |
Sets a custom name for this node.
Doesn't have to be unique
|
inlineinherited |
Sets the query flags for this object.
|
inlineinherited |
Sets the distance at which the object is no longer rendered.
dist | Distance beyond which the object will not be rendered (the default is FLT_MAX, which means objects are always rendered). Values equal or below zero will be ignored, and cause an assertion in debug mode. |
|
inlineinherited |
Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered.
pixelSize | Number of minimum pixels (the default is 0, which means objects are always rendered). |
|
virtualinherited |
Sets the render queue group this entity will be rendered through.
queueID | Enumerated value of the queue group to use. See the enum RenderQueueGroupID for what kind of values can be used here. |
Reimplemented in Ogre::ParticleSystem, Ogre::Light, Ogre::InternalCubemapProbe, Ogre::v1::Entity, and Ogre::Decal.
void Ogre::v1::Overlay::setRotate | ( | const Radian & | angle | ) |
Sets the rotation applied to this overlay.
Sets the scaling factor of this overlay.
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 |
Sets the scrolling factor of this overlay.
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. |
|
inlineinherited |
Sets the distance at which the object is no longer casting shadows.
dist | Distance beyond which the object will not cast shadows (the default is FLT_MAX, which means objects are always casting shadows). Values equal or below zero will be ignored, and cause an assertion in debug mode. |
|
inherited |
Turns this Node into static or dynamic.
|
inlineinherited |
Sets the visibility flags for this object.
|
inlineinherited |
Tells this object whether to be visible or not, if it has a renderable component.
void Ogre::v1::Overlay::setZOrder | ( | uint16 | zorder | ) |
Alters the Z-order of this overlay.
void Ogre::v1::Overlay::show | ( | ) |
Shows the overlay if it was hidden.
|
staticinherited |
@See SceneManager::updateAllBounds
|
inherited |
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).
Used for O(1) removals.
|
inherited |
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).
Used for O(1) removals.
|
inherited |