igor::iEntityTraverser Class Referenceabstract

#include <iEntityTraverser.h>

Inherited by igor::iEntityBoundsTraverser, igor::iEntityColorIDTraverser, igor::iEntityCopyTraverser, igor::iEntityPrintTraverser, igor::iEntityToItemTraverser, and igor::iEntityTransformTraverser.

Public Member Functions

 iEntityTraverser ()=default
 
virtual ~iEntityTraverser ()=default
 
void setIgnoreInactive (bool ignoreInactive)
 
bool isIgnoringInactive () const
 
void traverse (iEntityScenePtr scene)
 
void traverse (iEntityPtr entity)
 

Protected Member Functions

virtual void preTraverse ()=0
 
virtual bool preOrderVisit (iEntityPtr entity)=0
 
virtual void postOrderVisit (iEntityPtr entity)=0
 
virtual void postTraverse ()=0
 
iEntityScenePtr getScene () const
 

Detailed Description

base class for traversing an entity tree

Constructor & Destructor Documentation

◆ iEntityTraverser()

igor::iEntityTraverser::iEntityTraverser ( )
default

does nothing

◆ ~iEntityTraverser()

virtual igor::iEntityTraverser::~iEntityTraverser ( )
virtualdefault

does nothing

Member Function Documentation

◆ getScene()

iEntityScenePtr igor::iEntityTraverser::getScene ( ) const
protected
Returns
the scene that is being traversed

◆ isIgnoringInactive()

bool igor::iEntityTraverser::isIgnoringInactive ( ) const
Returns
true if it is ignoring inactive children

◆ postOrderVisit()

virtual void igor::iEntityTraverser::postOrderVisit ( iEntityPtr  entity)
protectedpure virtual

is called after every entity visited

has to be implemented by deriving class

◆ postTraverse()

virtual void igor::iEntityTraverser::postTraverse ( )
protectedpure virtual

is called after the whole traversal

has to be implemented by deriving class

◆ preOrderVisit()

virtual bool igor::iEntityTraverser::preOrderVisit ( iEntityPtr  entity)
protectedpure virtual

is called before every entity visited

has to be implemented by deriving class

◆ preTraverse()

virtual void igor::iEntityTraverser::preTraverse ( )
protectedpure virtual

is called before traversal

has to be implemented by deriving class

◆ setIgnoreInactive()

void igor::iEntityTraverser::setIgnoreInactive ( bool  ignoreInactive)

setter if inactive children shall be traversed too

Parameters
ignoreInactiveif true inactive children will be skipped

◆ traverse() [1/2]

void igor::iEntityTraverser::traverse ( iEntityPtr  entity)

traverses tree under given entity

Parameters
entitythe start point to traverse the scene

◆ traverse() [2/2]

void igor::iEntityTraverser::traverse ( iEntityScenePtr  scene)

traverses tree of given entity scene

Parameters
scenescene to traverse

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