Sorry for asking so directly like this, but, Is there another way of doing this?<br><br>Because the result obtained is not the desired. <div><br></div><div>Thank you.!<br><br><div class="gmail_quote">2012/8/13 David Doria <span dir="ltr">&lt;<a href="mailto:daviddoria@gmail.com" target="_blank">daviddoria@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Mon, Aug 13, 2012 at 12:10 PM, Gonzalo Amadio<br>
&lt;<a href="mailto:gonzaloamadio@gmail.com">gonzaloamadio@gmail.com</a>&gt; wrote:<br>
&gt; Hello, I am trying to extract boundary cells of a polydata. I&#39;ve used<br>
&gt; <a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/Meshes/BoundaryEdges" target="_blank">http://www.vtk.org/Wiki/VTK/Examples/Cxx/Meshes/BoundaryEdges</a> to extract<br>
&gt; boundary edges.<br>
&gt;<br>
&gt; Then I looked to this example :<br>
&gt; <a href="http://public.kitware.com/cgi-bin/viewcvs.cgi/*checkout*/Graphics/Testing/Tcl/capSphere.tcl?root=VTK&amp;content-type=text/plain" target="_blank">http://public.kitware.com/cgi-bin/viewcvs.cgi/*checkout*/Graphics/Testing/Tcl/capSphere.tcl?root=VTK&amp;content-type=text/plain</a><br>


&gt; to extract the cells.<br>
&gt;<br>
&gt; But when I print the result polydata data , gives me an error.<br>
&gt;<br>
&gt;&gt; vtkSmartPointer&lt;vtkFeatureEdges&gt; boundaryEdges =<br>
&gt;&gt; vtkSmartPointer&lt;vtkFeatureEdges&gt;::New();<br>
&gt;&gt; boundaryEdges-&gt;SetInput(myPolyData);<br>
&gt;&gt; boundaryEdges-&gt;BoundaryEdgesOn();<br>
&gt;&gt; boundaryEdges-&gt;FeatureEdgesOff();<br>
&gt;&gt; boundaryEdges-&gt;ManifoldEdgesOff();<br>
&gt;&gt; boundaryEdges-&gt;NonManifoldEdgesOff();<br>
&gt;&gt; boundaryEdges-&gt;Update();<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; vtkSmartPointer&lt;vtkCleanPolyData&gt; boundaryClean =<br>
&gt;&gt; vtkSmartPointer&lt;vtkCleanPolyData&gt;::New();<br>
&gt;&gt; boundaryClean-&gt;SetInput(boundaryEdges-&gt;GetOutput());<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; vtkSmartPointer&lt;vtkStripper&gt; boundaryStrips =<br>
&gt;&gt; vtkSmartPointer&lt;vtkStripper&gt;::New();<br>
&gt;&gt; boundaryStrips-&gt;SetInput(boundaryClean-&gt;GetOutput());<br>
&gt;&gt; boundaryStrips-&gt;Update();<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; vtkSmartPointer&lt;vtkPolyData&gt; boundaryPoly =<br>
&gt;&gt; vtkSmartPointer&lt;vtkPolyData&gt;::New();<br>
&gt;&gt; boundaryPoly-&gt;SetPoints((boundaryStrips-&gt;GetOutput())-&gt;GetPoints());<br>
&gt;&gt; boundaryPoly-&gt;SetPolys((boundaryStrips-&gt;GetOutput())-&gt;GetLines());<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; vtkSmartPointer&lt;vtkTriangleFilter&gt; boundaryTriangles =<br>
&gt;&gt; vtkSmartPointer&lt;vtkTriangleFilter&gt;::New();<br>
&gt;&gt; boundaryTriangles-&gt;SetInput(boundaryPoly);<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; vtkSmartPointer&lt;vtkPolyData&gt; boundaryTrianglesPD =<br>
&gt;&gt; boundaryTriangles-&gt;GetOutput();<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; std::cout &lt;&lt; &quot;cell &quot; &lt;&lt; boundaryTrianglesPD-&gt;GetNumberOfCells() &lt;&lt;<br>
&gt;&gt; std::endl;                           // gives me 0<br>
&gt;&gt; std::cout &lt;&lt; &quot;lines &quot; &lt;&lt;<br>
&gt;&gt; boundaryTrianglesPD-&gt;GetLines()-&gt;GetNumberOfCells() &lt;&lt; std::endl;<br>
&gt;&gt; //gives me 0<br>
&gt;&gt; std::cout &lt;&lt; &quot;points &quot; &lt;&lt;<br>
&gt;&gt; boundaryTrianglesPD-&gt;GetPoints()-&gt;GetNumberOfPoints() &lt;&lt; std::endl;  //<br>
&gt;&gt; crash here<br>
&gt;<br>
&gt;<br>
&gt; Can someone help me?<br>
&gt;<br>
&gt; Thank you!<br>
&gt;<br>
&gt; --<br>
&gt; --------<br>
&gt; Gonzalo Amadio<br>
<br>
</div></div>You need to call boundaryTriangles-&gt;Update() before<br>
boundaryTriangles-&gt;GetOutput() if you&#39;re going to use it like this.<br>
<span class="HOEnZb"><font color="#888888"><br>
David<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>--------<br>Gonzalo Amadio<br><br>
</div>