Orfeo Toolbox  3.16
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::LevelOrderTreeIterator< TTreeType > Class Template Reference

#include <itkLevelOrderTreeIterator.h>

+ Inheritance diagram for itk::LevelOrderTreeIterator< TTreeType >:
+ Collaboration diagram for itk::LevelOrderTreeIterator< TTreeType >:

List of all members.

Public Types

enum  {
  UNDEFIND = 0,
  PREORDER = 1,
  INORDER = 2,
  POSTORDER = 3,
  LEVELORDER = 4,
  CHILD = 5,
  ROOT = 6,
  LEAF = 7
}
typedef LevelOrderTreeIterator Self
typedef TreeIteratorBase
< TTreeType > 
Superclass
typedef Superclass::TreeNodeType TreeNodeType
typedef TTreeType TreeType
typedef TTreeType::ValueType ValueType

Public Member Functions

 LevelOrderTreeIterator (TreeType *tree, int endLevel=INT_MAX, const TreeNodeType *start=NULL)
 LevelOrderTreeIterator (TreeType *tree, int startLevel, int endLevel, const TreeNodeType *start=NULL)
virtual ~LevelOrderTreeIterator ()
virtual bool Add (ValueType element)
virtual bool Add (int position, ValueType element)
virtual bool Add (TTreeType &subTree)
virtual int ChildPosition (ValueType element) const
virtual TreeIteratorBase
< TTreeType > * 
Children ()
TreeIteratorBase< TTreeType > * Clone ()
virtual int Count ()
virtual int CountChildren () const
virtual bool Disconnect ()
virtual const ValueTypeGet () const
virtual TreeIteratorBase
< TTreeType > * 
GetChild (int number) const
int GetEndLevel () const
int GetLevel () const
virtual TreeNodeTypeGetNode ()
virtual const TreeNodeTypeGetNode () const
const TreeNodeTypeGetParent () const
TreeNodeTypeGetRoot ()
const TreeNodeTypeGetRoot () const
int GetStartLevel () const
virtual TTreeType * GetSubTree () const
TTreeType * GetTree () const
int GetType () const
void GoToBegin ()
virtual bool GoToChild (int number=0)
void GoToEnd ()
virtual bool GoToParent ()
virtual bool HasChild (int number=0) const
virtual bool HasParent () const
bool IsAtBegin (void) const
bool IsAtEnd (void) const
virtual bool IsLeaf () const
virtual bool IsRoot () const
Selfoperator++ ()
void operator++ (int)
const Selfoperator= (const Self &iterator)
virtual TreeIteratorBase
< TTreeType > * 
Parents ()
bool Remove ()
virtual bool RemoveChild (int number)
void Set (ValueType element)

Protected Member Functions

bool HasNext () const
const ValueTypeNext ()

Protected Attributes

TreeNodeTypem_Begin
TreeNodeTypem_End
TreeNodeTypem_Position
const TreeNodeTypem_Root
TTreeType * m_Tree

Private Member Functions

const TreeNodeTypeFindNextNode () const
const TreeNodeTypeFindNextNodeHelp () const
int GetLevel (const TreeNodeType *node) const

Private Attributes

int m_EndLevel
std::queue< const TreeNodeType * > m_Queue
int m_StartLevel

Detailed Description

template<class TTreeType>
class itk::LevelOrderTreeIterator< TTreeType >

Definition at line 27 of file itkLevelOrderTreeIterator.h.


Member Typedef Documentation

template<class TTreeType>
typedef LevelOrderTreeIterator itk::LevelOrderTreeIterator< TTreeType >::Self

Typedefs

Reimplemented from itk::TreeIteratorBase< TTreeType >.

Definition at line 32 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
typedef TreeIteratorBase<TTreeType> itk::LevelOrderTreeIterator< TTreeType >::Superclass

Definition at line 33 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
typedef Superclass::TreeNodeType itk::LevelOrderTreeIterator< TTreeType >::TreeNodeType

Reimplemented from itk::TreeIteratorBase< TTreeType >.

Definition at line 36 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
typedef TTreeType itk::LevelOrderTreeIterator< TTreeType >::TreeType

Definition at line 34 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
typedef TTreeType::ValueType itk::LevelOrderTreeIterator< TTreeType >::ValueType

Reimplemented from itk::TreeIteratorBase< TTreeType >.

Definition at line 35 of file itkLevelOrderTreeIterator.h.


Member Enumeration Documentation

template<class TTreeType>
anonymous enum
inherited

Enumerations

Enumerator:
UNDEFIND 
PREORDER 
INORDER 
POSTORDER 
LEVELORDER 
CHILD 
ROOT 
LEAF 

Definition at line 160 of file itkTreeIteratorBase.h.


Constructor & Destructor Documentation

template<class TTreeType >
itk::LevelOrderTreeIterator< TTreeType >::LevelOrderTreeIterator ( TreeType tree,
int  endLevel = INT_MAX,
const TreeNodeType start = NULL 
)

Constructors

Constructor with end level specification

Definition at line 92 of file itkLevelOrderTreeIterator.h.

References NULL.

template<class TTreeType >
itk::LevelOrderTreeIterator< TTreeType >::LevelOrderTreeIterator ( TreeType tree,
int  startLevel,
int  endLevel,
const TreeNodeType start = NULL 
)

Constructor with end level specification

Definition at line 116 of file itkLevelOrderTreeIterator.h.

References NULL.

template<class TTreeType>
virtual itk::LevelOrderTreeIterator< TTreeType >::~LevelOrderTreeIterator ( )
inlinevirtual

Definition at line 42 of file itkLevelOrderTreeIterator.h.


Member Function Documentation

template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::Add ( ValueType  element)
virtualinherited

Add an element to the tree

Add a value to the node. This creates a new child node

Definition at line 85 of file itkTreeIteratorBase.txx.

References itk::TreeIteratorBase< TTreeType >::m_Position, and NULL.

Referenced by itk::TreeContainer< TValueType >::Add(), and main().

template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::Add ( int  position,
ValueType  element 
)
virtualinherited

Add an element at a given position

Add a new element at a given position

Definition at line 123 of file itkTreeIteratorBase.txx.

References itk::TreeIteratorBase< TTreeType >::m_Position.

template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::Add ( TTreeType &  subTree)
virtualinherited

Add a subtree

Definition at line 171 of file itkTreeIteratorBase.txx.

References NULL.

template<class TTreeType >
int itk::TreeIteratorBase< TTreeType >::ChildPosition ( ValueType  element) const
virtualinherited

Return the current ChildPosition of an element

Return the current position of the child

Definition at line 228 of file itkTreeIteratorBase.txx.

template<class TTreeType >
TreeIteratorBase< TTreeType > * itk::TreeIteratorBase< TTreeType >::Children ( )
virtualinherited

Return a list of children

Return the children list

Definition at line 320 of file itkTreeIteratorBase.txx.

template<class TTreeType >
TreeIteratorBase< TTreeType > * itk::LevelOrderTreeIterator< TTreeType >::Clone ( )
virtual

Clone function

Implements itk::TreeIteratorBase< TTreeType >.

Definition at line 285 of file itkLevelOrderTreeIterator.h.

template<class TTreeType >
int itk::TreeIteratorBase< TTreeType >::Count ( )
virtualinherited

Count the number of nodes

Count the number of nodes from the beginning

Definition at line 410 of file itkTreeIteratorBase.txx.

template<class TTreeType >
int itk::TreeIteratorBase< TTreeType >::CountChildren ( ) const
virtualinherited

Count the number of children

Definition at line 266 of file itkTreeIteratorBase.txx.

References NULL.

template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::Disconnect ( )
virtualinherited

Disconnect the tree

Definition at line 286 of file itkTreeIteratorBase.txx.

References NULL.

template<class TTreeType >
const LevelOrderTreeIterator< TTreeType >::TreeNodeType * itk::LevelOrderTreeIterator< TTreeType >::FindNextNode ( ) const
private

Find the next available node

Definition at line 184 of file itkLevelOrderTreeIterator.h.

References NULL.

template<class TTreeType >
const LevelOrderTreeIterator< TTreeType >::TreeNodeType * itk::LevelOrderTreeIterator< TTreeType >::FindNextNodeHelp ( ) const
private

Helper function to find the next node

Definition at line 249 of file itkLevelOrderTreeIterator.h.

References NULL.

template<class TTreeType >
const TreeIteratorBase< TTreeType >::ValueType & itk::TreeIteratorBase< TTreeType >::Get ( void  ) const
virtualinherited
template<class TTreeType >
TreeIteratorBase< TTreeType > * itk::TreeIteratorBase< TTreeType >::GetChild ( int  number) const
virtualinherited

Return a list of child

Get a child given a number

Definition at line 391 of file itkTreeIteratorBase.txx.

References NULL.

template<class TTreeType >
int itk::LevelOrderTreeIterator< TTreeType >::GetEndLevel ( ) const

Get the end level

Definition at line 176 of file itkLevelOrderTreeIterator.h.

template<class TTreeType >
int itk::LevelOrderTreeIterator< TTreeType >::GetLevel ( ) const

Get the current level

Return the current level

Definition at line 210 of file itkLevelOrderTreeIterator.h.

References NULL.

template<class TTreeType >
int itk::LevelOrderTreeIterator< TTreeType >::GetLevel ( const TreeNodeType node) const
private

Return the level given a node

Definition at line 230 of file itkLevelOrderTreeIterator.h.

References NULL.

template<class TTreeType >
TreeIteratorBase< TTreeType >::TreeNodeType * itk::TreeIteratorBase< TTreeType >::GetNode ( )
virtualinherited
template<class TTreeType >
const TreeIteratorBase< TTreeType >::TreeNodeType * itk::TreeIteratorBase< TTreeType >::GetNode ( ) const
virtualinherited

Get the node pointed by the iterator

Definition at line 436 of file itkTreeIteratorBase.txx.

template<class TTreeType >
const TreeIteratorBase< TTreeType >::TreeNodeType * itk::TreeIteratorBase< TTreeType >::GetParent ( ) const
inherited

Return the first parent found

Definition at line 332 of file itkTreeIteratorBase.txx.

References NULL.

Referenced by itk::TreeContainer< TValueType >::PrintSelf().

template<class TTreeType >
TreeIteratorBase< TTreeType >::TreeNodeType * itk::TreeIteratorBase< TTreeType >::GetRoot ( )
inherited

Get the root

Definition at line 444 of file itkTreeIteratorBase.txx.

template<class TTreeType >
const TreeIteratorBase< TTreeType >::TreeNodeType * itk::TreeIteratorBase< TTreeType >::GetRoot ( ) const
inherited

Get the root (const)

Definition at line 452 of file itkTreeIteratorBase.txx.

template<class TTreeType >
int itk::LevelOrderTreeIterator< TTreeType >::GetStartLevel ( ) const

Get the start level

Get the start Level

Definition at line 168 of file itkLevelOrderTreeIterator.h.

template<class TTreeType >
TTreeType * itk::TreeIteratorBase< TTreeType >::GetSubTree ( ) const
virtualinherited

Get the subtree

Return the subtree

Definition at line 201 of file itkTreeIteratorBase.txx.

template<class TTreeType >
TTreeType * itk::TreeIteratorBase< TTreeType >::GetTree ( ) const
inherited

Get the tree

Return the tree

Definition at line 501 of file itkTreeIteratorBase.txx.

template<class TTreeType >
int itk::LevelOrderTreeIterator< TTreeType >::GetType ( void  ) const
virtual

Get the type of the iterator

Return the type of iterator

Implements itk::TreeIteratorBase< TTreeType >.

Definition at line 140 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
void itk::TreeIteratorBase< TTreeType >::GoToBegin ( void  )
inlineinherited
template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::GoToChild ( int  number = 0)
virtualinherited

Go to the specified child

Go to a child

Reimplemented in itk::ChildTreeIterator< TTreeType >.

Definition at line 354 of file itkTreeIteratorBase.txx.

References NULL.

Referenced by main().

template<class TTreeType>
void itk::TreeIteratorBase< TTreeType >::GoToEnd ( void  )
inlineinherited

Move an iterator to the end of the tree.

Definition at line 138 of file itkTreeIteratorBase.h.

References itk::TreeIteratorBase< TTreeType >::m_End, and itk::TreeIteratorBase< TTreeType >::m_Position.

template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::GoToParent ( )
virtualinherited

Go to the parent

Go to a parent

Reimplemented in itk::ChildTreeIterator< TTreeType >.

Definition at line 373 of file itkTreeIteratorBase.txx.

References NULL.

Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::PrintSelf().

template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::HasChild ( int  number = 0) const
virtualinherited

Return true if the current node has a child

Return true of the current node has a child

Definition at line 212 of file itkTreeIteratorBase.txx.

References NULL.

Referenced by itk::LeafTreeIterator< TTreeType >::FindNextNode().

template<class TTreeType >
bool itk::LevelOrderTreeIterator< TTreeType >::HasNext ( ) const
protectedvirtual

Return true if the next node exists

Return true if the next value exists

Implements itk::TreeIteratorBase< TTreeType >.

Definition at line 148 of file itkLevelOrderTreeIterator.h.

template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::HasParent ( ) const
virtualinherited

Return true if the current node has a parent

Return true of the pointed node has a parent

Definition at line 278 of file itkTreeIteratorBase.txx.

References NULL.

Referenced by itk::TreeContainer< TValueType >::IsRoot(), and otb::VectorData< TPrecision, VDimension, TValuePrecision >::PrintSelf().

template<class TTreeType>
bool itk::TreeIteratorBase< TTreeType >::IsAtBegin ( void  ) const
inlineinherited

Is the iterator at the beginning of the tree?

Definition at line 144 of file itkTreeIteratorBase.h.

References itk::TreeIteratorBase< TTreeType >::m_Begin, and itk::TreeIteratorBase< TTreeType >::m_Position.

template<class TTreeType>
bool itk::TreeIteratorBase< TTreeType >::IsAtEnd ( void  ) const
inlineinherited
template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::IsLeaf ( ) const
virtualinherited

Return true if the current node is a leaf

Return true if the current pointed node is a leaf

Definition at line 146 of file itkTreeIteratorBase.txx.

Referenced by itk::TreeContainer< TValueType >::IsLeaf().

template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::IsRoot ( ) const
virtualinherited

Return true if the current node is a root

Return true if the current pointed node is a root

Definition at line 154 of file itkTreeIteratorBase.txx.

References NULL.

template<class TTreeType >
const LevelOrderTreeIterator< TTreeType >::ValueType & itk::LevelOrderTreeIterator< TTreeType >::Next ( )
protectedvirtual

Return the next node

Implements itk::TreeIteratorBase< TTreeType >.

Definition at line 160 of file itkLevelOrderTreeIterator.h.

template<class TTreeType>
Self& itk::TreeIteratorBase< TTreeType >::operator++ ( )
inlineinherited

operator++

Definition at line 173 of file itkTreeIteratorBase.h.

References itk::TreeIteratorBase< TTreeType >::Next().

template<class TTreeType>
void itk::TreeIteratorBase< TTreeType >::operator++ ( int  )
inlineinherited

operator++

Definition at line 180 of file itkTreeIteratorBase.h.

References itk::TreeIteratorBase< TTreeType >::Next().

template<class TTreeType>
const Self& itk::LevelOrderTreeIterator< TTreeType >::operator= ( const Self iterator)
inline
template<class TTreeType >
TreeIteratorBase< TTreeType > * itk::TreeIteratorBase< TTreeType >::Parents ( )
virtualinherited

Return a list of parents

Return the list of parents

Definition at line 344 of file itkTreeIteratorBase.txx.

template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::Remove ( )
inherited

Remove the current node from the tree

Remove a specific node (and its child nodes!)

Definition at line 460 of file itkTreeIteratorBase.txx.

References NULL.

Referenced by itk::TreeContainer< TValueType >::Clear(), and otb::VectorDataEditionModel::DeleteSelectedGeometriesInROI().

template<class TTreeType >
bool itk::TreeIteratorBase< TTreeType >::RemoveChild ( int  number)
virtualinherited

Remove a child

Definition at line 240 of file itkTreeIteratorBase.txx.

References itk::TreeIteratorBase< TTreeType >::m_Position, and NULL.

template<class TTreeType >
void itk::TreeIteratorBase< TTreeType >::Set ( ValueType  element)
inherited

Set the current value of the node

Definition at line 74 of file itkTreeIteratorBase.txx.


Member Data Documentation

template<class TTreeType>
TreeNodeType* itk::TreeIteratorBase< TTreeType >::m_Begin
mutableprotectedinherited
template<class TTreeType>
TreeNodeType* itk::TreeIteratorBase< TTreeType >::m_End
mutableprotectedinherited
template<class TTreeType>
int itk::LevelOrderTreeIterator< TTreeType >::m_EndLevel
private
template<class TTreeType>
TreeNodeType* itk::TreeIteratorBase< TTreeType >::m_Position
mutableprotectedinherited
template<class TTreeType>
std::queue<const TreeNodeType*> itk::LevelOrderTreeIterator< TTreeType >::m_Queue
mutableprivate
template<class TTreeType>
const TreeNodeType* itk::TreeIteratorBase< TTreeType >::m_Root
protectedinherited
template<class TTreeType>
int itk::LevelOrderTreeIterator< TTreeType >::m_StartLevel
private
template<class TTreeType>
TTreeType* itk::TreeIteratorBase< TTreeType >::m_Tree
protectedinherited

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

Generated at Sun Feb 3 2013 02:01:25 for Orfeo Toolbox with doxygen 1.8.1.1