Public Member Functions
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 358 of file OgreRenderable.h.


Constructor & Destructor Documentation

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

Virtual destructor needed as class has virtual methods.

Definition at line 362 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:
rendThe Renderable instance being visited
lodIndexThe 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
isDebugWhether this is a debug renderable or not.
pAnyOptional 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 © 2008 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sat Jan 14 2012 18:40:51