![]() |
Orfeo Toolbox
3.16
|
TreeIteratorBase class. More...
#include <itkTreeIteratorBase.h>
Inheritance diagram for itk::TreeIteratorBase< TTreeType >:Public Types | |
| enum | { UNDEFIND = 0, PREORDER = 1, INORDER = 2, POSTORDER = 3, LEVELORDER = 4, CHILD = 5, ROOT = 6, LEAF = 7 } |
| typedef TreeIteratorBase | Self |
| typedef TTreeType::TreeNodeType | TreeNodeType |
| typedef TTreeType::ValueType | ValueType |
Public Member Functions | |
| virtual | ~TreeIteratorBase () |
| 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 () |
| virtual TreeIteratorBase < TTreeType > * | Clone ()=0 |
| virtual int | Count () |
| virtual int | CountChildren () const |
| virtual bool | Disconnect () |
| virtual const ValueType & | Get () const |
| virtual TreeIteratorBase < TTreeType > * | GetChild (int number) const |
| virtual TreeNodeType * | GetNode () |
| virtual const TreeNodeType * | GetNode () const |
| const TreeNodeType * | GetParent () const |
| TreeNodeType * | GetRoot () |
| const TreeNodeType * | GetRoot () const |
| virtual TTreeType * | GetSubTree () const |
| TTreeType * | GetTree () const |
| virtual int | GetType () const =0 |
| 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 |
| Self & | operator++ () |
| void | operator++ (int) |
| const Self & | operator= (const Self &iterator) |
| virtual TreeIteratorBase < TTreeType > * | Parents () |
| bool | Remove () |
| virtual bool | RemoveChild (int number) |
| void | Set (ValueType element) |
Protected Member Functions | |
| TreeIteratorBase (TTreeType *tree, const TreeNodeType *start) | |
| TreeIteratorBase (const TTreeType *tree, const TreeNodeType *start) | |
| virtual bool | HasNext () const =0 |
| virtual const ValueType & | Next ()=0 |
Protected Attributes | |
| TreeNodeType * | m_Begin |
| TreeNodeType * | m_End |
| TreeNodeType * | m_Position |
| const TreeNodeType * | m_Root |
| TTreeType * | m_Tree |
TreeIteratorBase class.
This class provides the base implementation for tree iterators
Events will notify interested observers about tree changes. These events all derive from TreeChangeEvent. They are:
All those events have a member GetChangePosition(), which returns an iterator to the position that has changd. Please note that this iterator may not be fully functional, but you should always be able to use its Get() method to retrieve the thing it points to.
Definition at line 42 of file itkTreeIteratorBase.h.
| typedef TreeIteratorBase itk::TreeIteratorBase< TTreeType >::Self |
Typedefs
Definition at line 47 of file itkTreeIteratorBase.h.
| typedef TTreeType::TreeNodeType itk::TreeIteratorBase< TTreeType >::TreeNodeType |
Definition at line 49 of file itkTreeIteratorBase.h.
| typedef TTreeType::ValueType itk::TreeIteratorBase< TTreeType >::ValueType |
Definition at line 48 of file itkTreeIteratorBase.h.
| anonymous enum |
Enumerations
| Enumerator | |
|---|---|
| UNDEFIND | |
| PREORDER | |
| INORDER | |
| POSTORDER | |
| LEVELORDER | |
| CHILD | |
| ROOT | |
| LEAF | |
Definition at line 160 of file itkTreeIteratorBase.h.
|
inlinevirtual |
Definition at line 196 of file itkTreeIteratorBase.h.
|
protected |
|
protected |
|
virtual |
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().
|
virtual |
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.
|
virtual |
|
virtual |
Return the current ChildPosition of an element
Return the current position of the child
Definition at line 228 of file itkTreeIteratorBase.txx.
|
virtual |
Return a list of children
Return the children list
Definition at line 320 of file itkTreeIteratorBase.txx.
|
pure virtual |
Clone the iterator
Implemented in itk::LevelOrderTreeIterator< TTreeType >, itk::ChildTreeIterator< TTreeType >, itk::LeafTreeIterator< TTreeType >, itk::InOrderTreeIterator< TTreeType >, itk::PostOrderTreeIterator< TTreeType >, itk::RootTreeIterator< TTreeType >, and itk::PreOrderTreeIterator< TTreeType >.
|
virtual |
Count the number of nodes
Count the number of nodes from the beginning
Definition at line 410 of file itkTreeIteratorBase.txx.
|
virtual |
Count the number of children
Definition at line 266 of file itkTreeIteratorBase.txx.
References NULL.
|
virtual |
|
virtual |
Get a value
Return the current value of the node
Definition at line 66 of file itkTreeIteratorBase.txx.
Referenced by itk::TreeContainer< TValueType >::Add(), itk::TreeContainer< TValueType >::Contains(), otb::VectorDataEditionModel::DeleteSelectedGeometriesInROI(), otb::DBOverlapDataNodeFeatureFunction< TCoordRep, TPrecision >::Evaluate(), otb::ListSampleGenerator< TImage, TVectorData >::GenerateClassStatistics(), otb::VectorDataToRightAngleVectorDataFilter< TVectorData >::GenerateData(), otb::VectorDataToRoadDescriptionFilter< TVectorData, TOpticalImage >::GenerateData(), otb::ListSampleGenerator< TImage, TVectorData >::GenerateData(), otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GenerateData(), itk::TreeContainer< TValueType >::GetNode(), itk::TreeContainer< TValueType >::IsLeaf(), itk::TreeContainer< TValueType >::IsRoot(), main(), itk::TreeContainer< TValueType >::operator==(), itk::TreeContainer< TValueType >::PrintSelf(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::PrintSelf(), otb::VectorDataEditionModel::SearchDataNodeIndexFromPoint(), and otb::PersistentDescriptorsListSampleGenerator< TInputImage, TVectorData, TFunctionType, TListSample, TLabelListSample >::ThreadedGenerateData().
|
virtual |
Return a list of child
Get a child given a number
Definition at line 391 of file itkTreeIteratorBase.txx.
References NULL.
|
virtual |
Get the current node
Get the node pointed by the iterator
Definition at line 428 of file itkTreeIteratorBase.txx.
Referenced by itk::LeafTreeIterator< TTreeType >::FindNextNode(), itk::TreeContainer< TValueType >::GetNode(), itk::TreeContainer< TValueType >::SetRoot(), and itk::TreeContainer< TValueType >::Swap().
|
virtual |
Get the node pointed by the iterator
Definition at line 436 of file itkTreeIteratorBase.txx.
| const TreeIteratorBase< TTreeType >::TreeNodeType * itk::TreeIteratorBase< TTreeType >::GetParent | ( | ) | const |
Return the first parent found
Definition at line 332 of file itkTreeIteratorBase.txx.
References NULL.
Referenced by itk::TreeContainer< TValueType >::PrintSelf().
| TreeIteratorBase< TTreeType >::TreeNodeType * itk::TreeIteratorBase< TTreeType >::GetRoot | ( | ) |
Get the root
Definition at line 444 of file itkTreeIteratorBase.txx.
| const TreeIteratorBase< TTreeType >::TreeNodeType * itk::TreeIteratorBase< TTreeType >::GetRoot | ( | ) | const |
Get the root (const)
Definition at line 452 of file itkTreeIteratorBase.txx.
|
virtual |
| TTreeType * itk::TreeIteratorBase< TTreeType >::GetTree | ( | ) | const |
|
pure virtual |
Get the type of iterator
Implemented in itk::LeafTreeIterator< TTreeType >, itk::ChildTreeIterator< TTreeType >, itk::LevelOrderTreeIterator< TTreeType >, itk::InOrderTreeIterator< TTreeType >, itk::PostOrderTreeIterator< TTreeType >, itk::RootTreeIterator< TTreeType >, and itk::PreOrderTreeIterator< TTreeType >.
|
inline |
Move an iterator to the beginning of the tree
Definition at line 132 of file itkTreeIteratorBase.h.
References itk::TreeIteratorBase< TTreeType >::m_Begin, and itk::TreeIteratorBase< TTreeType >::m_Position.
Referenced by itk::TreeContainer< TValueType >::Add(), itk::TreeContainer< TValueType >::Contains(), itk::TreeContainer< TValueType >::Count(), otb::VectorDataEditionModel::DeleteSelectedGeometriesInROI(), otb::DBOverlapDataNodeFeatureFunction< TCoordRep, TPrecision >::Evaluate(), otb::VectorDataToRightAngleVectorDataFilter< TVectorData >::GenerateData(), otb::VectorDataToRandomLineGenerator< TVectorData >::GenerateData(), otb::LabeledSampleLocalizationGenerator< TVectorData >::GenerateData(), otb::VectorDataToRoadDescriptionFilter< TVectorData, TOpticalImage >::GenerateData(), otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GenerateData(), itk::TreeContainer< TValueType >::GetNode(), itk::TreeContainer< TValueType >::IsLeaf(), itk::TreeContainer< TValueType >::IsRoot(), main(), itk::TreeContainer< TValueType >::operator==(), itk::TreeContainer< TValueType >::PrintSelf(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::PrintSelf(), otb::LabeledSampleLocalizationGenerator< TVectorData >::RandomPointsGenerator(), otb::VectorDataEditionModel::SearchDataNodeIndexFromPoint(), and otb::PersistentDescriptorsListSampleGenerator< TInputImage, TVectorData, TFunctionType, TListSample, TLabelListSample >::ThreadedGenerateData().
|
virtual |
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().
|
inline |
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.
|
virtual |
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().
|
virtual |
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().
|
protectedpure virtual |
|
virtual |
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().
|
inline |
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.
|
inline |
Is the iterator at the end of the tree?. The iterator is at the end if it points to NULL
Definition at line 151 of file itkTreeIteratorBase.h.
References itk::TreeIteratorBase< TTreeType >::m_End, and itk::TreeIteratorBase< TTreeType >::m_Position.
Referenced by itk::TreeContainer< TValueType >::Add(), itk::TreeContainer< TValueType >::Contains(), itk::TreeContainer< TValueType >::Count(), otb::VectorDataEditionModel::DeleteSelectedGeometriesInROI(), otb::DBOverlapDataNodeFeatureFunction< TCoordRep, TPrecision >::Evaluate(), itk::LeafTreeIterator< TTreeType >::FindNextNode(), otb::VectorDataToRightAngleVectorDataFilter< TVectorData >::GenerateData(), otb::VectorDataToRoadDescriptionFilter< TVectorData, TOpticalImage >::GenerateData(), otb::VectorDataToDSValidatedVectorDataFilter< TVectorData, TPrecision >::GenerateData(), itk::TreeContainer< TValueType >::GetNode(), itk::TreeContainer< TValueType >::IsLeaf(), itk::TreeContainer< TValueType >::IsRoot(), main(), itk::TreeContainer< TValueType >::operator==(), itk::TreeContainer< TValueType >::PrintSelf(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::PrintSelf(), otb::VectorDataEditionModel::SearchDataNodeIndexFromPoint(), and otb::PersistentDescriptorsListSampleGenerator< TInputImage, TVectorData, TFunctionType, TListSample, TLabelListSample >::ThreadedGenerateData().
|
virtual |
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().
|
virtual |
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.
|
protectedpure virtual |
Implemented in itk::LevelOrderTreeIterator< TTreeType >, itk::ChildTreeIterator< TTreeType >, itk::LeafTreeIterator< TTreeType >, itk::InOrderTreeIterator< TTreeType >, itk::RootTreeIterator< TTreeType >, itk::PostOrderTreeIterator< TTreeType >, and itk::PreOrderTreeIterator< TTreeType >.
Referenced by itk::TreeIteratorBase< TTreeType >::operator++().
|
inline |
operator++
Definition at line 173 of file itkTreeIteratorBase.h.
References itk::TreeIteratorBase< TTreeType >::Next().
|
inline |
operator++
Definition at line 180 of file itkTreeIteratorBase.h.
References itk::TreeIteratorBase< TTreeType >::Next().
|
inline |
operator =
Definition at line 186 of file itkTreeIteratorBase.h.
References itk::TreeIteratorBase< TTreeType >::m_Begin, itk::TreeIteratorBase< TTreeType >::m_End, itk::TreeIteratorBase< TTreeType >::m_Position, itk::TreeIteratorBase< TTreeType >::m_Root, and itk::TreeIteratorBase< TTreeType >::m_Tree.
Referenced by itk::ChildTreeIterator< TTreeType >::operator=(), and itk::LevelOrderTreeIterator< TTreeType >::operator=().
|
virtual |
Return a list of parents
Return the list of parents
Definition at line 344 of file itkTreeIteratorBase.txx.
| bool itk::TreeIteratorBase< TTreeType >::Remove | ( | ) |
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().
|
virtual |
Remove a child
Definition at line 240 of file itkTreeIteratorBase.txx.
References itk::TreeIteratorBase< TTreeType >::m_Position, and NULL.
| void itk::TreeIteratorBase< TTreeType >::Set | ( | ValueType | element | ) |
Set the current value of the node
Definition at line 74 of file itkTreeIteratorBase.txx.
|
mutableprotected |
Definition at line 205 of file itkTreeIteratorBase.h.
Referenced by itk::ChildTreeIterator< TTreeType >::ChildTreeIterator(), itk::TreeIteratorBase< TTreeType >::GoToBegin(), itk::TreeIteratorBase< TTreeType >::IsAtBegin(), itk::LeafTreeIterator< TTreeType >::LeafTreeIterator(), itk::TreeIteratorBase< TTreeType >::operator=(), itk::PostOrderTreeIterator< TTreeType >::PostOrderTreeIterator(), and itk::RootTreeIterator< TTreeType >::RootTreeIterator().
|
mutableprotected |
Definition at line 206 of file itkTreeIteratorBase.h.
Referenced by itk::TreeIteratorBase< TTreeType >::GoToEnd(), itk::TreeIteratorBase< TTreeType >::IsAtEnd(), and itk::TreeIteratorBase< TTreeType >::operator=().
|
mutableprotected |
Definition at line 204 of file itkTreeIteratorBase.h.
Referenced by itk::TreeIteratorBase< TTreeType >::Add(), itk::ChildTreeIterator< TTreeType >::ChildTreeIterator(), itk::TreeIteratorBase< TTreeType >::GoToBegin(), itk::TreeIteratorBase< TTreeType >::GoToEnd(), itk::TreeIteratorBase< TTreeType >::IsAtBegin(), itk::TreeIteratorBase< TTreeType >::IsAtEnd(), itk::TreeIteratorBase< TTreeType >::operator=(), itk::PostOrderTreeIterator< TTreeType >::PostOrderTreeIterator(), itk::TreeIteratorBase< TTreeType >::RemoveChild(), and itk::RootTreeIterator< TTreeType >::RootTreeIterator().
|
protected |
Definition at line 207 of file itkTreeIteratorBase.h.
Referenced by itk::TreeIteratorBase< TTreeType >::operator=(), and itk::RootTreeIterator< TTreeType >::RootTreeIterator().
|
protected |
Definition at line 208 of file itkTreeIteratorBase.h.
Referenced by itk::TreeIteratorBase< TTreeType >::operator=().