<div>Hi all,</div>
<div> </div>
<div>I implemented an example of vtkPolyDataConnectivityFilter, because vtk wiki do not provide it yet.</div>
<div>You can use it as below codes.</div>
<div> </div>
<div>Thanks,</div>
<div> </div>
<div>Jinyoung</div>
<div> </div>
<div>-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- </div>

<div>#include &quot;vtkSmartPointer.h&quot;<br>#include &quot;vtkStructuredPointsReader.h&quot;<br>#include &quot;vtkMarchingCubes.h&quot;<br>#include &quot;vtkPolyDataConnectivityFilter.h&quot;<br>#include &quot;vtkPolyDataMapper.h&quot;<br>
#include &quot;vtkActor.h&quot;<br>#include &quot;vtkProperty.h&quot;<br>#include &quot;vtkRenderer.h&quot;<br>#include &quot;vtkRenderWindow.h&quot;<br>#include &quot;vtkRenderWindowInteractor.h&quot;</div>
<div> </div>
<div>int main(int argc, char* argv[])<br>{</div>
<div> // data load<br> vtkSmartPointer&lt;vtkStructuredPointsReader&gt; reader = vtkSmartPointer&lt;vtkStructuredPointsReader&gt;::New();<br> reader-&gt;SetFileName(&quot;test.vtk&quot;);<br> reader-&gt;Update();</div>
<div> // MC is used to display in 3D<br> vtkSmartPointer&lt;vtkMarchingCubes&gt; cubes = vtkSmartPointer&lt;vtkMarchingCubes&gt;::New();<br> cubes-&gt;SetInputConnection(reader-&gt;GetOutputPort());<br> cubes-&gt;ComputeNormalsOn();<br>
 cubes-&gt;ComputeGradientsOn();<br> cubes-&gt;SetValue(0, 20);<br> cubes-&gt;Update();</div>
<div> // this is to use remove other parts of largest region<br> // you can set specific region using &#39;SetExtractionModeToPointSeededRegions&#39; function<br> vtkSmartPointer&lt;vtkPolyDataConnectivityFilter&gt; cfilter = vtkSmartPointer&lt;vtkPolyDataConnectivityFilter&gt;::New();<br>
 cfilter-&gt;SetInputConnection(cubes-&gt;GetOutputPort());<br> cfilter-&gt;SetExtractionModeToLargestRegion(); <br> //cfilter-&gt;SetExtractionModeToPointSeededRegions();<br> //cfilter-&gt;SetClosestPoint(x,y,z);<br> cfilter-&gt;Update();</div>

<div> // create a mapper<br> vtkSmartPointer&lt;vtkPolyDataMapper&gt; mapper = vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();<br> mapper-&gt;SetInputConnection(cfilter-&gt;GetOutputPort());<br> mapper-&gt;ScalarVisibilityOn(); <br>
 mapper-&gt;Update();</div>
<div> // create an actor<br> vtkSmartPointer&lt;vtkActor&gt; actor = vtkSmartPointer&lt;vtkActor&gt;::New();<br> actor-&gt;GetProperty()-&gt;SetColor(1,1,1);<br> actor-&gt;SetMapper(mapper);<br> <br> // create a renderer<br>
 vtkSmartPointer&lt;vtkRenderer&gt; renderer = vtkSmartPointer&lt;vtkRenderer&gt;::New();<br> renderer-&gt;AddActor(actor);</div>
<div> // create a render window<br> vtkSmartPointer&lt;vtkRenderWindow&gt; renwin = vtkSmartPointer&lt;vtkRenderWindow&gt;::New();<br> renwin-&gt;AddRenderer(renderer);<br> <br> // create an interactor<br> vtkSmartPointer&lt;vtkRenderWindowInteractor&gt; iren = vtkSmartPointer&lt;vtkRenderWindowInteractor&gt;::New();<br>
 iren-&gt;SetRenderWindow(renwin);<br> iren-&gt;Initialize();<br> iren-&gt;Start();</div>
<div> reader-&gt;Delete();<br> cubes-&gt;Delete();<br> cfilter-&gt;Delete();<br> mapper-&gt;Delete();<br> actor-&gt;Delete();<br> renderer-&gt;Delete();<br> renwin-&gt;Delete();<br> iren-&gt;Delete();<br> <br> return 0;<br>
}</div>