18 #ifndef itkSparseFieldLayer_h
19 #define itkSparseFieldLayer_h
35 template<
typename TNodeType >
40 {
return *m_Pointer; }
50 if ( m_Pointer == o.
m_Pointer ) {
return true; }
51 else {
return false; }
56 if ( m_Pointer != o.
m_Pointer ) {
return true; }
57 else {
return false; }
62 m_Pointer = m_Pointer->Next;
68 m_Pointer = m_Pointer->Previous;
73 { m_Pointer = ITK_NULLPTR; }
88 template<
typename TNodeType >
102 {
return *this->m_Pointer; }
105 {
return this->m_Pointer; }
108 {
return this->m_Pointer; }
112 this->m_Pointer = this->m_Pointer->Next;
118 this->m_Pointer = this->m_Pointer->Previous;
124 this->m_Pointer =
const_cast< TNodeType *
>( sc.
GetPointer() );
151 template<
typename TNodeType >
192 {
return m_HeadNode->Next; }
196 {
return m_HeadNode->Next; }
201 m_HeadNode->Next = m_HeadNode->Next->Next;
202 m_HeadNode->Next->Previous = m_HeadNode;
209 n->Next = m_HeadNode->Next;
210 n->Previous = m_HeadNode;
211 m_HeadNode->Next->Previous = n;
212 m_HeadNode->Next = n;
219 n->Previous->Next = n->Next;
220 n->Next->Previous = n->Previous;
226 {
return Iterator(m_HeadNode->Next); }
245 if ( m_HeadNode->Next == m_HeadNode ) {
return true; }
246 else {
return false; }
252 unsigned int Size()
const;
256 RegionListType SplitRegions(
int num)
const;
261 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
273 #ifndef ITK_MANUAL_INSTANTIATION
274 #include "itkSparseFieldLayer.hxx"
SparseFieldLayerIterator & operator=(Superclass &sc)
ConstSparseFieldLayerIterator()
Light weight base class for most itk classes.
SparseFieldLayerIterator & operator++()
void PushFront(NodeType *n)
bool operator!=(const ConstSparseFieldLayerIterator o) const
Represent the size (bounds) of a n-dimensional image.
const TNodeType * GetPointer() const
ConstIterator Begin() const
SparseFieldLayerIterator< NodeType > Iterator
const TNodeType * operator->() const
ConstSparseFieldLayerIterator< NodeType > ConstIterator
const TNodeType & operator*() const
The non-const version of the ConstSparseFieldLayerIterator.
ConstSparseFieldLayerIterator< TNodeType > Superclass
SmartPointer< const Self > ConstPointer
SparseFieldLayerIterator()
Used to iterate through an itkSparseFieldLayer.
SmartPointer< Self > Pointer
ConstSparseFieldLayerIterator & operator--()
std::vector< RegionType > RegionListType
~ConstSparseFieldLayerIterator()
Control indentation during Print() invocation.
ConstIterator End() const
SparseFieldLayerIterator(TNodeType *p)
const NodeType * Front() const
Base class for most ITK classes.
A very simple linked list that is used to manage nodes in a layer of a sparse field level-set solver...
ConstSparseFieldLayerIterator & operator++()
SparseFieldLayerIterator & operator--()
ConstSparseFieldLayerIterator(TNodeType *p)
bool operator==(const ConstSparseFieldLayerIterator o) const