<div dir="ltr">It works with these modifications<br><br>1)<span style="color:#c0c0c0"> </span><span style="color:#800080">vtkSmartPointer</span><span style="color:#000000">&lt;</span><span style="color:#800080">vtkPolyData</span><span style="color:#000000">&gt;</span><span style="color:#c0c0c0"> </span>make_vtkPolyData<span style="color:#000000">()<br>
<br>2)</span><span style="color:#808000">return</span><span style="color:#c0c0c0"> </span><span style="color:#000000">triFilter</span><span style="color:#000000">-&gt;</span>GetOutput<span style="color:#000000">();<br><br>
3)</span><span style="color:#000000">complete_model</span><span style="color:#000000">=</span><span style="color:#000000">getvtk</span><span style="color:#000000">.</span>make_vtkPolyData<span style="color:#000000">();<br>
<br>Jothy<br></span><br><br><br><div class="gmail_quote">On Mon, Jul 2, 2012 at 11:28 AM, Alex Southern <span dir="ltr">&lt;<a href="mailto:mrapsouthern@gmail.com" target="_blank">mrapsouthern@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Ive tried numerous things to achieve this but however i do it the result is the same as that produced by the code below. The vtkPolydata complete_model is always empty, despite the line in the class member function, output = triFilter-&gt;GetOutput(); containing the correct output vtkPolyData.<br>

<br>
The issue I suspect is related to going out of scope but, no run time errors are being thrown. The render window is just empty.<br>
<br>
Thanks<br>
Alex<br>
<br>
include &lt;vtkSmartPointer.h&gt;<br>
#include &lt;vtkActor.h&gt;<br>
#include &lt;vtkCubeSource.h&gt;<br>
#include &lt;vtkPolyData.h&gt;<br>
#include &lt;vtkCellArray.h&gt;<br>
#include &lt;vtkPolyDataMapper.h&gt;<br>
#include &lt;vtkRenderWindow.h&gt;<br>
#include &lt;vtkRenderWindowInteractor.h&gt;<br>
#include &lt;vtkRenderer.h&gt;<br>
#include &lt;vtkPointData.h&gt;<br>
#include &lt;vtkDelaunay2D.h&gt;<br>
<br>
using namespace std;<br>
<br>
class getPolyData {<br>
    public:<br>
<br>
        void make_vtkPolyData(vtkPolyData *output)<br>
        {<br>
            vtkSmartPointer&lt;vtkPoints&gt; pts = vtkSmartPointer&lt;vtkPoints&gt;::<u></u>New();<br>
            vtkSmartPointer&lt;vtkCellArray&gt; cellArray = vtkSmartPointer&lt;vtkCellArray&gt;:<u></u>:New();<br>
            vtkSmartPointer&lt;vtkDelaunay2D&gt; triFilter = vtkSmartPointer&lt;vtkDelaunay2D&gt;<u></u>::New();<br>
            vtkSmartPointer&lt;vtkPolyData&gt; pd1 = vtkSmartPointer&lt;vtkPolyData&gt;::<u></u>New();<br>
<br>
            // Generate a concave polygon that is NOT flat (in one plane)<br>
            pts-&gt;InsertNextPoint( 1.00, 2.48, 0.00 );<br>
            pts-&gt;InsertNextPoint( 1.00, 0.00, 0.00 );<br>
            pts-&gt;InsertNextPoint( 1.00, 1.24, 0.29 );<br>
            pts-&gt;InsertNextPoint( 0.00, 0.00, 0.00 );<br>
            pts-&gt;InsertNextPoint( 0.00, 2.48, 0.00 );<br>
            int p[5] = {0, 1, 2, 3, 4};<br>
            cellArray-&gt;InsertNextCell(5,p)<u></u>;<br>
<br>
            pd1-&gt;SetPoints( pts );<br>
            pd1-&gt;SetPolys( cellArray );<br>
<br>
            triFilter-&gt;SetInput( pd1 );<br>
            triFilter-&gt;Update();<br>
            output = triFilter-&gt;GetOutput();<br>
<br>
<br>
            /*writer-&gt;SetFileName(&quot;g:\\<u></u>testwrite.vtk&quot;);<br>
            writer-&gt;SetFileTypeToASCII();<br>
            writer-&gt;SetInputConnection( tmp );*/<br>
        }<br>
};<br>
<br>
int main()<br>
{<br>
<br>
    vtkSmartPointer&lt;vtkPolyData&gt; complete_model = vtkSmartPointer&lt;vtkPolyData&gt;::<u></u>New();<br>
<br>
    getPolyData getvtk;<br>
    getvtk.make_vtkPolyData( complete_model );<br>
<br>
    //  Create a renderer, render window, and interactor<br>
    vtkSmartPointer&lt;vtkRenderer&gt; renderer = vtkSmartPointer&lt;vtkRenderer&gt;::<u></u>New();<br>
    vtkSmartPointer&lt;<u></u>vtkRenderWindow&gt; renderWindow = vtkSmartPointer&lt;<u></u>vtkRenderWindow&gt;::New();<br>
    vtkSmartPointer&lt;<u></u>vtkRenderWindowInteractor&gt; renderWindowInteractor = vtkSmartPointer&lt;<u></u>vtkRenderWindowInteractor&gt;::<u></u>New();<br>
<br>
    renderWindow-&gt;AddRenderer(<u></u>renderer);<br>
    renderWindowInteractor-&gt;<u></u>SetRenderWindow(renderWindow);<br>
<br>
    // map filtered data<br>
    vtkSmartPointer&lt;<u></u>vtkPolyDataMapper&gt; mapper = vtkSmartPointer&lt;<u></u>vtkPolyDataMapper&gt;::New();<br>
    vtkSmartPointer&lt;vtkActor&gt; actor = vtkSmartPointer&lt;vtkActor&gt;::<u></u>New();<br>
<br>
    mapper-&gt;SetInput( complete_model );  // change to pd1 to see bad polygon<br>
    actor-&gt;SetMapper( mapper );<br>
    renderer-&gt;AddActor( actor );<br>
<br>
    renderer-&gt;SetBackground(.5, .1, .1);<br>
<br>
    //// Render and interact<br>
    renderWindow-&gt;Render();<br>
    renderWindowInteractor-&gt;Start(<u></u>);<br>
<br>
    return 0;<br>
}<br>
______________________________<u></u>_________________<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/<u></u>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_<u></u>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/<u></u>listinfo/vtkusers</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr">Jothybasu Selvaraj<br>PhD Student<br>University of Liverpool<br>UK<br></div><br>
</div>