<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>ITK: itkQuadEdgeMeshBaseIterator.h Source File</title> <link href="DoxygenStyle.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Section customized for INSIGHT : Tue Jul 17 01:02:45 2001 --> <center> <a href="index.html" class="qindex">Main Page</a> <a href="modules.html" class="qindex">Groups</a> <a href="namespaces.html" class="qindex">Namespace List</a> <a href="hierarchy.html" class="qindex">Class Hierarchy</a> <a href="classes.html" class="qindex">Alphabetical List</a> <a href="annotated.html" class="qindex">Compound List</a> <a href="files.html" class="qindex">File List</a> <a href="namespacemembers.html" class="qindex">Namespace Members</a> <a href="functions.html" class="qindex">Compound Members</a> <a href="globals.html" class="qindex">File Members</a> <a href="pages.html" class="qindex">Concepts</a></center> <!-- Generated by Doxygen 1.5.9 --> <div class="navpath"><a class="el" href="dir_02e23d841c198393a6e961e9a0678fff.html">Code</a> » <a class="el" href="dir_dd352b1cbb04f9ff09fa5f33693fed9f.html">Review</a> </div> <div class="contents"> <h1>itkQuadEdgeMeshBaseIterator.h</h1><a href="itkQuadEdgeMeshBaseIterator_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*=========================================================================</span> <a name="l00002"></a>00002 <span class="comment"></span> <a name="l00003"></a>00003 <span class="comment"> Program: Insight Segmentation & Registration Toolkit</span> <a name="l00004"></a>00004 <span class="comment"> Module: $RCSfile: itkQuadEdgeMeshBaseIterator.h,v $</span> <a name="l00005"></a>00005 <span class="comment"> Language: C++</span> <a name="l00006"></a>00006 <span class="comment"> Date: $Date: 2009-02-10 05:07:49 $</span> <a name="l00007"></a>00007 <span class="comment"> Version: $Revision: 1.7 $</span> <a name="l00008"></a>00008 <span class="comment"></span> <a name="l00009"></a>00009 <span class="comment"> Copyright (c) Insight Software Consortium. All rights reserved.</span> <a name="l00010"></a>00010 <span class="comment"> See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.</span> <a name="l00011"></a>00011 <span class="comment"></span> <a name="l00012"></a>00012 <span class="comment"> This software is distributed WITHOUT ANY WARRANTY; without even</span> <a name="l00013"></a>00013 <span class="comment"> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span> <a name="l00014"></a>00014 <span class="comment"> PURPOSE. See the above copyright notices for more information.</span> <a name="l00015"></a>00015 <span class="comment"></span> <a name="l00016"></a>00016 <span class="comment">=========================================================================*/</span> <a name="l00017"></a>00017 <span class="preprocessor">#ifndef __itkQuadEdgeMeshBaseIterator_h</span> <a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __itkQuadEdgeMeshBaseIterator_h</span> <a name="l00019"></a>00019 <span class="preprocessor"></span> <a name="l00020"></a>00020 <span class="comment">// -------------------------------------------------------------------------</span> <a name="l00021"></a><a class="code" href="itkQuadEdgeMeshBaseIterator_8h.html#99c2d03ceaa8d71e79266cc14816d1fb">00021</a> <span class="preprocessor">#define itkQEDefineIteratorMethodsMacro( Op ) \</span> <a name="l00022"></a>00022 <span class="preprocessor"> virtual Iterator Begin##Op() \</span> <a name="l00023"></a>00023 <span class="preprocessor"> { \</span> <a name="l00024"></a>00024 <span class="preprocessor"> return Iterator( this, Self::Iterator::Operator##Op, true ); \</span> <a name="l00025"></a>00025 <span class="preprocessor"> } \</span> <a name="l00026"></a>00026 <span class="preprocessor"> \</span> <a name="l00027"></a>00027 <span class="preprocessor"> virtual ConstIterator Begin##Op() const \</span> <a name="l00028"></a>00028 <span class="preprocessor"> { \</span> <a name="l00029"></a>00029 <span class="preprocessor"> return ConstIterator( this, Self::ConstIterator::Operator##Op, \</span> <a name="l00030"></a>00030 <span class="preprocessor"> true ); \</span> <a name="l00031"></a>00031 <span class="preprocessor"> } \</span> <a name="l00032"></a>00032 <span class="preprocessor"> \</span> <a name="l00033"></a>00033 <span class="preprocessor"> virtual Iterator End##Op() \</span> <a name="l00034"></a>00034 <span class="preprocessor"> { \</span> <a name="l00035"></a>00035 <span class="preprocessor"> return Iterator( this, Self::Iterator::Operator##Op, false ); \</span> <a name="l00036"></a>00036 <span class="preprocessor"> } \</span> <a name="l00037"></a>00037 <span class="preprocessor"> \</span> <a name="l00038"></a>00038 <span class="preprocessor"> virtual ConstIterator End##Op() const \</span> <a name="l00039"></a>00039 <span class="preprocessor"> { \</span> <a name="l00040"></a>00040 <span class="preprocessor"> return ConstIterator( this, Self::ConstIterator::Operator##Op, \</span> <a name="l00041"></a>00041 <span class="preprocessor"> false ); \</span> <a name="l00042"></a>00042 <span class="preprocessor"> }</span> <a name="l00043"></a>00043 <span class="preprocessor"></span> <a name="l00044"></a>00044 <span class="comment">// -------------------------------------------------------------------------</span> <a name="l00045"></a><a class="code" href="itkQuadEdgeMeshBaseIterator_8h.html#7b9d5450e4338c87e2df308eccfab730">00045</a> <span class="preprocessor">#define itkQEDefineIteratorGeomMethodsMacro( Op ) \</span> <a name="l00046"></a>00046 <span class="preprocessor"> virtual IteratorGeom BeginGeom##Op() \</span> <a name="l00047"></a>00047 <span class="preprocessor"> { \</span> <a name="l00048"></a>00048 <span class="preprocessor"> return IteratorGeom( this, Self::IteratorGeom::Operator##Op, \</span> <a name="l00049"></a>00049 <span class="preprocessor"> true ); \</span> <a name="l00050"></a>00050 <span class="preprocessor"> } \</span> <a name="l00051"></a>00051 <span class="preprocessor"> \</span> <a name="l00052"></a>00052 <span class="preprocessor"> virtual ConstIteratorGeom BeginGeom##Op() const \</span> <a name="l00053"></a>00053 <span class="preprocessor"> { \</span> <a name="l00054"></a>00054 <span class="preprocessor"> return ConstIteratorGeom( this, \</span> <a name="l00055"></a>00055 <span class="preprocessor"> Self::ConstIteratorGeom::Operator##Op, true ); \</span> <a name="l00056"></a>00056 <span class="preprocessor"> } \</span> <a name="l00057"></a>00057 <span class="preprocessor"> \</span> <a name="l00058"></a>00058 <span class="preprocessor"> virtual IteratorGeom EndGeom##Op() \</span> <a name="l00059"></a>00059 <span class="preprocessor"> { \</span> <a name="l00060"></a>00060 <span class="preprocessor"> return IteratorGeom( this, Self::IteratorGeom::Operator##Op, \</span> <a name="l00061"></a>00061 <span class="preprocessor"> false ); \</span> <a name="l00062"></a>00062 <span class="preprocessor"> } \</span> <a name="l00063"></a>00063 <span class="preprocessor"> \</span> <a name="l00064"></a>00064 <span class="preprocessor"> virtual ConstIteratorGeom EndGeom##Op() const \</span> <a name="l00065"></a>00065 <span class="preprocessor"> { \</span> <a name="l00066"></a>00066 <span class="preprocessor"> return ConstIteratorGeom( this, \</span> <a name="l00067"></a>00067 <span class="preprocessor"> Self::ConstIteratorGeom::Operator##Op, false ); \</span> <a name="l00068"></a>00068 <span class="preprocessor"> }</span> <a name="l00069"></a>00069 <span class="preprocessor"></span> <a name="l00070"></a>00070 <a name="l00071"></a>00071 <span class="keyword">namespace </span>itk <a name="l00072"></a>00072 { <a name="l00078"></a>00078 <span class="keyword">template</span>< <span class="keyword">typename</span> TQuadEdge > <a name="l00079"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html">00079</a> <span class="keyword">class </span><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">QuadEdgeMeshBaseIterator</a> <a name="l00080"></a>00080 { <a name="l00081"></a>00081 <span class="keyword">public</span>: <a name="l00082"></a>00082 <span class="comment">// Hierarchy typedefs & values.</span> <a name="l00083"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#46ff0b7ce1c1a89884573e12c4345147">00083</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">QuadEdgeMeshBaseIterator</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a>; <a name="l00084"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#9d6b44edca058f3e1881574eb96cf880">00084</a> <span class="keyword">typedef</span> TQuadEdge <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#9d6b44edca058f3e1881574eb96cf880">QuadEdgeType</a>; <a name="l00085"></a>00085 <a name="l00086"></a>00086 <span class="comment">// Different types of iterators, one for each basic QE operation.</span> <a name="l00087"></a>00087 <span class="keyword">enum</span> <a name="l00088"></a>00088 { <a name="l00089"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772484cadf51facbff58a4dc882f21ca1d9">00089</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772484cadf51facbff58a4dc882f21ca1d9">OperatorOnext</a> = 0, <a name="l00090"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772adaf5047c465de0cfd44d4fc71c2863c">00090</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772adaf5047c465de0cfd44d4fc71c2863c">OperatorSym</a> = 1, <a name="l00091"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772740e985ab8308878fc5dabce8021c61a">00091</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772740e985ab8308878fc5dabce8021c61a">OperatorLnext</a> = 2, <a name="l00092"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577727e86cb00143f02c1da4910f562ed1c8a">00092</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577727e86cb00143f02c1da4910f562ed1c8a">OperatorRnext</a> = 3, <a name="l00093"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772c5fa798e5b288242abc0be91e9a7f2c9">00093</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772c5fa798e5b288242abc0be91e9a7f2c9">OperatorDnext</a> = 4, <a name="l00094"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772d2def4df4dc5ca40fdf4bd0b0be3e07b">00094</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772d2def4df4dc5ca40fdf4bd0b0be3e07b">OperatorOprev</a> = 5, <a name="l00095"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577729bd7444268e7bdb63f168fc3e8fc8daf">00095</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577729bd7444268e7bdb63f168fc3e8fc8daf">OperatorLprev</a> = 6, <a name="l00096"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772eeba02cacef0fa8e375e5e38c9ccc96f">00096</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772eeba02cacef0fa8e375e5e38c9ccc96f">OperatorRprev</a> = 7, <a name="l00097"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772f24888c9ce7d662760b20dc172f9aacd">00097</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772f24888c9ce7d662760b20dc172f9aacd">OperatorDprev</a> = 8, <a name="l00098"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577720650aa5093a10b4da5111df0d870859f">00098</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577720650aa5093a10b4da5111df0d870859f">OperatorInvOnext</a> = 9, <a name="l00099"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577722b5b59515f4c37ba05b7c09608d3b061">00099</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577722b5b59515f4c37ba05b7c09608d3b061">OperatorInvLnext</a> = 10, <a name="l00100"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e2465777221966774849cf0f9e2162a583accb9d9">00100</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e2465777221966774849cf0f9e2162a583accb9d9">OperatorInvRnext</a> = 11, <a name="l00101"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e2465777258dca9bcae44ad9f37896a96a370143e">00101</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e2465777258dca9bcae44ad9f37896a96a370143e">OperatorInvDnext</a> = 12 <a name="l00102"></a>00102 }; <a name="l00103"></a>00103 <a name="l00104"></a>00104 <span class="keyword">public</span>: <a name="l00105"></a>00105 <span class="comment">// Object creation methods.</span> <a name="l00106"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#f32cc63ab023f012774d194be9f1360d">00106</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#f32cc63ab023f012774d194be9f1360d">QuadEdgeMeshBaseIterator</a>( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#9d6b44edca058f3e1881574eb96cf880">QuadEdgeType</a>* e, <a name="l00107"></a>00107 <span class="keywordtype">int</span> op = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772484cadf51facbff58a4dc882f21ca1d9">OperatorOnext</a>, <a name="l00108"></a>00108 <span class="keywordtype">bool</span> start = <span class="keyword">true</span> ) <a name="l00109"></a>00109 : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a>( e ), <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>( e ), <a name="l00110"></a>00110 <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a>( op ), <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a>( start ) {} <a name="l00111"></a>00111 <a name="l00112"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#20fb4e6b52d4864a5f8d37acdf3e4c97">00112</a> <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#20fb4e6b52d4864a5f8d37acdf3e4c97">~QuadEdgeMeshBaseIterator</a>() {} <a name="l00113"></a>00113 <a name="l00114"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#1b1ca035a8787c20e7baa3e138bbc794">00114</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a>& <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#1b1ca035a8787c20e7baa3e138bbc794">operator=</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a>& r ) <a name="l00115"></a>00115 { <a name="l00116"></a>00116 <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a>; <a name="l00117"></a>00117 <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>; <a name="l00118"></a>00118 <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a>; <a name="l00119"></a>00119 <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a>; <a name="l00120"></a>00120 <span class="keywordflow">return</span>( *<span class="keyword">this</span> ); <a name="l00121"></a>00121 } <a name="l00122"></a>00122 <a name="l00123"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#219ee484ea2ceefefc9a4f3e8c0c6ffb">00123</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#9d6b44edca058f3e1881574eb96cf880">QuadEdgeType</a>* <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#219ee484ea2ceefefc9a4f3e8c0c6ffb">GetStartEdge</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a> ); } <a name="l00124"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#8ecb4c20f998e0a59e56973242e70c51">00124</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#9d6b44edca058f3e1881574eb96cf880">QuadEdgeType</a>* <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#8ecb4c20f998e0a59e56973242e70c51">GetIterator</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> ); } <a name="l00125"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#265aeed0ab5f5760b9ac485447cd78f5">00125</a> <span class="keywordtype">int</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#265aeed0ab5f5760b9ac485447cd78f5">GetOpType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a> ); } <a name="l00126"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#3c4aec2d4ac01bb3578a7716985ac8bc">00126</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#3c4aec2d4ac01bb3578a7716985ac8bc">GetStart</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> ); } <a name="l00127"></a>00127 <a name="l00129"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#b7bfc8ddd1879f1e89dace691d837214">00129</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#b7bfc8ddd1879f1e89dace691d837214">operator==</a>( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a> & r ) <a name="l00130"></a>00130 { <a name="l00131"></a>00131 <span class="keywordflow">return</span>( ( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a> == r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a> ) && <a name="l00132"></a>00132 ( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> == r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> ) && <a name="l00133"></a>00133 ( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a> == r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a> ) && <a name="l00134"></a>00134 ( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> == r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> ) ); <a name="l00135"></a>00135 } <a name="l00136"></a>00136 <a name="l00137"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#bb44274aec9723876a667395e5b4fb1b">00137</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#b7bfc8ddd1879f1e89dace691d837214">operator==</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a> & r )<span class="keyword"> const</span> <a name="l00138"></a>00138 <span class="keyword"> </span>{ <a name="l00139"></a>00139 <span class="keywordflow">return</span>( ( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a> == r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a> ) && <a name="l00140"></a>00140 ( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> == r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> ) && <a name="l00141"></a>00141 ( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a> == r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a> ) && <a name="l00142"></a>00142 ( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> == r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> ) ); <a name="l00143"></a>00143 } <a name="l00144"></a>00144 <a name="l00145"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#8af58f65ea9a72aa429904a060fd970a">00145</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#8af58f65ea9a72aa429904a060fd970a">operator!=</a>( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a> & r ) <a name="l00146"></a>00146 { <a name="l00147"></a>00147 <span class="keywordflow">return</span>( !( this-><span class="keyword">operator</span>==( r ) ) ); <a name="l00148"></a>00148 } <a name="l00149"></a>00149 <a name="l00150"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#a4b2c11d6e6307e6f4c2510986813ffa">00150</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#8af58f65ea9a72aa429904a060fd970a">operator!=</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a> & r )<span class="keyword"> const</span> <a name="l00151"></a>00151 <span class="keyword"> </span>{ <a name="l00152"></a>00152 <span class="keywordflow">return</span>( !( this-><span class="keyword">operator</span>==( r ) ) ); <a name="l00153"></a>00153 } <a name="l00154"></a>00154 <a name="l00155"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#248d239a4f3d45569179cf3cf9b1cf36">00155</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a> & <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#248d239a4f3d45569179cf3cf9b1cf36">operator++</a>() <a name="l00156"></a>00156 { <a name="l00157"></a>00157 <span class="keywordflow">if</span>( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> ) <a name="l00158"></a>00158 { <a name="l00159"></a>00159 this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#72e9c165538120f6764ce6798cbe7c8d">GoToNext</a>(); <a name="l00160"></a>00160 <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> = !( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> == <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a> ); <a name="l00161"></a>00161 } <a name="l00162"></a>00162 <a name="l00163"></a>00163 <span class="keywordflow">return</span>( *<span class="keyword">this</span> ); <a name="l00164"></a>00164 } <a name="l00165"></a>00165 <a name="l00166"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#5fac5bb14cbe5d450a0068c55a4a42fe">00166</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a> & <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#248d239a4f3d45569179cf3cf9b1cf36">operator++</a>( <span class="keywordtype">int</span> ) <a name="l00167"></a>00167 { <a name="l00168"></a>00168 <span class="keywordflow">if</span>( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> ) <a name="l00169"></a>00169 { <a name="l00170"></a>00170 this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#72e9c165538120f6764ce6798cbe7c8d">GoToNext</a>(); <a name="l00171"></a>00171 <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> = !( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> == <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a> ); <a name="l00172"></a>00172 } <a name="l00173"></a>00173 <span class="keywordflow">return</span>( *<span class="keyword">this</span> ); <a name="l00174"></a>00174 } <a name="l00175"></a>00175 <a name="l00176"></a>00176 <span class="keyword">protected</span>: <a name="l00178"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#72e9c165538120f6764ce6798cbe7c8d">00178</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#72e9c165538120f6764ce6798cbe7c8d">GoToNext</a>() <a name="l00179"></a>00179 { <a name="l00180"></a>00180 <span class="keywordflow">switch</span>( <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a> ) <a name="l00181"></a>00181 { <a name="l00182"></a>00182 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772484cadf51facbff58a4dc882f21ca1d9">OperatorOnext</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetOnext(); <a name="l00183"></a>00183 <span class="keywordflow">break</span>; <a name="l00184"></a>00184 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772adaf5047c465de0cfd44d4fc71c2863c">OperatorSym</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetSym(); <a name="l00185"></a>00185 <span class="keywordflow">break</span>; <a name="l00186"></a>00186 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772740e985ab8308878fc5dabce8021c61a">OperatorLnext</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetLnext(); <a name="l00187"></a>00187 <span class="keywordflow">break</span>; <a name="l00188"></a>00188 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577727e86cb00143f02c1da4910f562ed1c8a">OperatorRnext</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetRnext(); <a name="l00189"></a>00189 <span class="keywordflow">break</span>; <a name="l00190"></a>00190 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772c5fa798e5b288242abc0be91e9a7f2c9">OperatorDnext</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetDnext(); <a name="l00191"></a>00191 <span class="keywordflow">break</span>; <a name="l00192"></a>00192 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772d2def4df4dc5ca40fdf4bd0b0be3e07b">OperatorOprev</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetOprev(); <a name="l00193"></a>00193 <span class="keywordflow">break</span>; <a name="l00194"></a>00194 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577729bd7444268e7bdb63f168fc3e8fc8daf">OperatorLprev</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetLprev(); <a name="l00195"></a>00195 <span class="keywordflow">break</span>; <a name="l00196"></a>00196 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772eeba02cacef0fa8e375e5e38c9ccc96f">OperatorRprev</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetRprev(); <a name="l00197"></a>00197 <span class="keywordflow">break</span>; <a name="l00198"></a>00198 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772f24888c9ce7d662760b20dc172f9aacd">OperatorDprev</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetDprev(); <a name="l00199"></a>00199 <span class="keywordflow">break</span>; <a name="l00200"></a>00200 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577720650aa5093a10b4da5111df0d870859f">OperatorInvOnext</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetInvOnext(); <a name="l00201"></a>00201 <span class="keywordflow">break</span>; <a name="l00202"></a>00202 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e246577722b5b59515f4c37ba05b7c09608d3b061">OperatorInvLnext</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetInvLnext(); <a name="l00203"></a>00203 <span class="keywordflow">break</span>; <a name="l00204"></a>00204 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e2465777221966774849cf0f9e2162a583accb9d9">OperatorInvRnext</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetInvRnext(); <a name="l00205"></a>00205 <span class="keywordflow">break</span>; <a name="l00206"></a>00206 <span class="keywordflow">case</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e2465777258dca9bcae44ad9f37896a96a370143e">OperatorInvDnext</a> : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetInvDnext(); <a name="l00207"></a>00207 <span class="keywordflow">break</span>; <a name="l00208"></a>00208 <span class="keywordflow">default</span>: <span class="keywordflow">break</span>; <a name="l00209"></a>00209 } <a name="l00210"></a>00210 } <a name="l00212"></a>00212 <a name="l00213"></a>00213 <span class="keyword">protected</span>: <a name="l00214"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">00214</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#9d6b44edca058f3e1881574eb96cf880">QuadEdgeType</a> * <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a>; <a name="l00215"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3">00215</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#9d6b44edca058f3e1881574eb96cf880">QuadEdgeType</a> * <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>; <a name="l00216"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335">00216</a> <span class="keywordtype">int</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a>; <a name="l00217"></a><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e">00217</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a>; <a name="l00218"></a>00218 }; <a name="l00219"></a>00219 <a name="l00225"></a>00225 <span class="keyword">template</span>< <span class="keyword">typename</span> TQuadEdge > <a name="l00226"></a><a class="code" href="classitk_1_1QuadEdgeMeshIterator.html">00226</a> <span class="keyword">class </span><a class="code" href="classitk_1_1QuadEdgeMeshIterator.html" title="Non const iterator for QuadMesh.">QuadEdgeMeshIterator</a> <a name="l00227"></a>00227 : <span class="keyword">public</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">QuadEdgeMeshBaseIterator</a>< TQuadEdge > <a name="l00228"></a>00228 { <a name="l00229"></a>00229 <span class="keyword">public</span>: <a name="l00230"></a>00230 <a name="l00232"></a><a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#90763d7d09571b00ece25fbd8dd5e2ba">00232</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html" title="Non const iterator for QuadMesh.">QuadEdgeMeshIterator</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a>; <a name="l00233"></a><a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#ff3b797960753b743a9b0c7ac44f7bb0">00233</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">QuadEdgeMeshBaseIterator< TQuadEdge ></a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html">Superclass</a>; <a name="l00234"></a><a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#d2638c3a5ee9cb2e0747ec51ceccccd7">00234</a> <span class="keyword">typedef</span> TQuadEdge <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#d2638c3a5ee9cb2e0747ec51ceccccd7">QuadEdgeType</a>; <a name="l00235"></a>00235 <a name="l00236"></a>00236 <span class="keyword">public</span>: <a name="l00238"></a><a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#e1619870e44ecc946b438d4c2dc7c373">00238</a> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#e1619870e44ecc946b438d4c2dc7c373">QuadEdgeMeshIterator</a>( <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#d2638c3a5ee9cb2e0747ec51ceccccd7">QuadEdgeType</a>* e = (<a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#d2638c3a5ee9cb2e0747ec51ceccccd7">QuadEdgeType</a>*)0, <a name="l00239"></a>00239 <span class="keywordtype">int</span> op = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772484cadf51facbff58a4dc882f21ca1d9">Superclass::OperatorOnext</a>, <a name="l00240"></a>00240 <span class="keywordtype">bool</span> start = <span class="keyword">true</span> ) <a name="l00241"></a>00241 : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html">Superclass</a>( e, op, start ) {} <a name="l00242"></a>00242 <a name="l00243"></a><a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#455fa2c024d221779bfb15ec27fc4228">00243</a> <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#455fa2c024d221779bfb15ec27fc4228">~QuadEdgeMeshIterator</a>() {} <a name="l00244"></a>00244 <a name="l00245"></a><a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#811fd8bac4631bcd42a6d6f13b6c3558">00245</a> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#d2638c3a5ee9cb2e0747ec51ceccccd7">QuadEdgeType</a> * <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#811fd8bac4631bcd42a6d6f13b6c3558">Value</a>() { <span class="keywordflow">return</span>( this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> ); } <a name="l00246"></a><a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#39d8451317cc3fc1403333548fb2a296">00246</a> <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#d2638c3a5ee9cb2e0747ec51ceccccd7">QuadEdgeType</a> * <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html#39d8451317cc3fc1403333548fb2a296">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>( this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> ); } <a name="l00247"></a>00247 }; <a name="l00248"></a>00248 <a name="l00254"></a>00254 <span class="keyword">template</span>< <span class="keyword">typename</span> TGeometricalQuadEdge > <a name="l00255"></a><a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html">00255</a> <span class="keyword">class </span><a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html" title="Non const geometrical iterator.">QuadEdgeMeshIteratorGeom</a> <a name="l00256"></a>00256 : <span class="keyword">public</span> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html" title="Non const iterator for QuadMesh.">QuadEdgeMeshIterator</a>< TGeometricalQuadEdge > <a name="l00257"></a>00257 { <a name="l00258"></a>00258 <span class="keyword">public</span>: <a name="l00259"></a>00259 <a name="l00261"></a><a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#ade06a4df8669c046bac56ab9417700a">00261</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html">QuadEdgeMeshIterator< TGeometricalQuadEdge ></a> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html">Superclass</a>; <a name="l00262"></a><a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#98c4c0a173326fd030f320e7fb3a36de">00262</a> <span class="keyword">typedef</span> TGeometricalQuadEdge <a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#98c4c0a173326fd030f320e7fb3a36de">QuadEdgeType</a>; <a name="l00263"></a>00263 <a name="l00265"></a><a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#b88822d56de4870a14a18f6096776481">00265</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> QuadEdgeType::OriginRefType <a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#b88822d56de4870a14a18f6096776481">OriginRefType</a>; <a name="l00266"></a>00266 <a name="l00267"></a>00267 <span class="keyword">public</span>: <a name="l00268"></a><a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#2b2e6dd872705b3f1c050b3305aa3b3c">00268</a> <a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#2b2e6dd872705b3f1c050b3305aa3b3c">QuadEdgeMeshIteratorGeom</a>( <a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#98c4c0a173326fd030f320e7fb3a36de">QuadEdgeType</a>* e = (<a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#98c4c0a173326fd030f320e7fb3a36de">QuadEdgeType</a>*)0, <a name="l00269"></a>00269 <span class="keywordtype">int</span> op = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772484cadf51facbff58a4dc882f21ca1d9">Superclass::OperatorOnext</a>, <a name="l00270"></a>00270 <span class="keywordtype">bool</span> start = <span class="keyword">true</span> ) <a name="l00271"></a>00271 : <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html">Superclass</a>( e, op, start ) {} <a name="l00272"></a><a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#8977f5bcaa3978e0322d8596296c3923">00272</a> <a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#b88822d56de4870a14a18f6096776481">OriginRefType</a> <a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html#8977f5bcaa3978e0322d8596296c3923">operator*</a>() { <span class="keywordflow">return</span>( this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetOrigin( ) ); } <a name="l00273"></a>00273 }; <a name="l00274"></a>00274 <a name="l00280"></a>00280 <span class="keyword">template</span>< <span class="keyword">typename</span> TQuadEdge > <a name="l00281"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html">00281</a> <span class="keyword">class </span><a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html" title="Const iterator for QuadEdgeMesh.">QuadEdgeMeshConstIterator</a> <a name="l00282"></a>00282 : <span class="keyword">public</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">QuadEdgeMeshBaseIterator</a>< TQuadEdge > <a name="l00283"></a>00283 { <a name="l00284"></a>00284 <span class="keyword">public</span>: <a name="l00285"></a>00285 <a name="l00287"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#73230fc6a7613c7f3a6b346b39b0741e">00287</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html" title="Const iterator for QuadEdgeMesh.">QuadEdgeMeshConstIterator</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a>; <a name="l00288"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#553c7db1ec7d12a223985af6ee5d1a8c">00288</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">QuadEdgeMeshBaseIterator< TQuadEdge ></a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html">Superclass</a>; <a name="l00289"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#5d74d3c55fda050e34a3be4c7b9df26d">00289</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html" title="Non const iterator for QuadMesh.">QuadEdgeMeshIterator< TQuadEdge ></a> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html">NoConstType</a>; <a name="l00290"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#4e048c0bae35dff00f2cd03c4bd9c5b7">00290</a> <span class="keyword">typedef</span> TQuadEdge <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#4e048c0bae35dff00f2cd03c4bd9c5b7">QuadEdgeType</a>; <a name="l00291"></a>00291 <a name="l00292"></a>00292 <span class="keyword">public</span>: <a name="l00294"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#b353c0bcc37712335a3f41972b8967f6">00294</a> <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#b353c0bcc37712335a3f41972b8967f6">QuadEdgeMeshConstIterator</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#4e048c0bae35dff00f2cd03c4bd9c5b7">QuadEdgeType</a>* e = (<a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#4e048c0bae35dff00f2cd03c4bd9c5b7">QuadEdgeType</a>*)0, <a name="l00295"></a>00295 <span class="keywordtype">int</span> op = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772484cadf51facbff58a4dc882f21ca1d9">Superclass::OperatorOnext</a>, <a name="l00296"></a>00296 <span class="keywordtype">bool</span> start = <span class="keyword">true</span> ) <a name="l00297"></a>00297 : <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html">Superclass</a>( const_cast<<a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#4e048c0bae35dff00f2cd03c4bd9c5b7">QuadEdgeType</a>*>(e), op, start ) {} <a name="l00298"></a>00298 <a name="l00299"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#9583a557830ff2b23e5680ae3ccbf241">00299</a> <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#9583a557830ff2b23e5680ae3ccbf241">~QuadEdgeMeshConstIterator</a>() {} <a name="l00300"></a>00300 <a name="l00301"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#82eaaf9d7c4ef0cd9bbb928f4487e6f6">00301</a> <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html" title="Base iterator class for QuadEdgeMesh.">Self</a>& <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#82eaaf9d7c4ef0cd9bbb928f4487e6f6">operator=</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMeshIterator.html">NoConstType</a>& r ) <a name="l00302"></a>00302 { <a name="l00303"></a>00303 this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#219ee484ea2ceefefc9a4f3e8c0c6ffb">GetStartEdge</a>(); <a name="l00304"></a>00304 this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#8ecb4c20f998e0a59e56973242e70c51">GetIterator</a>(); <a name="l00305"></a>00305 this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#265aeed0ab5f5760b9ac485447cd78f5">GetOpType</a>(); <a name="l00306"></a>00306 this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#3c4aec2d4ac01bb3578a7716985ac8bc">GetStart</a>(); <a name="l00307"></a>00307 <span class="keywordflow">return</span>( *<span class="keyword">this</span> ); <a name="l00308"></a>00308 } <a name="l00309"></a>00309 <a name="l00310"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#2d923757c1b75c562ede5d49ae10d139">00310</a> <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#4e048c0bae35dff00f2cd03c4bd9c5b7">QuadEdgeType</a>* <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html#2d923757c1b75c562ede5d49ae10d139">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>( this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> ); } <a name="l00311"></a>00311 }; <a name="l00312"></a>00312 <a name="l00318"></a>00318 <span class="keyword">template</span>< <span class="keyword">typename</span> TGeometricalQuadEdge > <a name="l00319"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html">00319</a> <span class="keyword">class </span><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html" title="Const geometrical iterator.">QuadEdgeMeshConstIteratorGeom</a> <a name="l00320"></a>00320 : <span class="keyword">public</span> <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html" title="Const iterator for QuadEdgeMesh.">QuadEdgeMeshConstIterator</a>< TGeometricalQuadEdge > <a name="l00321"></a>00321 { <a name="l00322"></a>00322 <span class="keyword">public</span>: <a name="l00323"></a>00323 <a name="l00325"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#75869e4be76749aa88f4345e4822796b">00325</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html" title="Const geometrical iterator.">QuadEdgeMeshConstIteratorGeom</a> <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html" title="Const geometrical iterator.">Self</a>; <a name="l00326"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#b0afb63719a55c7f83b3909588038ba3">00326</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html">QuadEdgeMeshConstIterator< TGeometricalQuadEdge ></a> <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html">Superclass</a>; <a name="l00327"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#131d375d76723b0af845c23bc64bd40d">00327</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html" title="Non const geometrical iterator.">QuadEdgeMeshIteratorGeom< TGeometricalQuadEdge ></a> <a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html" title="Non const geometrical iterator.">NoConstType</a>; <a name="l00328"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#7a9a32f540f8e79b28513311f6973f25">00328</a> <span class="keyword">typedef</span> TGeometricalQuadEdge <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#7a9a32f540f8e79b28513311f6973f25">QuadEdgeType</a>; <a name="l00329"></a>00329 <a name="l00331"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#da956c307bcdf838580838ea88c15f03">00331</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> QuadEdgeType::OriginRefType <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#da956c307bcdf838580838ea88c15f03">OriginRefType</a>; <a name="l00332"></a>00332 <a name="l00333"></a>00333 <span class="keyword">public</span>: <a name="l00334"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#55eab981bb4f8d65ecffb0cd7d3233bb">00334</a> <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#55eab981bb4f8d65ecffb0cd7d3233bb">QuadEdgeMeshConstIteratorGeom</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#7a9a32f540f8e79b28513311f6973f25">QuadEdgeType</a>* e = (<a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#7a9a32f540f8e79b28513311f6973f25">QuadEdgeType</a>*)0, <a name="l00335"></a>00335 <span class="keywordtype">int</span> op = <a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#87863968b66b699bac1ac61e24657772484cadf51facbff58a4dc882f21ca1d9">Superclass::OperatorOnext</a>, <a name="l00336"></a>00336 <span class="keywordtype">bool</span> start = <span class="keyword">true</span> ) <a name="l00337"></a>00337 : <a class="code" href="classitk_1_1QuadEdgeMeshConstIterator.html">Superclass</a>( e, op, start ) {} <a name="l00338"></a>00338 <a name="l00339"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#34e08552f182f010ab50ee14d1e6cc54">00339</a> <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#34e08552f182f010ab50ee14d1e6cc54">~QuadEdgeMeshConstIteratorGeom</a>() {} <a name="l00340"></a>00340 <a name="l00341"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#da9baf69bb233a4ef800f0a7cfb19e39">00341</a> <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html" title="Const geometrical iterator.">Self</a>& <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#da9baf69bb233a4ef800f0a7cfb19e39">operator=</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMeshIteratorGeom.html" title="Non const geometrical iterator.">NoConstType</a>& r ) <a name="l00342"></a>00342 { <a name="l00343"></a>00343 this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#09962e0d8627f88107c3d44c2bbfd039">m_StartEdge</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#219ee484ea2ceefefc9a4f3e8c0c6ffb">GetStartEdge</a>(); <a name="l00344"></a>00344 this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#8ecb4c20f998e0a59e56973242e70c51">GetIterator</a>(); <a name="l00345"></a>00345 this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#19a8541231151802c27cc60bff694335" title="Current iteration position.">m_OpType</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#265aeed0ab5f5760b9ac485447cd78f5">GetOpType</a>(); <a name="l00346"></a>00346 this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#c10ca95ea5fc24dfe7910c9f6ba5ce2e" title="Operation type.">m_Start</a> = r.<a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#3c4aec2d4ac01bb3578a7716985ac8bc">GetStart</a>(); <a name="l00347"></a>00347 <span class="keywordflow">return</span>( *<span class="keyword">this</span> ); <a name="l00348"></a>00348 } <a name="l00349"></a>00349 <a name="l00350"></a><a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#265d0ff3d9c8962cddfa0856ed309db8">00350</a> <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#da956c307bcdf838580838ea88c15f03">OriginRefType</a> <a class="code" href="classitk_1_1QuadEdgeMeshConstIteratorGeom.html#265d0ff3d9c8962cddfa0856ed309db8">operator*</a>()<span class="keyword"> const</span> <a name="l00351"></a>00351 <span class="keyword"> </span>{ <a name="l00352"></a>00352 <span class="keywordflow">return</span>( this-><a class="code" href="classitk_1_1QuadEdgeMeshBaseIterator.html#644b976110f69484accfbdd218c104a3" title="Start edge.">m_Iterator</a>->GetOrigin() ); <a name="l00353"></a>00353 } <a name="l00354"></a>00354 }; <a name="l00355"></a>00355 <a name="l00356"></a>00356 } <a name="l00357"></a>00357 <a name="l00358"></a>00358 <span class="preprocessor">#endif </span> <a name="l00359"></a>00359 <span class="preprocessor"></span> </pre></div></div> <hr><address><small> Generated at Thu May 7 23:54:01 2009 for ITK by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img src="http://www.stack.nl/~dimitri/doxygen/doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53> </a> 1.5.9 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, © 1997-2000</small></address> </body> </html>