<div class="gmail_quote">On Mon, Jun 18, 2012 at 5:29 PM, matheus_viana <span dir="ltr">&lt;<a href="mailto:vianamp@gmail.com" target="_blank">vianamp@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 Guys,<br>
<br>
I&#39;ve a code that looks like that:<br>
<br>
for (int i=100;i--;) {<br>
        vtkStructuredPointsReader *Reader = vtkStructuredPointsReader::New();<br>
        structured_dataset -&gt; SetFileName(&quot;ImageData001.vtk&quot;);<br>
        structured_dataset -&gt; Update();<br>
<br>
        vtkImageData *ImageData = vtkImageData::New();<br>
        ImageData = structured_dataset -&gt; GetOutput();<br>
        ImageData -&gt; Update();<br>
<br>
        /**<br>
                working on the ImageData<br>
        **/<br>
<br>
        ImageData -&gt; Delete();<br>
}<br>
<br>
This code used to work well in VTK4, but in VTK5 it crashes at line<br>
ImageData -&gt; Delete(); Commenting this line the code runs well, but the<br>
memory is not released at each interaction.<br>
<br>
Do you guys know how to solve that? Is one possibility use the class<br>
vtkSmartPointer? If so, how to do that?<br>
<br>
Thanks in advance,<br>
Matheus Viana<br></blockquote><div><br></div><div>The memory for the ImageData is allocated inside of the reader, so you should replace  </div><div><br></div><div>       vtkImageData *ImageData = vtkImageData::New();<br>
       ImageData = structured_dataset -&gt; GetOutput();
</div><div><br></div><div>with simply:</div><div><br></div><div>       vtkImageData *ImageData = structured_dataset -&gt; GetOutput();
</div><div><br></div><div>then you would not delete the imageData object, but rather the reader object at the end of the loop. Alternatively (as you mentioned, you could use</div><div><br></div><div>       vtkSmartPointer&lt;vtkStructuredPointsReader&gt; Reader = vtkSmartPointer&lt;vtkStructuredPointsReader&gt;::New();</div>
<div><br></div><div>instead of</div><div><br></div><div>       vtkStructuredPointsReader *Reader = vtkStructuredPointsReader::New();
</div><div><br></div><div>and you wouldn&#39;t have to delete anything.</div><div><br></div><div>David</div></div>