<!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: itkQuadEdgeMesh.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>itkQuadEdgeMesh.h</h1><a href="itkQuadEdgeMesh_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: itkQuadEdgeMesh.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-07 23:16:28 $</span> <a name="l00007"></a>00007 <span class="comment"> Version: $Revision: 1.33 $</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 <a name="l00018"></a>00018 <span class="preprocessor">#ifndef __itkQuadEdgeMesh_h</span> <a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define __itkQuadEdgeMesh_h</span> <a name="l00020"></a>00020 <span class="preprocessor"></span> <a name="l00021"></a>00021 <span class="preprocessor">#include "vcl_cstdarg.h"</span> <a name="l00022"></a>00022 <span class="preprocessor">#include <queue></span> <a name="l00023"></a>00023 <span class="preprocessor">#include <vector></span> <a name="l00024"></a>00024 <span class="preprocessor">#include <list></span> <a name="l00025"></a>00025 <a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="itkMesh_8h.html">itkMesh.h</a>"</span> <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="itkQuadEdgeMeshTraits_8h.html">itkQuadEdgeMeshTraits.h</a>"</span> <a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="itkQuadEdgeMeshLineCell_8h.html">itkQuadEdgeMeshLineCell.h</a>"</span> <a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="itkQuadEdgeMeshPolygonCell_8h.html">itkQuadEdgeMeshPolygonCell.h</a>"</span> <a name="l00031"></a>00031 <a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="itkQuadEdgeMeshFrontIterator_8h.html">itkQuadEdgeMeshFrontIterator.h</a>"</span> <a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="itkConceptChecking_8h.html">itkConceptChecking.h</a>"</span> <a name="l00034"></a>00034 <a name="l00097"></a>00097 <span class="keyword">namespace </span>itk <a name="l00098"></a>00098 { <a name="l00099"></a>00099 <a name="l00111"></a>00111 <span class="keyword">template</span>< <span class="keyword">typename</span> TPixel, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> VDimension, <a name="l00112"></a>00112 <span class="keyword">typename</span> TTraits = QuadEdgeMeshTraits< TPixel, VDimension, bool, bool > > <a name="l00113"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html">00113</a> <span class="keyword">class </span><a class="code" href="classitk_1_1QuadEdgeMesh.html" title="Mesh class for 2D manifolds embedded in ND space.">QuadEdgeMesh</a> : <span class="keyword">public</span> <a class="code" href="classitk_1_1Mesh.html" title="Implements the N-dimensional mesh structure.">Mesh</a>< TPixel, VDimension, TTraits > <a name="l00114"></a>00114 { <a name="l00115"></a>00115 <span class="keyword">public</span>: <a name="l00116"></a>00116 <a name="l00118"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#0f85eb2bc39533d9ca9fb20843e3e881">00118</a> <span class="keyword">typedef</span> TTraits <a class="code" href="classitk_1_1QuadEdgeMesh.html#0f85eb2bc39533d9ca9fb20843e3e881">Traits</a>; <a name="l00119"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#33329a31a7d2fc01cdee1ed7168f790f">00119</a> <span class="keyword">typedef</span> TPixel <a class="code" href="classitk_1_1QuadEdgeMesh.html#33329a31a7d2fc01cdee1ed7168f790f">PixelType</a>; <a name="l00120"></a>00120 <a name="l00122"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#e71b7455a7cd8ed3f3bd7ff39bb143f0">00122</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html" title="Mesh class for 2D manifolds embedded in ND space.">QuadEdgeMesh</a> <a class="code" href="classitk_1_1DataObject.html" title="Base class for all data objects in ITK.">Self</a>; <a name="l00123"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#85e2319a5627c1ef2b9241a47dd58e46">00123</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1Mesh.html" title="Implements the N-dimensional mesh structure.">Mesh< TPixel, VDimension, Traits ></a> <a class="code" href="classitk_1_1Object.html" title="Base class for most itk classes.">Superclass</a>; <a name="l00124"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#39759883977de58c707b05305c004025">00124</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1SmartPointer.html">SmartPointer< Self ></a> <a class="code" href="classitk_1_1SmartPointer.html">Pointer</a>; <a name="l00125"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#9e75dcb65aafa26d8934405c471091ad">00125</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1SmartPointer.html">SmartPointer< const Self ></a> <a class="code" href="classitk_1_1SmartPointer.html">ConstPointer</a>; <a name="l00126"></a>00126 <a name="l00128"></a>00128 <a class="code" href="classitk_1_1QuadEdgeMesh.html#6e727a49415fad7617c5f38be127ca40">itkStaticConstMacro</a>( PointDimension, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, <a name="l00129"></a>00129 Traits::PointDimension ); <a name="l00130"></a>00130 <a class="code" href="classitk_1_1QuadEdgeMesh.html#6e727a49415fad7617c5f38be127ca40">itkStaticConstMacro</a>( MaxTopologicalDimension, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, <a name="l00131"></a>00131 Traits::MaxTopologicalDimension ); <a name="l00133"></a>00133 <a name="l00135"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#c0f3ac589bddbe1a7e2058a3ee9052fc">00135</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#d3b778af7f3139bb620bfe7925ec4033">Superclass::CellPixelType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#c0f3ac589bddbe1a7e2058a3ee9052fc">CellPixelType</a>; <a name="l00136"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#13d356d0bf430b22ae5b7e874b5e33a3">00136</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#6c3bd3b3b4c902a0bfac895652fcd820">Superclass::CoordRepType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#13d356d0bf430b22ae5b7e874b5e33a3">CoordRepType</a>; <a name="l00137"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">00137</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#ed2fd3a942ea6f1119ade8923c676d39">Superclass::PointIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>; <a name="l00138"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#ae3810af7bda626aa38cff82f7c1a114">00138</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#84e70aad2db6c0d8aa9750493cdd623a">Superclass::PointHashType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#ae3810af7bda626aa38cff82f7c1a114">PointHashType</a>; <a name="l00139"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#dade9a09348133ac90394562a7095ffb">00139</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#ab87c54f2113c452e56f438684ae7238">Superclass::PointType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#dade9a09348133ac90394562a7095ffb">PointType</a>; <a name="l00140"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#98544f0af4f09b772d2ac96d2c23d87b">00140</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#5d92f60ec0c0053a292cd559d9872b12">Superclass::CellTraits</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#98544f0af4f09b772d2ac96d2c23d87b">CellTraits</a>; <a name="l00141"></a>00141 <a name="l00142"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#077a3448c6833d68ca4b53baec670a53">00142</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> CellTraits::PointIdInternalIterator <a class="code" href="classitk_1_1QuadEdgeMesh.html#077a3448c6833d68ca4b53baec670a53">PointIdInternalIterator</a>; <a name="l00143"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#0f95c7a76ba4092fe8cdd1c937b19caf">00143</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> CellTraits::PointIdIterator <a class="code" href="classitk_1_1QuadEdgeMesh.html#0f95c7a76ba4092fe8cdd1c937b19caf">PointIdIterator</a>; <a name="l00144"></a>00144 <a name="l00145"></a>00145 <span class="comment">// Point section:</span> <a name="l00146"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#d9991afb2a50026c400dad0fd3e1dddf">00146</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#1487108504dfd527a1e058939788c751">Superclass::PointsContainer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#d9991afb2a50026c400dad0fd3e1dddf">PointsContainer</a>; <a name="l00147"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#f2291f757753ce291aba35382b454b9a">00147</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#6061999ca70f2813791622966d31cd91">Superclass::PointsContainerPointer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#f2291f757753ce291aba35382b454b9a">PointsContainerPointer</a>; <a name="l00148"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#76d7350d5523da4533ff2001b95eca10">00148</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#ae3897029bfb7ce453ab0e4fb6c65e0b">Superclass::PointLocatorPointer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#76d7350d5523da4533ff2001b95eca10">PointLocatorPointer</a>; <a name="l00149"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#abcacf7b42a539de9b350397cd436730">00149</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#895b2287b3ed207fd344da3230855e49">Superclass::PointLocatorType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#abcacf7b42a539de9b350397cd436730">PointLocatorType</a>; <a name="l00150"></a>00150 <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#13d356d0bf430b22ae5b7e874b5e33a3">CoordRepType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#d422b06f1f121fa1ce2c2b3e318e0516">CoordRepArrayType</a>[ <a name="l00151"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#d422b06f1f121fa1ce2c2b3e318e0516">00151</a> <a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>( PointDimension ) ]; <a name="l00152"></a>00152 <a name="l00153"></a>00153 <span class="comment">// Point data section:</span> <a name="l00154"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#ad399a38e3a674d24a30810ab85bb5ee">00154</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#2e9e368b147eb9b5cb30e7a893cb873c">Superclass::PointDataContainer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#ad399a38e3a674d24a30810ab85bb5ee">PointDataContainer</a>; <a name="l00155"></a>00155 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#b75afb989d9998ee8bc97ff9f161a0b3">Superclass::PointDataContainerPointer</a> <a name="l00156"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#f0d491d82fa409c4ff0421db8523f2b6">00156</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#f0d491d82fa409c4ff0421db8523f2b6">PointDataContainerPointer</a>; <a name="l00157"></a>00157 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#9678f2dfc76e642b2cc335242bf24bb7">Superclass::PointDataContainerIterator</a> <a name="l00158"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#8f4f93e9c60ffce69e38b1b66f50eb36">00158</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#8f4f93e9c60ffce69e38b1b66f50eb36">PointDataContainerIterator</a>; <a name="l00159"></a>00159 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#751cf00fde7d33d5c3be54d2a50f8871">Superclass::PointsContainerConstIterator</a> <a name="l00160"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#75617fc5ca26de49a1cf2d27c69a6854">00160</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#75617fc5ca26de49a1cf2d27c69a6854">PointsContainerConstIterator</a>; <a name="l00161"></a>00161 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#553809f3e6e36601a8dfbf492655efb4">Superclass::PointsContainerIterator</a> <a name="l00162"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#97dad714b6e61b49f189369c39326339">00162</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#97dad714b6e61b49f189369c39326339">PointsContainerIterator</a>; <a name="l00163"></a>00163 <a name="l00164"></a>00164 <span class="comment">// Cell section:</span> <a name="l00165"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">00165</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#16b220e4d1ae5fcd9de655f68f38c6aa">Superclass::CellIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a>; <a name="l00166"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#1281e25ff25bb7895e37b42004a64634">00166</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#2a3df15f1e404b0f65e30c92f5092aa3">Superclass::CellType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1281e25ff25bb7895e37b42004a64634">CellType</a>; <a name="l00167"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#bd87ca36ef8ef1d9ccf9e97680201618">00167</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#d1909b8733bf192565a263fbedec878d">Superclass::CellAutoPointer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#bd87ca36ef8ef1d9ccf9e97680201618">CellAutoPointer</a>; <a name="l00168"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#8d386b3dd3224290d7a46edec9357665">00168</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#537ac36354b4a087195400c6bb6c198a">Superclass::CellFeatureIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#8d386b3dd3224290d7a46edec9357665">CellFeatureIdentifier</a>; <a name="l00169"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#ef44e2b269302d5ae13beab97cebbacc">00169</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#40332c11aff00bd6a4e3fdda6551ce59">Superclass::CellFeatureCount</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#ef44e2b269302d5ae13beab97cebbacc">CellFeatureCount</a>; <a name="l00170"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#9ce327021d7b68d2db7d36153e7b477f">00170</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#c5b9507d9d651c352cdb85975dd02362">Superclass::CellMultiVisitorType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#9ce327021d7b68d2db7d36153e7b477f">CellMultiVisitorType</a>; <a name="l00171"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#fa0c4a254559c0ed6ed15d2622b364a6">00171</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#bf231b05468ea1f5fc9ef03af8eaca55">Superclass::CellsContainer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#fa0c4a254559c0ed6ed15d2622b364a6">CellsContainer</a>; <a name="l00172"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#bab8b7d81a82f2ce4f42691801cb0ad6">00172</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#ae0aaf22c4d33af53bb2cccd46f4e1cf">Superclass::CellsContainerPointer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#bab8b7d81a82f2ce4f42691801cb0ad6">CellsContainerPointer</a>; <a name="l00173"></a>00173 <a name="l00174"></a>00174 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#a7e0a98126e38e2a4c3817bc7e8db23b">Superclass::CellsContainerConstIterator</a> <a name="l00175"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#d831aa1924bfbf7f2550afed69fce85e">00175</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#d831aa1924bfbf7f2550afed69fce85e">CellsContainerConstIterator</a>; <a name="l00176"></a>00176 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#f9067f5cb6824d27b05de69d6ca2c5fc">Superclass::CellsContainerIterator</a> <a name="l00177"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#e7271633b7db01dba56e6b80c26f69ac">00177</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#e7271633b7db01dba56e6b80c26f69ac">CellsContainerIterator</a>; <a name="l00178"></a>00178 <a name="l00179"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#b29644a4584cb09af159ea7e5a659818">00179</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#f9878130a5826a61896d0d84085e5f8d">Superclass::CellLinksContainer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#b29644a4584cb09af159ea7e5a659818">CellLinksContainer</a>; <a name="l00180"></a>00180 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#ac35475ff8e4d36a7d494ddc2bb3519b">Superclass::CellLinksContainerPointer</a> <a name="l00181"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#f4ce9d32f1ed176af7d8c893e2941737">00181</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#f4ce9d32f1ed176af7d8c893e2941737">CellLinksContainerPointer</a>; <a name="l00182"></a>00182 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#22193485aa6c763311c14d8080375b8a">Superclass::CellLinksContainerIterator</a> <a name="l00183"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#d3593c225c7487213cd50a9c46692d82">00183</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#d3593c225c7487213cd50a9c46692d82">CellLinksContainerIterator</a>; <a name="l00184"></a>00184 <a name="l00185"></a>00185 <span class="comment">// Cell data section:</span> <a name="l00186"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#67f4b63621feabf315f96981985f5637">00186</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#7b22ed783a6abe5f543ee9d243ee76c0">Superclass::CellDataContainer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#67f4b63621feabf315f96981985f5637">CellDataContainer</a>; <a name="l00187"></a>00187 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#d52292cf5b0561af065ed8cbd085b341">Superclass::CellDataContainerPointer</a> <a name="l00188"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#681a696764c3b22fb6d4e30e4c84c8cd">00188</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#681a696764c3b22fb6d4e30e4c84c8cd">CellDataContainerPointer</a>; <a name="l00189"></a>00189 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#08126d249b758c440e175378bb5b6a39">Superclass::CellDataContainerIterator</a> <a name="l00190"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#17df8ec22fa58e8caa414862a1a56cb6">00190</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#17df8ec22fa58e8caa414862a1a56cb6">CellDataContainerIterator</a>; <a name="l00191"></a>00191 <a name="l00192"></a>00192 <span class="comment">// Point / Cell correspondance section:</span> <a name="l00193"></a>00193 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#1a9beb9a176d055bf1ff79936cd527d9">Superclass::PointCellLinksContainer</a> <a name="l00194"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#65a5a2fdb5a4dc4a81b5b197fb24a4df">00194</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#65a5a2fdb5a4dc4a81b5b197fb24a4df">PointCellLinksContainer</a>; <a name="l00195"></a>00195 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#4c4b27a51addfc4b8f6c7b3d99f3a24a">Superclass::PointCellLinksContainerIterator</a> <a name="l00196"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#49e18e6fefc973904ab3ad8d9869f1d5">00196</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#49e18e6fefc973904ab3ad8d9869f1d5">PointCellLinksContainerIterator</a>; <a name="l00197"></a>00197 <a name="l00198"></a>00198 <span class="comment">// BoundaryAssignMents section:</span> <a name="l00199"></a>00199 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#1ab9d83fdbd02543edc7d5a5f9509839">Superclass::BoundaryAssignmentsContainer</a> <a name="l00200"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#0e720d34225a7656aba7abbd1a5e7be0">00200</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#0e720d34225a7656aba7abbd1a5e7be0">BoundaryAssignmentsContainer</a>; <a name="l00201"></a>00201 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#1ed5ccb19edb811164f9772a2351f351">Superclass::BoundaryAssignmentsContainerPointer</a> <a name="l00202"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#eab678bbda67bce7ca3f182374ce2ccd">00202</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#eab678bbda67bce7ca3f182374ce2ccd">BoundaryAssignmentsContainerPointer</a>; <a name="l00203"></a>00203 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#c5049c74043f50101d4fd36624f6b651">Superclass::BoundaryAssignmentsContainerVector</a> <a name="l00204"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#e12ce9d37f27053a35c07c34273da351">00204</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#e12ce9d37f27053a35c07c34273da351">BoundaryAssignmentsContainerVector</a>; <a name="l00205"></a>00205 <a name="l00206"></a>00206 <span class="comment">// Miscelaneous section:</span> <a name="l00207"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#1e6f53191a046be5d3212482ada2780c">00207</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#319adc094426655b637fd63d85c39e76">Superclass::BoundingBoxPointer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e6f53191a046be5d3212482ada2780c">BoundingBoxPointer</a>; <a name="l00208"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#bee338d378be447b664475508c50b5ec">00208</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#1e2eab6dbb3200dbdca9d5a5864a1ddd">Superclass::BoundingBoxType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#bee338d378be447b664475508c50b5ec">BoundingBoxType</a>; <a name="l00209"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#2796ca244c80b1c329c78989e453ca6d">00209</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#f40db84ad48d7f3827c835637a0d42a7">Superclass::RegionType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2796ca244c80b1c329c78989e453ca6d">RegionType</a>; <a name="l00210"></a>00210 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classitk_1_1Mesh.html#943cbb71f4c8784ff06d1732a9e89efb">Superclass::InterpolationWeightType</a> <a name="l00211"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#a1c52ba2cb4ae22686fbe48bbd256e32">00211</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#a1c52ba2cb4ae22686fbe48bbd256e32">InterpolationWeightType</a>; <a name="l00212"></a>00212 <a name="l00214"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#ed1c682a07d0fe0943ca7e85e99ced7c">00214</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> Traits::PrimalDataType <a class="code" href="classitk_1_1QuadEdgeMesh.html#ed1c682a07d0fe0943ca7e85e99ced7c">PrimalDataType</a>; <a name="l00215"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#79f3267844ae15843662ed561c90fcf3">00215</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> Traits::DualDataType <a class="code" href="classitk_1_1QuadEdgeMesh.html#79f3267844ae15843662ed561c90fcf3">DualDataType</a>; <a name="l00216"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">00216</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> Traits::QEPrimal <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>; <a name="l00217"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#218ea1ddc0ce6bb72ffc9054e69daab0">00217</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> Traits::QEDual <a class="code" href="classitk_1_1QuadEdgeMesh.html#218ea1ddc0ce6bb72ffc9054e69daab0">QEDual</a>; <a name="l00218"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#5e3a006a3798d9dd812a20f1c4ecdb20">00218</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> Traits::QEPrimal <a class="code" href="classitk_1_1QuadEdgeMesh.html#5e3a006a3798d9dd812a20f1c4ecdb20">QEType</a>; <a name="l00219"></a>00219 <span class="comment">// See the TODO entry dated from 2005-05-28</span> <a name="l00220"></a>00220 <span class="comment">// struct QEType : public QEPrimal, public QEDual {}</span> <a name="l00221"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#5aa58171c39a676963a533408bf90da4">00221</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> Traits::VertexRefType <a class="code" href="classitk_1_1QuadEdgeMesh.html#5aa58171c39a676963a533408bf90da4">VertexRefType</a>; <a name="l00222"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#908ddc06ed69cab51cc474264c68a944">00222</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> Traits::FaceRefType <a class="code" href="classitk_1_1QuadEdgeMesh.html#908ddc06ed69cab51cc474264c68a944">FaceRefType</a>; <a name="l00223"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#5dcc8e053c0a5f12cfb28e3a101e8012">00223</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> Traits::VectorType <a class="code" href="classitk_1_1QuadEdgeMesh.html#5dcc8e053c0a5f12cfb28e3a101e8012">VectorType</a>; <a name="l00224"></a>00224 <a name="l00226"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#0651cbad0070e41fe1cc3c7a4b9524ac">00226</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshLineCell.html" title="Class that connects the QuadEdgeMesh with the Mesh.">QuadEdgeMeshLineCell< CellType ></a> <a class="code" href="classitk_1_1QuadEdgeMeshLineCell.html" title="Class that connects the QuadEdgeMesh with the Mesh.">EdgeCellType</a>; <a name="l00227"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#ee76232d77acf6252f8b5c128725c218">00227</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMeshPolygonCell.html">QuadEdgeMeshPolygonCell< CellType ></a> <a class="code" href="classitk_1_1QuadEdgeMeshPolygonCell.html">PolygonCellType</a>; <a name="l00228"></a>00228 <a name="l00230"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#21e022232de4c1ecc085f920d97d82b0">00230</a> <span class="keyword">typedef</span> std::queue< PointIdentifier > <a class="code" href="classitk_1_1QuadEdgeMesh.html#21e022232de4c1ecc085f920d97d82b0">FreePointIndexesType</a>; <a name="l00231"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#9f642d9aaa3a9dfe86dbe895fb021756">00231</a> <span class="keyword">typedef</span> std::queue< CellIdentifier > <a class="code" href="classitk_1_1QuadEdgeMesh.html#9f642d9aaa3a9dfe86dbe895fb021756">FreeCellIndexesType</a>; <a name="l00232"></a>00232 <a name="l00234"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#2c8b45233fdfa39d8d289fd0541ec0c0">00234</a> <span class="keyword">typedef</span> std::vector< PointIdentifier > <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c8b45233fdfa39d8d289fd0541ec0c0">PointIdList</a>; <a name="l00235"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#82fa229505c15d4377761600e047f648">00235</a> <span class="keyword">typedef</span> std::list< QEPrimal* > <a class="code" href="classitk_1_1QuadEdgeMesh.html#82fa229505c15d4377761600e047f648">EdgeListType</a>; <a name="l00236"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#8732b4e2ddb8e138bfe8c43b3c354bba">00236</a> <span class="keyword">typedef</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#82fa229505c15d4377761600e047f648">EdgeListType</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#8732b4e2ddb8e138bfe8c43b3c354bba">EdgeListPointerType</a>; <a name="l00237"></a>00237 <a name="l00239"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#a4073f36c57f85de27050cc5d63c9135">00239</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#a4073f36c57f85de27050cc5d63c9135">m_NoPoint</a>; <a name="l00240"></a>00240 <a name="l00242"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#d027755b86b0413695ae35ed732380b6">00242</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#d027755b86b0413695ae35ed732380b6">m_NoFace</a>; <a name="l00243"></a>00243 <a name="l00244"></a>00244 <span class="keyword">public</span>: <a name="l00245"></a>00245 <a name="l00247"></a>00247 <a class="code" href="itkMacro_8h.html#0fdc15685afa271857c57e7cd482f30c">itkNewMacro</a>( <a class="code" href="classitk_1_1DataObject.html" title="Base class for all data objects in ITK.">Self</a> ); <a name="l00248"></a>00248 <a class="code" href="itkMacro_8h.html#574c1f86661d409dd32c742307a0e96a">itkTypeMacro</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html" title="Mesh class for 2D manifolds embedded in ND space.">QuadEdgeMesh</a>, <a class="code" href="classitk_1_1Mesh.html" title="Implements the N-dimensional mesh structure.">Mesh</a> ); <a name="l00250"></a>00250 <a name="l00252"></a>00252 <a class="code" href="classitk_1_1QuadEdgeMesh.html#fbcbad042af81c0fe7dbace7528dd9a1">itkQEDefineFrontIteratorMethodsMacro</a>( <a class="code" href="classitk_1_1DataObject.html" title="Base class for all data objects in ITK.">Self</a> ); <a name="l00253"></a>00253 <a name="l00254"></a>00254 <a name="l00255"></a>00255 <span class="keyword">public</span>: <a name="l00256"></a>00256 <a name="l00257"></a>00257 <span class="comment">// Multithreading framework: not tested yet.</span> <a name="l00258"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#acd287bcf8b023ba3fd14d76722a1ca0">00258</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#acd287bcf8b023ba3fd14d76722a1ca0">RequestedRegionIsOutsideOfTheBufferedRegion</a>() <a name="l00259"></a>00259 { <a name="l00260"></a>00260 <span class="keywordflow">return</span>( <span class="keyword">false</span> ); <a name="l00261"></a>00261 } <a name="l00262"></a>00262 <a name="l00263"></a>00263 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#f7877b6c4acca2f3f3be4d20a1d84a17">Initialize</a>(); <a name="l00264"></a>00264 <a name="l00266"></a>00266 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#7fa29130c9713b8f10f599a509e90682">Clear</a>(); <a name="l00267"></a>00267 <a name="l00268"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#3c0de97126f0c75779327d4b9d2e5f5d">00268</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#bab8b7d81a82f2ce4f42691801cb0ad6">CellsContainerPointer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#3c0de97126f0c75779327d4b9d2e5f5d">GetEdgeCells</a>() {<span class="keywordflow">return</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#41d97c23e67a57ccfe277aa090007514">m_EdgeCellsContainer</a>;} <a name="l00269"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#eaa439efa059913998b295ae61f26c40">00269</a> <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#bab8b7d81a82f2ce4f42691801cb0ad6">CellsContainerPointer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#eaa439efa059913998b295ae61f26c40">GetEdgeCells</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#41d97c23e67a57ccfe277aa090007514">m_EdgeCellsContainer</a>;} <a name="l00270"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#91a6c7aaa98b29f3203a3772684be3b2">00270</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#91a6c7aaa98b29f3203a3772684be3b2">SetEdgeCells</a>(<a class="code" href="classitk_1_1QuadEdgeMesh.html#bab8b7d81a82f2ce4f42691801cb0ad6">CellsContainerPointer</a> edgeCells) <a name="l00271"></a>00271 {<a class="code" href="classitk_1_1QuadEdgeMesh.html#41d97c23e67a57ccfe277aa090007514">m_EdgeCellsContainer</a> = edgeCells;} <a name="l00272"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#682d2cedb3fb6e057b0a57c80a2e17b9">00272</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#682d2cedb3fb6e057b0a57c80a2e17b9">SetEdgeCell</a>(<a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> cellId, <a class="code" href="classitk_1_1QuadEdgeMesh.html#bd87ca36ef8ef1d9ccf9e97680201618">CellAutoPointer</a> & cellPointer ) <a name="l00273"></a>00273 {<a class="code" href="classitk_1_1QuadEdgeMesh.html#41d97c23e67a57ccfe277aa090007514">m_EdgeCellsContainer</a>->InsertElement(cellId,cellPointer.ReleaseOwnership());} <a name="l00274"></a>00274 <a name="l00275"></a>00275 <a name="l00282"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#682d0c943e574e2887842b93fe441179">00282</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#682d0c943e574e2887842b93fe441179">CopyInformation</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1DataObject.html" title="Base class for all data objects in ITK.">DataObject</a>* data ) { (void)data; } <a name="l00283"></a>00283 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#887a0a162828ac7114ffed693edacc0a">Graft</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1DataObject.html" title="Base class for all data objects in ITK.">DataObject</a>* data ); <a name="l00285"></a>00285 <a name="l00287"></a>00287 <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#e3b55e8ed3beb3dffb91933245a79906">SqueezePointsIds</a>( ); <a name="l00288"></a>00288 <a name="l00290"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#6ea1938ac112fc266c526cb91e3c995a">00290</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#6ea1938ac112fc266c526cb91e3c995a">BuildCellLinks</a>() { } <a name="l00291"></a>00291 <a name="l00293"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#404d967a492f9d68b9c0cc8d0d6c6767">00293</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#404d967a492f9d68b9c0cc8d0d6c6767">SetBoundaryAssignments</a>(<span class="keywordtype">int</span> dimension, <a name="l00294"></a>00294 <a class="code" href="classitk_1_1QuadEdgeMesh.html#0e720d34225a7656aba7abbd1a5e7be0">BoundaryAssignmentsContainer</a>* container) <a name="l00295"></a>00295 { <a name="l00296"></a>00296 (void)dimension; <a name="l00297"></a>00297 (void)container; <a name="l00298"></a>00298 } <a name="l00300"></a>00300 <a name="l00302"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#7a6a351c44d204025f6368796738e913">00302</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#eab678bbda67bce7ca3f182374ce2ccd">BoundaryAssignmentsContainerPointer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#7a6a351c44d204025f6368796738e913">GetBoundaryAssignments</a>(<span class="keywordtype">int</span> dimension) <a name="l00303"></a>00303 { <a name="l00304"></a>00304 (void)dimension; <a name="l00305"></a>00305 <span class="keywordflow">return</span>( (<a class="code" href="classitk_1_1QuadEdgeMesh.html#eab678bbda67bce7ca3f182374ce2ccd">BoundaryAssignmentsContainerPointer</a>)0 ); <a name="l00306"></a>00306 } <a name="l00308"></a>00308 <a name="l00310"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#8b37e96bb401d727bf22120520ec6aa2">00310</a> <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#eab678bbda67bce7ca3f182374ce2ccd">BoundaryAssignmentsContainerPointer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#7a6a351c44d204025f6368796738e913">GetBoundaryAssignments</a>( <a name="l00311"></a>00311 <span class="keywordtype">int</span> dimension)<span class="keyword"> const</span> <a name="l00312"></a>00312 <span class="keyword"> </span>{ <a name="l00313"></a>00313 (void)dimension; <a name="l00314"></a>00314 <span class="keywordflow">return</span>( (<span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#eab678bbda67bce7ca3f182374ce2ccd">BoundaryAssignmentsContainerPointer</a>)0 ); <a name="l00315"></a>00315 } <a name="l00317"></a>00317 <a name="l00319"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#0c3f790aaf8a8922613e0249052c8228">00319</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#0c3f790aaf8a8922613e0249052c8228">SetBoundaryAssignment</a>(<span class="keywordtype">int</span> dimension, <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> cellId, <a name="l00320"></a>00320 <a class="code" href="classitk_1_1QuadEdgeMesh.html#8d386b3dd3224290d7a46edec9357665">CellFeatureIdentifier</a> featureId, <a name="l00321"></a>00321 <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> boundaryId) <a name="l00322"></a>00322 { <a name="l00323"></a>00323 (void)dimension; <a name="l00324"></a>00324 (void)cellId; <a name="l00325"></a>00325 (void)featureId; <a name="l00326"></a>00326 (void)boundaryId; <a name="l00327"></a>00327 } <a name="l00329"></a>00329 <a name="l00331"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#93cefd2452512e14cdc59106e169a69c">00331</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#93cefd2452512e14cdc59106e169a69c">GetBoundaryAssignment</a>(<span class="keywordtype">int</span> dimension, <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> cellId, <a name="l00332"></a>00332 <a class="code" href="classitk_1_1QuadEdgeMesh.html#8d386b3dd3224290d7a46edec9357665">CellFeatureIdentifier</a> featureId, <a name="l00333"></a>00333 <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a>* boundaryId)<span class="keyword"> const</span> <a name="l00334"></a>00334 <span class="keyword"> </span>{ <a name="l00335"></a>00335 (void)dimension; <a name="l00336"></a>00336 (void)cellId; <a name="l00337"></a>00337 (void)featureId; <a name="l00338"></a>00338 (void)boundaryId; <a name="l00339"></a>00339 <span class="keywordflow">return</span>( <span class="keyword">false</span> ); <span class="comment">// ALEX: is it the good way?</span> <a name="l00340"></a>00340 } <a name="l00342"></a>00342 <a name="l00344"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#43e0dd051ee34b7ed547999d6beb032c">00344</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#43e0dd051ee34b7ed547999d6beb032c">RemoveBoundaryAssignment</a>(<span class="keywordtype">int</span> dimension, <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> cellId, <a name="l00345"></a>00345 <a class="code" href="classitk_1_1QuadEdgeMesh.html#8d386b3dd3224290d7a46edec9357665">CellFeatureIdentifier</a> featureId) <a name="l00346"></a>00346 { <a name="l00347"></a>00347 (void)dimension; <a name="l00348"></a>00348 (void)cellId; <a name="l00349"></a>00349 (void)featureId; <a name="l00350"></a>00350 <span class="keywordflow">return</span>( <span class="keyword">false</span> ); <span class="comment">// ALEX: is it the good way?</span> <a name="l00351"></a>00351 } <a name="l00353"></a>00353 <a name="l00355"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#158c76f44b7e52c599cef3aea8080e9b">00355</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#158c76f44b7e52c599cef3aea8080e9b">GetCellBoundaryFeature</a>(<span class="keywordtype">int</span> dimension, <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> cellId, <a name="l00356"></a>00356 <a class="code" href="classitk_1_1QuadEdgeMesh.html#8d386b3dd3224290d7a46edec9357665">CellFeatureIdentifier</a> featureId, <a name="l00357"></a>00357 <a class="code" href="classitk_1_1QuadEdgeMesh.html#bd87ca36ef8ef1d9ccf9e97680201618">CellAutoPointer</a>& cellAP)<span class="keyword"> const</span> <a name="l00358"></a>00358 <span class="keyword"> </span>{ <a name="l00359"></a>00359 (void)dimension; <a name="l00360"></a>00360 (void)cellId; <a name="l00361"></a>00361 (void)featureId; <a name="l00362"></a>00362 (void)cellAP; <a name="l00363"></a>00363 <span class="keywordflow">return</span>( <span class="keyword">false</span> ); <a name="l00364"></a>00364 } <a name="l00366"></a>00366 <a name="l00368"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#458cf89bfc1de59378c50db7d69dc429">00368</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#458cf89bfc1de59378c50db7d69dc429">GetCellBoundaryFeatureNeighbors</a>(<span class="keywordtype">int</span> dimension, <a name="l00369"></a>00369 <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> cellId, <a name="l00370"></a>00370 <a class="code" href="classitk_1_1QuadEdgeMesh.html#8d386b3dd3224290d7a46edec9357665">CellFeatureIdentifier</a> featureId, <a name="l00371"></a>00371 std::set<CellIdentifier>* cellSet) <a name="l00372"></a>00372 { <a name="l00373"></a>00373 (void)dimension; <a name="l00374"></a>00374 (void)cellId; <a name="l00375"></a>00375 (void)featureId; <a name="l00376"></a>00376 cellSet = (std::set<CellIdentifier>*)0; <a name="l00377"></a>00377 <span class="keywordflow">return</span>( (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)0 ); <a name="l00378"></a>00378 } <a name="l00380"></a>00380 <a name="l00382"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#4bc59cf1f7e057e76afa3e329715b93e">00382</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#4bc59cf1f7e057e76afa3e329715b93e">GetCellNeighbors</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> cellId, <a name="l00383"></a>00383 std::set<CellIdentifier>* cellSet ) <a name="l00384"></a>00384 { <a name="l00385"></a>00385 (void)cellId; <a name="l00386"></a>00386 cellSet = (std::set<CellIdentifier>*)0; <a name="l00387"></a>00387 <span class="keywordflow">return</span>( (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)0 ); <a name="l00388"></a>00388 } <a name="l00390"></a>00390 <a name="l00392"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#7a2ddd1a96d78d61d9588c1833f9a1a3">00392</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#7a2ddd1a96d78d61d9588c1833f9a1a3">GetAssignedCellBoundaryIfOneExists</a>(<span class="keywordtype">int</span> dimension, <a name="l00393"></a>00393 <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> cellId, <a name="l00394"></a>00394 <a class="code" href="classitk_1_1QuadEdgeMesh.html#8d386b3dd3224290d7a46edec9357665">CellFeatureIdentifier</a> featureId, <a name="l00395"></a>00395 <a class="code" href="classitk_1_1QuadEdgeMesh.html#bd87ca36ef8ef1d9ccf9e97680201618">CellAutoPointer</a>& cellAP)<span class="keyword"> const</span> <a name="l00396"></a>00396 <span class="keyword"> </span>{ <a name="l00397"></a>00397 (void)dimension; <a name="l00398"></a>00398 (void)featureId; <a name="l00399"></a>00399 (void)cellAP; <a name="l00400"></a>00400 <span class="keywordflow">return</span>( <span class="keyword">false</span> ); <span class="comment">// ALEX: is it the good way?</span> <a name="l00401"></a>00401 } <a name="l00403"></a>00403 <a name="l00405"></a>00405 <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#0c8ee9dd69b25842cdc1993282d352cb">SetCell</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> cId, <a class="code" href="classitk_1_1QuadEdgeMesh.html#bd87ca36ef8ef1d9ccf9e97680201618">CellAutoPointer</a>& cell ); <a name="l00406"></a>00406 <a name="l00408"></a>00408 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#822f9b2fe8bc4387bcefd43e2e0f909e">FindFirstUnusedPointIndex</a>(); <a name="l00409"></a>00409 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#5d63726860c8ad3461dfbf44579bb8c9">FindFirstUnusedCellIndex</a>(); <a name="l00411"></a>00411 <a name="l00412"></a>00412 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#68b3559091aff79b3667f50b3044d4b9">PushOnContainer</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#0651cbad0070e41fe1cc3c7a4b9524ac">EdgeCellType</a>* newEdge ); <a name="l00413"></a>00413 <a name="l00414"></a>00414 <span class="comment">// Adding Point/Edge/Face methods</span> <a name="l00415"></a>00415 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#75536450563d48f16448d0ecbd1b3c1e">AddPoint</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#dade9a09348133ac90394562a7095ffb">PointType</a>& p ); <a name="l00416"></a>00416 <a name="l00418"></a>00418 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#fa4ce883ba30c448a0b43055d0bcfc37">AddEdge</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& orgPid, <a name="l00419"></a>00419 <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& destPid ); <a name="l00420"></a>00420 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#f74495df6c8a37c621c591e2c4ad9756">AddEdgeWithSecurePointList</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& orgPid, <a name="l00421"></a>00421 <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& destPid ); <a name="l00423"></a>00423 <a name="l00425"></a>00425 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#498264c4b0db984b4fa29a8a5e6f3573">AddFace</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* e ); <a name="l00426"></a>00426 <a name="l00431"></a>00431 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#498264c4b0db984b4fa29a8a5e6f3573">AddFace</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c8b45233fdfa39d8d289fd0541ec0c0">PointIdList</a>& points ); <a name="l00432"></a>00432 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#9cf919d7b0bae79ccea1dc6b16dc78ad">AddFaceWithSecurePointList</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c8b45233fdfa39d8d289fd0541ec0c0">PointIdList</a>& points ); <a name="l00433"></a>00433 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#9cf919d7b0bae79ccea1dc6b16dc78ad">AddFaceWithSecurePointList</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c8b45233fdfa39d8d289fd0541ec0c0">PointIdList</a>& points, <a name="l00434"></a>00434 <span class="keywordtype">bool</span> CheckEdges ); <a name="l00436"></a>00436 <a name="l00438"></a>00438 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#015051f263621ac2bdc108702d108533">AddFaceTriangle</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& aPid, <a name="l00439"></a>00439 <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& bPid, <a name="l00440"></a>00440 <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& cPid ); <a name="l00441"></a>00441 <a name="l00443"></a>00443 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#3679c75603d852ba8cd6d19d7042006b">DeletePoint</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& pid ); <a name="l00444"></a>00444 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#26a079f7e0d8ec22cc845c6d2ada7f8c">DeleteEdge</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& orgPid, <a name="l00445"></a>00445 <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& destPid ); <a name="l00446"></a>00446 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#26a079f7e0d8ec22cc845c6d2ada7f8c">DeleteEdge</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* e ); <a name="l00447"></a>00447 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#5a644c1050cca4c5e815c2bfee58a8a1">LightWeightDeleteEdge</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#0651cbad0070e41fe1cc3c7a4b9524ac">EdgeCellType</a>* e ); <a name="l00448"></a>00448 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#5a644c1050cca4c5e815c2bfee58a8a1">LightWeightDeleteEdge</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* e ); <a name="l00449"></a>00449 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#415d9d3ed7e23887e22bc66442510139">DeleteFace</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#908ddc06ed69cab51cc474264c68a944">FaceRefType</a> faceToDelete ); <a name="l00451"></a>00451 <a name="l00452"></a>00452 <span class="comment">// </span> <a name="l00453"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#f8067f06731c5d0a944041969ff81d27">00453</a> <span class="keywordtype">bool</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#f8067f06731c5d0a944041969ff81d27">GetPoint</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a> pid, <a class="code" href="classitk_1_1QuadEdgeMesh.html#dade9a09348133ac90394562a7095ffb">PointType</a> * pt)<span class="keyword"> const</span> <a name="l00454"></a>00454 <span class="keyword"> </span>{ <a name="l00455"></a>00455 <span class="keywordflow">return</span>( <a class="code" href="classitk_1_1PointSet.html#a46e3cf3adafe0799758790c0d97ff87">Superclass::GetPoint</a>( pid, pt ) ); <a name="l00456"></a>00456 } <a name="l00457"></a>00457 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#dade9a09348133ac90394562a7095ffb">PointType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#f8067f06731c5d0a944041969ff81d27">GetPoint</a> ( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& pid ) <span class="keyword">const</span>; <a name="l00458"></a>00458 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#5dcc8e053c0a5f12cfb28e3a101e8012">VectorType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#75ab7dd7c6d15effd0b30fc2ec2af73f">GetVector</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& pid ) <span class="keyword">const</span>; <a name="l00459"></a>00459 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#3eaf50be8c78a554319b613c344c70ce">GetEdge</a>() <span class="keyword">const</span>; <a name="l00460"></a>00460 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#3eaf50be8c78a554319b613c344c70ce">GetEdge</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a>& eid ) <span class="keyword">const</span>; <a name="l00461"></a>00461 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#cbe2a0040d7837972ef387f192867215">FindEdge</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& pid0 ) <span class="keyword">const</span>; <a name="l00462"></a>00462 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#cbe2a0040d7837972ef387f192867215">FindEdge</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& pid0, <a name="l00463"></a>00463 <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& pid1 ) <span class="keyword">const</span>; <a name="l00464"></a>00464 <a name="l00465"></a>00465 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#0651cbad0070e41fe1cc3c7a4b9524ac">EdgeCellType</a>* <a class="code" href="classitk_1_1QuadEdgeMesh.html#23088128b217cb14eb5b7408925e329a">FindEdgeCell</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& pid0, <a name="l00466"></a>00466 <span class="keyword">const</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a>& pid1 ) <span class="keyword">const</span>; <a name="l00467"></a>00467 <a name="l00469"></a>00469 <a class="code" href="classitk_1_1QuadEdgeMesh.html#13d356d0bf430b22ae5b7e874b5e33a3">CoordRepType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#86298327450b1c735f4ad0dcca433580" title="Compute the euclidian length of argument edge.">ComputeEdgeLength</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* e ); <a name="l00470"></a>00470 <a name="l00471"></a>00471 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#0239f07c14880d0f8f4e7588831efed1">ComputeNumberOfPoints</a>() <span class="keyword">const</span>; <a name="l00472"></a>00472 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#976024cca8f93c5cf7bec0ef8259167f">ComputeNumberOfFaces</a>() <span class="keyword">const</span>; <a name="l00473"></a>00473 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#e4421457080bd18ca5cee3afd5527c4e">ComputeNumberOfEdges</a>() <span class="keyword">const</span>; <a name="l00474"></a>00474 <a name="l00475"></a>00475 <a class="code" href="classitk_1_1QuadEdgeMesh.html#2c439f239d0d3488c2d8e82311f4c60a">PointIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#a30f142756b94d83ba8cb644d98b7752">Splice</a>( <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* a, <a class="code" href="classitk_1_1QuadEdgeMesh.html#1e9b10569f9b19a8e335620e079d3a04">QEPrimal</a>* b ); <a name="l00476"></a>00476 <a name="l00477"></a>00477 <span class="preprocessor">#ifdef ITK_USE_CONCEPT_CHECKING</span> <a name="l00478"></a>00478 <span class="preprocessor"></span> <a name="l00479"></a>00479 <a class="code" href="itkConceptChecking_8h.html#009eae6c305d9c390972159815e6a710">itkConceptMacro</a>(DimensionShouldBe3, <a name="l00480"></a>00480 (<a class="code" href="structitk_1_1Concept_1_1SameDimension.html">Concept::SameDimension</a><<a class="code" href="itkMacro_8h.html#94ef2dc11d52c8ef0a78e34558feb8cb">itkGetStaticConstMacro</a>(PointDimension),3>)); <a name="l00481"></a>00481 <a name="l00483"></a>00483 <span class="preprocessor">#endif</span> <a name="l00484"></a>00484 <span class="preprocessor"></span> <a name="l00485"></a>00485 <span class="comment">// for reusability of a mesh in the MeshToMesh filter</span> <a name="l00486"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#d0d797010c0f12c3e9a57a7e4448bcee">00486</a> <span class="keywordtype">void</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#d0d797010c0f12c3e9a57a7e4448bcee">ClearFreePointAndCellIndexesLists</a>( ) <a name="l00487"></a>00487 { <a name="l00488"></a>00488 <span class="keywordflow">while</span>( !this-><a class="code" href="classitk_1_1QuadEdgeMesh.html#c9d2f7651983f36851eb8abad3a286b9">m_FreePointIndexes</a>.empty( ) ) <a name="l00489"></a>00489 { <a name="l00490"></a>00490 this-><a class="code" href="classitk_1_1QuadEdgeMesh.html#c9d2f7651983f36851eb8abad3a286b9">m_FreePointIndexes</a>.pop( ); <a name="l00491"></a>00491 } <a name="l00492"></a>00492 <span class="keywordflow">while</span>( !this-><a class="code" href="classitk_1_1QuadEdgeMesh.html#aed65c1fbf7672336458e06d93add1f5">m_FreeCellIndexes</a>.empty( ) ) <a name="l00493"></a>00493 { <a name="l00494"></a>00494 this-><a class="code" href="classitk_1_1QuadEdgeMesh.html#aed65c1fbf7672336458e06d93add1f5">m_FreeCellIndexes</a>.pop( ); <a name="l00495"></a>00495 } <a name="l00496"></a>00496 } <a name="l00497"></a>00497 <a name="l00498"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#83da3b68d6ed44d9a43758ff5e5b3214">00498</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#83da3b68d6ed44d9a43758ff5e5b3214">GetNumberOfFaces</a>( )<span class="keyword"> const </span>{<span class="keywordflow">return</span>( m_NumberOfFaces ); } <a name="l00499"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#84bbbb20dbf835d14db5a9f5d5a7d632">00499</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#84bbbb20dbf835d14db5a9f5d5a7d632">GetNumberOfEdges</a>( )<span class="keyword"> const </span>{<span class="keywordflow">return</span>( m_NumberOfEdges ); } <a name="l00500"></a>00500 <a name="l00501"></a>00501 <span class="keyword">protected</span>: <a name="l00503"></a>00503 <a class="code" href="classitk_1_1QuadEdgeMesh.html#4bb3f148f4f7c87eaabc3b5d76e7fbc2">QuadEdgeMesh</a>(); <a name="l00504"></a>00504 <span class="keyword">virtual</span> <a class="code" href="classitk_1_1QuadEdgeMesh.html#48e40f9d14d4c03e144497b057421097">~QuadEdgeMesh</a>(); <a name="l00506"></a>00506 <a name="l00507"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#41d97c23e67a57ccfe277aa090007514">00507</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#bab8b7d81a82f2ce4f42691801cb0ad6">CellsContainerPointer</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#41d97c23e67a57ccfe277aa090007514">m_EdgeCellsContainer</a>; <a name="l00508"></a>00508 <a name="l00509"></a>00509 <span class="keyword">private</span>: <a name="l00510"></a>00510 <a class="code" href="classitk_1_1QuadEdgeMesh.html#4bb3f148f4f7c87eaabc3b5d76e7fbc2">QuadEdgeMesh</a>( <span class="keyword">const</span> <a class="code" href="classitk_1_1DataObject.html" title="Base class for all data objects in ITK.">Self</a>& ); <span class="comment">//purposely not implemented</span> <a name="l00511"></a>00511 <span class="keywordtype">void</span> operator=( <span class="keyword">const</span> <a class="code" href="classitk_1_1DataObject.html" title="Base class for all data objects in ITK.">Self</a>& ); <span class="comment">//purposely not implemented</span> <a name="l00512"></a>00512 <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> m_NumberOfFaces; <a name="l00513"></a>00513 <a class="code" href="classitk_1_1QuadEdgeMesh.html#344f57da773582fbb180247319b82809">CellIdentifier</a> m_NumberOfEdges; <a name="l00514"></a>00514 <a name="l00515"></a>00515 <span class="keyword">protected</span>: <a name="l00516"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#c9d2f7651983f36851eb8abad3a286b9">00516</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#21e022232de4c1ecc085f920d97d82b0">FreePointIndexesType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#c9d2f7651983f36851eb8abad3a286b9">m_FreePointIndexes</a>; <a name="l00517"></a><a class="code" href="classitk_1_1QuadEdgeMesh.html#aed65c1fbf7672336458e06d93add1f5">00517</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#9f642d9aaa3a9dfe86dbe895fb021756">FreeCellIndexesType</a> <a class="code" href="classitk_1_1QuadEdgeMesh.html#aed65c1fbf7672336458e06d93add1f5">m_FreeCellIndexes</a>; <a name="l00518"></a>00518 <a name="l00519"></a>00519 }; <a name="l00520"></a>00520 <a name="l00521"></a>00521 } <a name="l00522"></a>00522 <a name="l00523"></a>00523 <a name="l00524"></a>00524 <span class="preprocessor">#ifndef ITK_MANUAL_INSTANTIATION</span> <a name="l00525"></a>00525 <span class="preprocessor"></span><span class="preprocessor">#include "itkQuadEdgeMesh.txx"</span> <a name="l00526"></a>00526 <span class="preprocessor">#endif</span> <a name="l00527"></a>00527 <span class="preprocessor"></span> <a name="l00528"></a>00528 <span class="preprocessor">#endif</span> <a name="l00529"></a>00529 <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>