<div dir="ltr"><div>vtk algorithms either require connection or data.<br><br></div><div>to make a connection you call :<br></div><div></div><div><pre style="margin:0px;text-indent:0px"><span style></span><span style="font-style:italic">SetInputConnection</span><span style><br>
<br></span><br></pre><div>to provide data as input you call :<br></div><span style></span><span style="font-style:italic"></span><pre style="margin:0px;text-indent:0px"><span style></span><span style></span><span style="font-style:italic">SetInput</span><span style></span><br>
</pre><br></div><div>in vtk 6.0+ you if not mistaken it is:<br></div><div><pre style="margin:0px;text-indent:0px"><span style></span><span style></span><span style="font-style:italic">SetInput</span><span style></span>Data<br>
</pre><br><br></div><div>Alex<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 30, 2013 at 5:48 PM, Paul McIntosh <span dir="ltr"><<a href="mailto:paul.mcintosh@monash.edu" target="_blank">paul.mcintosh@monash.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:10pt;font-family:arial,helvetica,sans-serif"><span style>Hi All,<br><br>I have a dumb question - how do I used vtkSmoothPolyDataFilter with...errr... polydata?<br>
<br>I am trying to do the equivalent of :<br></span><a style href="http://www.paraview.org/Wiki/VTK/Examples/Cxx/PolyData/ConvexHullShrinkWrap" target="_blank">http://www.paraview.org/Wiki/VTK/Examples/Cxx/PolyData/ConvexHullShrinkWrap</a><br style>
<br style><span style>But instead of using a point source I want to load an STL and get points from that. Seems that vtkSmoothPolyDataFilter only likes <span style>vtkAlgorithmOutput and not actual concrete data. Is there an easy way to make this work?</span><br style>
<br style><span style>Here is my code as reference.</span><br style><br style><span style>Cheers,</span><br style><br style><span style>Paul</span><br></span><span style="color:rgb(0,0,128)"><br><br>#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkSmartPointer.h></span>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkPolyData.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkSphereSource.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkPointSource.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkSmoothPolyDataFilter.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkXMLPolyDataWriter.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkSTLReader.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkActor.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkRenderWindow.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkRenderer.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkRenderWindowInteractor.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkPolyDataMapper.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkCamera.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkWeightedTransformFilter.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkXMLUnstructuredGridReader.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkUnstructuredGrid.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkXMLPolyDataReader.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkDataSetMapper.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><vtkDataSetSurfaceFilter.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">C/C++</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><iostream></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><sstream></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,0,128)">#include</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><stdio.h></span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(128,128,0)">using</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">namespace</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">std</span><span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">just</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">to</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">make</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">things</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">nicer</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">later</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">and</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">save</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">some</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">documentation</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">reading</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">;)</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(128,128,0)">struct</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">boundingBox</span><span style="color:rgb(192,192,192)"> </span><span style>{</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">double</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">xmin</span><span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">double</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">xmax</span><span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">double</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">ymin</span><span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">double</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">ymax</span><span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">double</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">zmin</span><span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">double</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">zmax</span><span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style>};</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(128,128,0)">int</span><span style="color:rgb(192,192,192)"> </span>main<span style>(</span><span style="color:rgb(128,128,0)">int</span><span style="color:rgb(192,192,192)"> </span><span style>argc</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">char</span><span style="color:rgb(192,192,192)"> </span><span style>*</span><span style>argv</span><span style>[])</span></pre>
<pre style="margin:0px;text-indent:0px"><span style>{</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">check</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">and</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">get</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">options</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">provided</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">if</span><span style="color:rgb(192,192,192)"> </span><span style>(</span><span style="color:rgb(192,192,192)"> </span><span style>argc</span><span style="color:rgb(192,192,192)"> </span><span style>!=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,0,128)">2</span><span style="color:rgb(192,192,192)"> </span><span style>)</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>{</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span>cout<span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"Required</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">parameters:"</span><span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span>endl<span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span>cout<span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">Filename</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">(Full</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">path</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">to</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">stl</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">file</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">e.g.</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">something.stl)"</span><span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span>endl<span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">cout</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">Magnification</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">(Image</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">resolution</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">size</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">multipler</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">e.g.</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">2)"</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">endl;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">cout</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">x</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">(x</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">camera</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">offset</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">position</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">from</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">centre)"</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">endl;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">cout</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">y</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">(y</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">camera</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">offset</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">position</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">from</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">centre)"</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">endl;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">cout</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">z</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">(z</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">camera</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">offset</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">position</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">from</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">centre)"</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)"><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">endl;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">return</span><span style="color:rgb(192,192,192)"> </span>EXIT_FAILURE<span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>}</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">std</span><span style>::</span><span style="color:rgb(128,0,128)">string</span><span style="color:rgb(192,192,192)"> </span><span style>inputfile</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>argv</span><span style>[</span><span style="color:rgb(0,0,128)">1</span><span style>];</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">Read</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">STL</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">std</span><span style>::</span>cout<span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"Reading:</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"</span><span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style>inputfile</span><span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">std</span><span style>::</span>endl<span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkSTLReader</span><span style>></span><span style="color:rgb(192,192,192)"> </span><span style>stlReader</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkSTLReader</span><span style>>::</span>New<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>stlReader</span><span style>-></span><span style="font-style:italic">SetFileName</span><span style>(</span><span style>inputfile</span><span style>.</span>c_str<span style>());</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkPolyData</span><span style>></span><span style="color:rgb(192,192,192)"> </span><span style>polydata</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkPolyData</span><span style>>::</span>New<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>polydata</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>stlReader</span><span style>-></span>GetOutput<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>stlReader</span><span style>-></span><span style="font-style:italic">Update</span><span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkDataSetMapper</span><span style>></span><span style="color:rgb(192,192,192)"> </span><span style>mapper</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkDataSetMapper</span><span style>>::</span>New<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>mapper</span><span style>-></span><span style="font-style:italic">SetInputConnection</span><span style>(</span><span style>stlReader</span><span style>-></span>GetOutputPort<span style>());</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">the</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">bounding</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">box</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">will</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">tell</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">us</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">where</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">the</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">object</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">is</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">and</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">how</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">big</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">it</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">is...</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">double</span><span style="color:rgb(192,192,192)"> </span><span style>centre</span><span style>[</span><span style="color:rgb(0,0,128)">3</span><span style>];</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">double</span><span style="color:rgb(192,192,192)"> </span><span style>bounds</span><span style>[</span><span style="color:rgb(0,0,128)">6</span><span style>];</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">double</span><span style="color:rgb(192,192,192)"> </span><span style>results</span><span style>[</span><span style="color:rgb(0,0,128)">3</span><span style>];</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">boundingBox</span><span style="color:rgb(192,192,192)"> </span><span style>boxBounds</span><span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>mapper</span><span style>-></span><span style="font-style:italic">GetBounds</span><span style>(</span><span style>bounds</span><span style>);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>mapper</span><span style>-></span>GetCenter<span style>(</span><span style>centre</span><span style>);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>boxBounds</span><span style>.</span><span style="color:rgb(128,0,0)">xmin</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>bounds</span><span style>[</span><span style="color:rgb(0,0,128)">0</span><span style>];</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>boxBounds</span><span style>.</span><span style="color:rgb(128,0,0)">xmax</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>bounds</span><span style>[</span><span style="color:rgb(0,0,128)">1</span><span style>];</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>boxBounds</span><span style>.</span><span style="color:rgb(128,0,0)">ymin</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>bounds</span><span style>[</span><span style="color:rgb(0,0,128)">2</span><span style>];</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>boxBounds</span><span style>.</span><span style="color:rgb(128,0,0)">ymax</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>bounds</span><span style>[</span><span style="color:rgb(0,0,128)">3</span><span style>];</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>boxBounds</span><span style>.</span><span style="color:rgb(128,0,0)">zmin</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>bounds</span><span style>[</span><span style="color:rgb(0,0,128)">4</span><span style>];</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>boxBounds</span><span style>.</span><span style="color:rgb(128,0,0)">zmax</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style>bounds</span><span style>[</span><span style="color:rgb(0,0,128)">5</span><span style>];</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">possibly</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">remesh</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">with</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">finer</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">detail</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">with</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">subdivide</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">filter?</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">convert</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">to</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">pointset</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">create</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">sphere</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">around</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">bounds</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">(possibly</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">transformed</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">to</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">a</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">better</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">shape?)</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">shrinkwrap</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">spit</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">out</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">the</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">result</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">as</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">an</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">stl</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">std</span><span style>::</span>cout<span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"vtkSphereSource:</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"</span><span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">std</span><span style>::</span>endl<span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkSphereSource</span><span style>></span><span style="color:rgb(192,192,192)"> </span><span style>sphereSource</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkSphereSource</span><span style>>::</span>New<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>sphereSource</span><span style>-></span><span style="font-style:italic">SetRadius</span><span style>(</span><span style="color:rgb(0,0,128)">1000</span><span style>);</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">will</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">calculate</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">this</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">later</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">from</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">bounding</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">box</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>sphereSource</span><span style>-></span><span style="font-style:italic">SetPhiResolution</span><span style>(</span><span style="color:rgb(0,0,128)">50</span><span style>);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>sphereSource</span><span style>-></span><span style="font-style:italic">SetThetaResolution</span><span style>(</span><span style="color:rgb(0,0,128)">50</span><span style>);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>sphereSource</span><span style>-></span><span style="font-style:italic">SetCenter</span><span style>(</span><span style>centre</span><span style>);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>sphereSource</span><span style>-></span><span style="font-style:italic">Update</span><span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">vtkSmartPointer<vtkPointSource></span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">pointSource</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">vtkSmartPointer<vtkPointSource>::New();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">pointSource->SetNumberOfPoints(40);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">pointSource->SetRadius(2);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(0,128,0)">//</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">pointSource->Update();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>{</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkXMLPolyDataWriter</span><span style>></span><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkXMLPolyDataWriter</span><span style>>::</span>New<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style>-></span><span style="font-style:italic">SetFileName</span><span style>(</span><span style="color:rgb(0,128,0)">"input.vtp"</span><span style>);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style>-></span><span style="font-style:italic">SetInputConnection</span><span style>(</span><span style>sphereSource</span><span style>-></span>GetOutputPort<span style>());</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style>-></span>Write<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>}</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>{</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkXMLPolyDataWriter</span><span style>></span><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkXMLPolyDataWriter</span><span style>>::</span>New<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style>-></span><span style="font-style:italic">SetFileName</span><span style>(</span><span style="color:rgb(0,128,0)">"points.vtp"</span><span style>);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style>-></span><span style="font-style:italic">SetInputConnection</span><span style>(</span>pointSource<span style>-></span>GetOutputPort<span style>());</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style>-></span>Write<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>}</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">std</span><span style>::</span>cout<span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"ShrinkWrapping:</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">"</span><span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style>inputfile</span><span style="color:rgb(192,192,192)"> </span><span style><<</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">std</span><span style>::</span>endl<span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkSmoothPolyDataFilter</span><span style>></span><span style="color:rgb(192,192,192)"> </span><span style>smoothFilter</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkSmoothPolyDataFilter</span><span style>>::</span>New<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>smoothFilter</span><span style>-></span><span style="font-style:italic">SetInputConnection</span><span style>(</span><span style="color:rgb(0,0,128)">0</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>sphereSource</span><span style>-></span>GetOutputPort<span style>());</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">//smoothFilter->SetInputConnection(1,</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(0,128,0)">pointSource->GetOutputPort());</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>smoothFilter</span><span style>-></span><span style="font-style:italic">SetInputConnection</span><span style>(</span><span style="color:rgb(0,0,128)">1</span><span style>,</span><span style="color:rgb(192,192,192)"> </span><span style>polydata</span><span style>);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>smoothFilter</span><span style>-></span><span style="font-style:italic">Update</span><span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkXMLPolyDataWriter</span><span style>></span><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style="color:rgb(192,192,192)"> </span><span style>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span style><</span><span style="color:rgb(128,0,128)">vtkXMLPolyDataWriter</span><span style>>::</span>New<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style>-></span><span style="font-style:italic">SetFileName</span><span style>(</span><span style="color:rgb(0,128,0)">"output.vtp"</span><span style>);</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style>-></span><span style="font-style:italic">SetInputConnection</span><span style>(</span><span style>smoothFilter</span><span style>-></span>GetOutputPort<span style>());</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style>writer</span><span style>-></span>Write<span style>();</span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span></pre>
<pre style="margin:0px;text-indent:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,128,0)">return</span><span style="color:rgb(192,192,192)"> </span>EXIT_SUCCESS<span style>;</span></pre>
<pre style="margin:0px;text-indent:0px"><span style>}</span></pre><span class="HOEnZb"><font color="#888888">
<pre style="margin:0px;text-indent:0px"><br></pre><br><br><br>-- <br><div><span name="x"></span>Dr Paul McIntosh<br> Senior HPC Consultant, Technical Lead,<br> Multi-modal Australian ScienceS Imaging and Visualisation Environment (<a href="http://www.massive.org.au" target="_blank">www.massive.org.au</a>)<br>
Monash University, Ph: 9902 0439 Mob: 0434 524935<span name="x"></span><br></div></font></span></div></div><br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><br></div>