<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>VTK: dox/Filtering/vtkCellArray.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <h1>dox/Filtering/vtkCellArray.h</h1><a href="a02205.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: Visualization Toolkit</span> <a name="l00004"></a>00004 <span class="comment"> Module: $RCSfile: vtkCellArray.h,v $</span> <a name="l00005"></a>00005 <span class="comment"></span> <a name="l00006"></a>00006 <span class="comment"> Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span> <a name="l00007"></a>00007 <span class="comment"> All rights reserved.</span> <a name="l00008"></a>00008 <span class="comment"> See Copyright.txt or http://www.kitware.com/Copyright.htm for details.</span> <a name="l00009"></a>00009 <span class="comment"></span> <a name="l00010"></a>00010 <span class="comment"> This software is distributed WITHOUT ANY WARRANTY; without even</span> <a name="l00011"></a>00011 <span class="comment"> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span> <a name="l00012"></a>00012 <span class="comment"> PURPOSE. See the above copyright notice for more information.</span> <a name="l00013"></a>00013 <span class="comment"></span> <a name="l00014"></a>00014 <span class="comment">=========================================================================*/</span> <a name="l00037"></a>00037 <span class="preprocessor">#ifndef __vtkCellArray_h</span> <a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define __vtkCellArray_h</span> <a name="l00039"></a>00039 <span class="preprocessor"></span> <a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="a02079.html">vtkObject.h</a>"</span> <a name="l00041"></a>00041 <a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="a02035.html">vtkIdTypeArray.h</a>"</span> <span class="comment">// Needed for inline methods</span> <a name="l00043"></a>00043 <span class="preprocessor">#include "<a class="code" href="a02203.html">vtkCell.h</a>"</span> <span class="comment">// Needed for inline methods</span> <a name="l00044"></a>00044 <a name="l00045"></a><a class="code" href="a00242.html">00045</a> <span class="keyword">class </span><a class="code" href="a02170.html#95ced7977a6b6b1bf9f38bf04e3835b6">VTK_FILTERING_EXPORT</a> <a class="code" href="a00242.html" title="object to represent cell connectivity">vtkCellArray</a> : <span class="keyword">public</span> <a class="code" href="a01084.html" title="abstract base class for most VTK objects">vtkObject</a> <a name="l00046"></a>00046 { <a name="l00047"></a>00047 <span class="keyword">public</span>: <a name="l00048"></a><a class="code" href="a00242.html#a3cf21cf1691b8b118994c0fd7dbde09">00048</a> vtkTypeRevisionMacro(<a class="code" href="a00242.html" title="object to represent cell connectivity">vtkCellArray</a>,<a class="code" href="a01084.html" title="abstract base class for most VTK objects">vtkObject</a>); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="a01084.html#bf3dbb4154289b56a12483eee3866263">PrintSelf</a>(ostream& os, <a class="code" href="a00869.html" title="a simple class to control print indentation">vtkIndent</a> indent); <a name="l00050"></a>00050 <a name="l00052"></a>00052 <span class="keyword">static</span> <a class="code" href="a00242.html" title="object to represent cell connectivity">vtkCellArray</a> *<a class="code" href="a01084.html#4d5b227267c076d6f9e38483370b6612">New</a>(); <a name="l00053"></a>00053 <a name="l00055"></a>00055 <a name="l00056"></a><a class="code" href="a00242.html#c1efbcc413876324ccec4ff12a845c13">00056</a> <span class="keywordtype">int</span> Allocate(<span class="keyword">const</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> sz, <span class="keyword">const</span> <span class="keywordtype">int</span> ext=1000) <a name="l00057"></a>00057 {<span class="keywordflow">return</span> this->Ia->Allocate(sz,ext);} <a name="l00059"></a>00059 <a name="l00061"></a>00061 <a name="l00062"></a><a class="code" href="a00242.html#b6e9766b1643c081b023aa8c3fdbc0e9">00062</a> <span class="keywordtype">void</span> Initialize() <a name="l00063"></a>00063 {this->Ia->Initialize();} <a name="l00065"></a>00065 <a name="l00067"></a>00067 <a name="l00068"></a>00068 vtkGetMacro(NumberOfCells, <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>); <a name="l00070"></a>00070 <a name="l00072"></a>00072 <a name="l00074"></a>00074 vtkSetMacro(NumberOfCells, <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>); <a name="l00076"></a>00076 <a name="l00078"></a>00078 <a name="l00084"></a><a class="code" href="a00242.html#56dc6a073df05c14b185e35f4dc757cc">00084</a> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> EstimateSize(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> numCells, <span class="keywordtype">int</span> maxPtsPerCell) <a name="l00085"></a>00085 {<span class="keywordflow">return</span> numCells*(1+maxPtsPerCell);} <a name="l00087"></a>00087 <a name="l00091"></a><a class="code" href="a00242.html#65c2a34929abc5551dc0242e7dfb2aa6">00091</a> <span class="keywordtype">void</span> InitTraversal() {this->TraversalLocation=0;}; <a name="l00092"></a>00092 <a name="l00096"></a>00096 <span class="keywordtype">int</span> GetNextCell(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>& npts, <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>* &pts); <a name="l00097"></a>00097 <a name="l00099"></a>00099 <a name="l00100"></a><a class="code" href="a00242.html#ed9936e54656db415711fba3cac21128">00100</a> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> GetSize() <a name="l00101"></a>00101 {<span class="keywordflow">return</span> this->Ia->GetSize();} <a name="l00103"></a>00103 <a name="l00105"></a>00105 <a name="l00108"></a><a class="code" href="a00242.html#10cc19947366cb30bc12e978914dde2e">00108</a> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> GetNumberOfConnectivityEntries() <a name="l00109"></a>00109 {<span class="keywordflow">return</span> this->Ia->GetMaxId()+1;} <a name="l00111"></a>00111 <a name="l00114"></a>00114 <span class="keywordtype">void</span> GetCell(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> loc, <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> &npts, <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>* &pts); <a name="l00115"></a>00115 <a name="l00117"></a>00117 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> InsertNextCell(<a class="code" href="a00240.html" title="abstract class to specify cell behavior">vtkCell</a> *cell); <a name="l00118"></a>00118 <a name="l00121"></a>00121 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> InsertNextCell(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> npts, <span class="keyword">const</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>* pts); <a name="l00122"></a>00122 <a name="l00125"></a>00125 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> InsertNextCell(<a class="code" href="a00720.html" title="list of point or cell ids">vtkIdList</a> *pts); <a name="l00126"></a>00126 <a name="l00131"></a>00131 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> InsertNextCell(<span class="keywordtype">int</span> npts); <a name="l00132"></a>00132 <a name="l00135"></a>00135 <span class="keywordtype">void</span> InsertCellPoint(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> <span class="keywordtype">id</span>); <a name="l00136"></a>00136 <a name="l00139"></a>00139 <span class="keywordtype">void</span> UpdateCellCount(<span class="keywordtype">int</span> npts); <a name="l00140"></a>00140 <a name="l00142"></a>00142 <a name="l00144"></a><a class="code" href="a00242.html#caf1894a02243a8a28d7549efcee08fb">00144</a> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> GetInsertLocation(<span class="keywordtype">int</span> npts) <a name="l00145"></a>00145 {<span class="keywordflow">return</span> (this->InsertLocation - npts - 1);}; <a name="l00147"></a>00147 <a name="l00149"></a>00149 <a name="l00150"></a><a class="code" href="a00242.html#42d9b47f64b57bd4ce7e279253b15298">00150</a> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> GetTraversalLocation() <a name="l00151"></a>00151 {<span class="keywordflow">return</span> this->TraversalLocation;} <a name="l00152"></a><a class="code" href="a00242.html#78b688bbb9633e83d679ad27a2e88565">00152</a> <span class="keywordtype">void</span> SetTraversalLocation(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> loc) <a name="l00153"></a>00153 {this->TraversalLocation = loc;} <a name="l00155"></a>00155 <a name="l00157"></a>00157 <a name="l00159"></a><a class="code" href="a00242.html#e16662b3540ab509ac80b1f9c8e843d3">00159</a> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> GetTraversalLocation(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> npts) <a name="l00160"></a>00160 {<span class="keywordflow">return</span>(this->TraversalLocation-npts-1);} <a name="l00162"></a>00162 <a name="l00165"></a>00165 <span class="keywordtype">void</span> ReverseCell(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> loc); <a name="l00166"></a>00166 <a name="l00168"></a>00168 <span class="keywordtype">void</span> ReplaceCell(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> loc, <span class="keywordtype">int</span> npts, <span class="keyword">const</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> *pts); <a name="l00169"></a>00169 <a name="l00172"></a>00172 <span class="keywordtype">int</span> GetMaxCellSize(); <a name="l00173"></a>00173 <a name="l00175"></a>00175 <a name="l00176"></a><a class="code" href="a00242.html#c243c75e704661278f7050684b0433cd">00176</a> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> *GetPointer() <a name="l00177"></a>00177 {<span class="keywordflow">return</span> this->Ia->GetPointer(0);} <a name="l00179"></a>00179 <a name="l00183"></a>00183 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> *WritePointer(<span class="keyword">const</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> ncells, <span class="keyword">const</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> <a class="code" href="a03761.html#c6551f7bf833e8254b2b3ecdaea0d210e3d5e7c015dff08d8daf72a0102e1444">size</a>); <a name="l00184"></a>00184 <a name="l00192"></a>00192 <span class="keywordtype">void</span> SetCells(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> ncells, <a class="code" href="a00722.html" title="dynamic, self-adjusting array of vtkIdType">vtkIdTypeArray</a> *cells); <a name="l00193"></a>00193 <a name="l00195"></a>00195 <span class="keywordtype">void</span> DeepCopy(<a class="code" href="a00242.html" title="object to represent cell connectivity">vtkCellArray</a> *ca); <a name="l00196"></a>00196 <a name="l00198"></a>00198 <a name="l00199"></a><a class="code" href="a00242.html#2841af7d1aae4c8db8544b2317dc712b">00199</a> <a class="code" href="a00722.html" title="dynamic, self-adjusting array of vtkIdType">vtkIdTypeArray</a>* GetData() <a name="l00200"></a>00200 {<span class="keywordflow">return</span> this->Ia;} <a name="l00202"></a>00202 <a name="l00204"></a>00204 <span class="keywordtype">void</span> Reset(); <a name="l00205"></a>00205 <a name="l00207"></a>00207 <a name="l00208"></a><a class="code" href="a00242.html#87c7761cc333074a4362f97f72d58e3f">00208</a> <span class="keywordtype">void</span> Squeeze() <a name="l00209"></a>00209 {this->Ia->Squeeze();} <a name="l00211"></a>00211 <a name="l00218"></a>00218 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> GetActualMemorySize(); <a name="l00219"></a>00219 <a name="l00220"></a>00220 <span class="keyword">protected</span>: <a name="l00221"></a>00221 <a class="code" href="a00242.html" title="object to represent cell connectivity">vtkCellArray</a>(); <a name="l00222"></a>00222 ~<a class="code" href="a00242.html" title="object to represent cell connectivity">vtkCellArray</a>(); <a name="l00223"></a>00223 <a name="l00224"></a><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">00224</a> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> NumberOfCells; <a name="l00225"></a><a class="code" href="a00242.html#3fe6a37a8349236b851de2081c40cfc4">00225</a> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> InsertLocation; <span class="comment">//keep track of current insertion point</span> <a name="l00226"></a><a class="code" href="a00242.html#f470b384286fdbba61ffd83cfa0844bb">00226</a> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> TraversalLocation; <span class="comment">//keep track of traversal position</span> <a name="l00227"></a><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">00227</a> <a class="code" href="a00722.html" title="dynamic, self-adjusting array of vtkIdType">vtkIdTypeArray</a> *Ia; <a name="l00228"></a>00228 <a name="l00229"></a>00229 <span class="keyword">private</span>: <a name="l00230"></a>00230 <a class="code" href="a00242.html" title="object to represent cell connectivity">vtkCellArray</a>(<span class="keyword">const</span> <a class="code" href="a00242.html" title="object to represent cell connectivity">vtkCellArray</a>&); <span class="comment">// Not implemented.</span> <a name="l00231"></a>00231 <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="a00242.html" title="object to represent cell connectivity">vtkCellArray</a>&); <span class="comment">// Not implemented.</span> <a name="l00232"></a>00232 }; <a name="l00233"></a>00233 <a name="l00234"></a>00234 <a name="l00235"></a>00235 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00236"></a><a class="code" href="a00242.html#7d13f5102ed4edac7e21c4f1ae02fab7">00236</a> <span class="keyword">inline</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> <a class="code" href="a00242.html#c11566088137c428e499e89a06c9b37d">vtkCellArray::InsertNextCell</a>(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> npts, <a name="l00237"></a>00237 <span class="keyword">const</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>* pts) <a name="l00238"></a>00238 { <a name="l00239"></a>00239 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> i = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00081.html#d73841cc02b42926fe446707fd0ba274">GetMaxId</a>() + 1; <a name="l00240"></a>00240 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> *ptr = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#fce0c591f6d2803aabe76b809e6abac0">WritePointer</a>(i, npts+1); <a name="l00241"></a>00241 <a name="l00242"></a>00242 <span class="keywordflow">for</span> ( *ptr++ = npts, i = 0; i < npts; i++) <a name="l00243"></a>00243 { <a name="l00244"></a>00244 *ptr++ = *pts++; <a name="l00245"></a>00245 } <a name="l00246"></a>00246 <a name="l00247"></a>00247 this-><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">NumberOfCells</a>++; <a name="l00248"></a>00248 this-><a class="code" href="a00242.html#3fe6a37a8349236b851de2081c40cfc4">InsertLocation</a> += npts + 1; <a name="l00249"></a>00249 <a name="l00250"></a>00250 <span class="keywordflow">return</span> this-><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">NumberOfCells</a> - 1; <a name="l00251"></a>00251 } <a name="l00252"></a>00252 <a name="l00253"></a>00253 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00254"></a><a class="code" href="a00242.html#610cbd6b24638b340c68ddd1cdff31bc">00254</a> <span class="keyword">inline</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> <a class="code" href="a00242.html#c11566088137c428e499e89a06c9b37d">vtkCellArray::InsertNextCell</a>(<a class="code" href="a00720.html" title="list of point or cell ids">vtkIdList</a> *pts) <a name="l00255"></a>00255 { <a name="l00256"></a>00256 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> npts = pts-><a class="code" href="a00720.html#0e2cad6f2ac1f4b0e64d8132c1ddb8ec">GetNumberOfIds</a>(); <a name="l00257"></a>00257 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> i = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00081.html#d73841cc02b42926fe446707fd0ba274">GetMaxId</a>() + 1; <a name="l00258"></a>00258 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> *ptr = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#fce0c591f6d2803aabe76b809e6abac0">WritePointer</a>(i,npts+1); <a name="l00259"></a>00259 <a name="l00260"></a>00260 <span class="keywordflow">for</span> ( *ptr++ = npts, i = 0; i < npts; i++) <a name="l00261"></a>00261 { <a name="l00262"></a>00262 *ptr++ = pts-><a class="code" href="a00720.html#9c7ecc42c1e99f6c7baf1f40d355fe1a">GetId</a>(i); <a name="l00263"></a>00263 } <a name="l00264"></a>00264 <a name="l00265"></a>00265 this-><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">NumberOfCells</a>++; <a name="l00266"></a>00266 this-><a class="code" href="a00242.html#3fe6a37a8349236b851de2081c40cfc4">InsertLocation</a> += npts + 1; <a name="l00267"></a>00267 <a name="l00268"></a>00268 <span class="keywordflow">return</span> this-><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">NumberOfCells</a> - 1; <a name="l00269"></a>00269 } <a name="l00270"></a>00270 <a name="l00271"></a>00271 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00272"></a><a class="code" href="a00242.html#5075a8f5be472dae1ecd15522e841630">00272</a> <span class="keyword">inline</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> <a class="code" href="a00242.html#c11566088137c428e499e89a06c9b37d">vtkCellArray::InsertNextCell</a>(<span class="keywordtype">int</span> npts) <a name="l00273"></a>00273 { <a name="l00274"></a>00274 this-><a class="code" href="a00242.html#3fe6a37a8349236b851de2081c40cfc4">InsertLocation</a> = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#1c0eba7778536f5f37c51a5b0a85ef91">InsertNextValue</a>(npts) + 1; <a name="l00275"></a>00275 this-><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">NumberOfCells</a>++; <a name="l00276"></a>00276 <a name="l00277"></a>00277 <span class="keywordflow">return</span> this-><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">NumberOfCells</a> - 1; <a name="l00278"></a>00278 } <a name="l00279"></a>00279 <a name="l00280"></a>00280 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00281"></a><a class="code" href="a00242.html#718232c39e277ff5900564e45ccc6b94">00281</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00242.html#718232c39e277ff5900564e45ccc6b94">vtkCellArray::InsertCellPoint</a>(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> <span class="keywordtype">id</span>) <a name="l00282"></a>00282 { <a name="l00283"></a>00283 this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#e90372211a29f54e8f1ec7c6747c15a1">InsertValue</a>(this-><a class="code" href="a00242.html#3fe6a37a8349236b851de2081c40cfc4">InsertLocation</a>++, <span class="keywordtype">id</span>); <a name="l00284"></a>00284 } <a name="l00285"></a>00285 <a name="l00286"></a>00286 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00287"></a><a class="code" href="a00242.html#d13861af7bb31526f35bf783041629f4">00287</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00242.html#d13861af7bb31526f35bf783041629f4">vtkCellArray::UpdateCellCount</a>(<span class="keywordtype">int</span> npts) <a name="l00288"></a>00288 { <a name="l00289"></a>00289 this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#ebc949a0a94af535a4baf638698c38f7">SetValue</a>(this-><a class="code" href="a00242.html#3fe6a37a8349236b851de2081c40cfc4">InsertLocation</a>-npts-1, npts); <a name="l00290"></a>00290 } <a name="l00291"></a>00291 <a name="l00292"></a>00292 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00293"></a><a class="code" href="a00242.html#c11566088137c428e499e89a06c9b37d">00293</a> <span class="keyword">inline</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> <a class="code" href="a00242.html#c11566088137c428e499e89a06c9b37d">vtkCellArray::InsertNextCell</a>(<a class="code" href="a00240.html" title="abstract class to specify cell behavior">vtkCell</a> *cell) <a name="l00294"></a>00294 { <a name="l00295"></a>00295 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> npts = cell-><a class="code" href="a00240.html#6da6becf0c1df6580faa37beba589e00">GetNumberOfPoints</a>(); <a name="l00296"></a>00296 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> i = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00081.html#d73841cc02b42926fe446707fd0ba274">GetMaxId</a>() + 1; <a name="l00297"></a>00297 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> *ptr = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#fce0c591f6d2803aabe76b809e6abac0">WritePointer</a>(i,npts+1); <a name="l00298"></a>00298 <a name="l00299"></a>00299 <span class="keywordflow">for</span> ( *ptr++ = npts, i = 0; i < npts; i++) <a name="l00300"></a>00300 { <a name="l00301"></a>00301 *ptr++ = cell-><a class="code" href="a00240.html#d97fc31340d75e8d493476b39324f229">PointIds</a>-><a class="code" href="a00720.html#9c7ecc42c1e99f6c7baf1f40d355fe1a">GetId</a>(i); <a name="l00302"></a>00302 } <a name="l00303"></a>00303 <a name="l00304"></a>00304 this-><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">NumberOfCells</a>++; <a name="l00305"></a>00305 this-><a class="code" href="a00242.html#3fe6a37a8349236b851de2081c40cfc4">InsertLocation</a> += npts + 1; <a name="l00306"></a>00306 <a name="l00307"></a>00307 <span class="keywordflow">return</span> this-><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">NumberOfCells</a> - 1; <a name="l00308"></a>00308 } <a name="l00309"></a>00309 <a name="l00310"></a>00310 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00311"></a><a class="code" href="a00242.html#3e01d2500b03128ba2a02c7f67c8e01a">00311</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00242.html#3e01d2500b03128ba2a02c7f67c8e01a">vtkCellArray::Reset</a>() <a name="l00312"></a>00312 { <a name="l00313"></a>00313 this-><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">NumberOfCells</a> = 0; <a name="l00314"></a>00314 this-><a class="code" href="a00242.html#3fe6a37a8349236b851de2081c40cfc4">InsertLocation</a> = 0; <a name="l00315"></a>00315 this-><a class="code" href="a00242.html#f470b384286fdbba61ffd83cfa0844bb">TraversalLocation</a> = 0; <a name="l00316"></a>00316 this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00081.html#88366888a61b701b5563c107004a7121">Reset</a>(); <a name="l00317"></a>00317 } <a name="l00318"></a>00318 <a name="l00319"></a>00319 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00320"></a><a class="code" href="a00242.html#659d08a177afebacacf2f15ca96d7a36">00320</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="a00242.html#659d08a177afebacacf2f15ca96d7a36">vtkCellArray::GetNextCell</a>(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>& npts, <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>* &pts) <a name="l00321"></a>00321 { <a name="l00322"></a>00322 <span class="keywordflow">if</span> ( this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00081.html#d73841cc02b42926fe446707fd0ba274">GetMaxId</a>() >= 0 && <a name="l00323"></a>00323 this-><a class="code" href="a00242.html#f470b384286fdbba61ffd83cfa0844bb">TraversalLocation</a> <= this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00081.html#d73841cc02b42926fe446707fd0ba274">GetMaxId</a>() ) <a name="l00324"></a>00324 { <a name="l00325"></a>00325 npts = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#f2948fb7a42fc809e658288765f4804e">GetValue</a>(this-><a class="code" href="a00242.html#f470b384286fdbba61ffd83cfa0844bb">TraversalLocation</a>++); <a name="l00326"></a>00326 pts = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#cf7d336c82cfa46f3d8c192290b40254">GetPointer</a>(this-><a class="code" href="a00242.html#f470b384286fdbba61ffd83cfa0844bb">TraversalLocation</a>); <a name="l00327"></a>00327 this-><a class="code" href="a00242.html#f470b384286fdbba61ffd83cfa0844bb">TraversalLocation</a> += npts; <a name="l00328"></a>00328 <span class="keywordflow">return</span> 1; <a name="l00329"></a>00329 } <a name="l00330"></a>00330 <span class="keywordflow">else</span> <a name="l00331"></a>00331 { <a name="l00332"></a>00332 <span class="keywordflow">return</span> 0; <a name="l00333"></a>00333 } <a name="l00334"></a>00334 } <a name="l00335"></a>00335 <a name="l00336"></a>00336 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00337"></a><a class="code" href="a00242.html#0f6a2dd3d71233dfea6dbe70a6e1673e">00337</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00242.html#0f6a2dd3d71233dfea6dbe70a6e1673e">vtkCellArray::GetCell</a>(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> loc, <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> &npts, <a name="l00338"></a>00338 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>* &pts) <a name="l00339"></a>00339 { <a name="l00340"></a>00340 npts = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#f2948fb7a42fc809e658288765f4804e">GetValue</a>(loc++); <a name="l00341"></a>00341 pts = this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#cf7d336c82cfa46f3d8c192290b40254">GetPointer</a>(loc); <a name="l00342"></a>00342 } <a name="l00343"></a>00343 <a name="l00344"></a>00344 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00345"></a><a class="code" href="a00242.html#59ebf694ba7c1fcead3d4ebdffb9190c">00345</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00242.html#59ebf694ba7c1fcead3d4ebdffb9190c">vtkCellArray::ReverseCell</a>(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> loc) <a name="l00346"></a>00346 { <a name="l00347"></a>00347 <span class="keywordtype">int</span> i; <a name="l00348"></a>00348 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> tmp; <a name="l00349"></a>00349 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> npts=this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#f2948fb7a42fc809e658288765f4804e">GetValue</a>(loc); <a name="l00350"></a>00350 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> *pts=this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#cf7d336c82cfa46f3d8c192290b40254">GetPointer</a>(loc+1); <a name="l00351"></a>00351 <span class="keywordflow">for</span> (i=0; i < (npts/2); i++) <a name="l00352"></a>00352 { <a name="l00353"></a>00353 tmp = pts[i]; <a name="l00354"></a>00354 pts[i] = pts[npts-i-1]; <a name="l00355"></a>00355 pts[npts-i-1] = tmp; <a name="l00356"></a>00356 } <a name="l00357"></a>00357 } <a name="l00358"></a>00358 <a name="l00359"></a>00359 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00360"></a><a class="code" href="a00242.html#79fd27a67e215075d07fb1abac3c74c1">00360</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00242.html#79fd27a67e215075d07fb1abac3c74c1">vtkCellArray::ReplaceCell</a>(<a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> loc, <span class="keywordtype">int</span> npts, <a name="l00361"></a>00361 <span class="keyword">const</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> *pts) <a name="l00362"></a>00362 { <a name="l00363"></a>00363 <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> *oldPts=this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#cf7d336c82cfa46f3d8c192290b40254">GetPointer</a>(loc+1); <a name="l00364"></a>00364 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i < npts; i++) <a name="l00365"></a>00365 { <a name="l00366"></a>00366 oldPts[i] = pts[i]; <a name="l00367"></a>00367 } <a name="l00368"></a>00368 } <a name="l00369"></a>00369 <a name="l00370"></a>00370 <span class="comment">//----------------------------------------------------------------------------</span> <a name="l00371"></a><a class="code" href="a00242.html#e4015158449b8afec9e97abbb0f79185">00371</a> <span class="keyword">inline</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> *<a class="code" href="a00242.html#e4015158449b8afec9e97abbb0f79185">vtkCellArray::WritePointer</a>(<span class="keyword">const</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> ncells, <a name="l00372"></a>00372 <span class="keyword">const</span> <a class="code" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> <a class="code" href="a03761.html#c6551f7bf833e8254b2b3ecdaea0d210e3d5e7c015dff08d8daf72a0102e1444">size</a>) <a name="l00373"></a>00373 { <a name="l00374"></a>00374 this-><a class="code" href="a00242.html#2ff4388687c40fefa0eb0a11048533ce">NumberOfCells</a> = ncells; <a name="l00375"></a>00375 this-><a class="code" href="a00242.html#3fe6a37a8349236b851de2081c40cfc4">InsertLocation</a> = 0; <a name="l00376"></a>00376 this-><a class="code" href="a00242.html#f470b384286fdbba61ffd83cfa0844bb">TraversalLocation</a> = 0; <a name="l00377"></a>00377 <span class="keywordflow">return</span> this-><a class="code" href="a00242.html#8bb87fcac8082b66e1bd4610bd05750a">Ia</a>-><a class="code" href="a00722.html#fce0c591f6d2803aabe76b809e6abac0">WritePointer</a>(0,size); <a name="l00378"></a>00378 } <a name="l00379"></a>00379 <a name="l00380"></a>00380 <span class="preprocessor">#endif</span> </pre></div></div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 18:35:14 2009 for VTK by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>