Ogre::Renderable::Visitor Class Reference

Visitor object that can be used to iterate over a collection of Renderable instances abstractly. More...

#include <OgreRenderable.h>

List of all members.

Public Member Functions

virtual ~Visitor ()
 Virtual destructor needed as class has virtual methods.
virtual void visit (Renderable *rend, ushort lodIndex, bool isDebug, Any *pAny=0)=0
 Generic visitor method.

Detailed Description

Visitor object that can be used to iterate over a collection of Renderable instances abstractly.

Remarks:
Different scene objects use Renderable differently; some will have a single Renderable, others will have many. This visitor interface allows classes using Renderable to expose a clean way for external code to get access to the contained Renderable instance(s) that it will eventually add to the render queue.
To actually have this method called, you have to call a method on the class containing the Renderable instances. One example is MovableObject::visitRenderables.

Definition at line 376 of file OgreRenderable.h.


Constructor & Destructor Documentation

virtual Ogre::Renderable::Visitor::~Visitor (  )  [virtual]

Virtual destructor needed as class has virtual methods.

Definition at line 380 of file OgreRenderable.h.


Member Function Documentation

virtual void Ogre::Renderable::Visitor::visit ( Renderable rend,
ushort  lodIndex,
bool  isDebug,
Any pAny = 0 
) [pure virtual]

Generic visitor method.

Parameters:
rend The Renderable instance being visited
lodIndex The LOD index to which this Renderable belongs. Some objects support LOD and this will tell you whether the Renderable you're looking at is from the top LOD (0) or otherwise
isDebug Whether this is a debug renderable or not.
pAny Optional pointer to some additional data that the class calling the visitor may populate if it chooses to.

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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:39:08 2012