You.i Engine
CYISceneNode::Iterator Class Reference

Detailed Description

A bi-directional Iterator type that allows iteration over scene tree. STL-compatible.

Warning
All iterators created from a specific scene node are invalidated when a child node is added or removed anywhere in the scene tree starting with that node as the root, or when the original node is deleted.

#include <scenetree/YiSceneNode.h>

Public Types

enum  Mode {
  Mode::ImmediateChildren,
  Mode::ImmediateDrawChildren,
  Mode::DepthFirst,
  Mode::DepthFirstDrawOrder
}
 
typedef std::bidirectional_iterator_tag iterator_category
 
typedef CYISceneNodevalue_type
 
typedef ptrdiff_t difference_type
 
typedef CYISceneNode ** pointer
 
typedef CYISceneNodereference
 

Public Member Functions

 Iterator ()
 
 Iterator (const Iterator &other)
 
 ~Iterator ()
 
value_type operator* () const
 
Iteratoroperator= (const Iterator &other)
 
bool operator== (const Iterator &other) const
 
bool operator!= (const Iterator &other) const
 
Iteratoroperator++ ()
 
Iterator operator++ (int)
 
Iteratoroperator-- ()
 
Iterator operator-- (int)
 
Iterator operator+ (int n) const
 
Iteratoroperator+= (int n)
 
Iterator operator- (int n) const
 
Iteratoroperator-= (int n)
 

Friends

class CYISceneNode
 

Member Typedef Documentation

◆ difference_type

◆ iterator_category

typedef std::bidirectional_iterator_tag CYISceneNode::Iterator::iterator_category

◆ pointer

◆ reference

◆ value_type

Member Enumeration Documentation

◆ Mode

Enumerator
ImmediateChildren 

Iterate over immediate children only.

ImmediateDrawChildren 

Iterate over immediate draw children only.

DepthFirst 

Recursively iterate over all descendants in a depth-first order.

DepthFirstDrawOrder 

Recursively iterate over all descendants in a depth-first traversal of the draw children.

Constructor & Destructor Documentation

◆ Iterator() [1/2]

CYISceneNode::Iterator::Iterator ( )

◆ Iterator() [2/2]

CYISceneNode::Iterator::Iterator ( const Iterator other)

◆ ~Iterator()

CYISceneNode::Iterator::~Iterator ( )

Member Function Documentation

◆ operator!=()

bool CYISceneNode::Iterator::operator!= ( const Iterator other) const

◆ operator*()

value_type CYISceneNode::Iterator::operator* ( ) const

◆ operator+()

Iterator CYISceneNode::Iterator::operator+ ( int  n) const

◆ operator++() [1/2]

Iterator& CYISceneNode::Iterator::operator++ ( )

◆ operator++() [2/2]

Iterator CYISceneNode::Iterator::operator++ ( int  )

◆ operator+=()

Iterator& CYISceneNode::Iterator::operator+= ( int  n)

◆ operator-()

Iterator CYISceneNode::Iterator::operator- ( int  n) const

◆ operator--() [1/2]

Iterator& CYISceneNode::Iterator::operator-- ( )

◆ operator--() [2/2]

Iterator CYISceneNode::Iterator::operator-- ( int  )

◆ operator-=()

Iterator& CYISceneNode::Iterator::operator-= ( int  n)

◆ operator=()

Iterator& CYISceneNode::Iterator::operator= ( const Iterator other)

◆ operator==()

bool CYISceneNode::Iterator::operator== ( const Iterator other) const

Friends And Related Function Documentation

◆ CYISceneNode

friend class CYISceneNode
friend

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