<div class="gmail_quote">I have created a class derived from vtkImageAlgorithm called<br>
vtkVoxelizePolyData.<br>
<br>
To set the output of the new filter, in RequestData (as usual) I did:<br>
<br>
vtkInformation *outInfo = outputVector-&gt;GetInformationObject(0);<br>
  vtkImageData *output = vtkImageData::SafeDownCast(<br>
                  outInfo-&gt;Get(vtkDataObject::DATA_OBJECT()));<br>
<br>
vtkSmartPointer&lt;vtkImageData&gt; grid = vtkSmartPointer&lt;vtkImageData&gt;::New();<br>
<br>
.... fill grid....<br>
<br>
output-&gt;ShallowCopy(grid);<br>
<br>
I know &#39;grid&#39; is valid at this point because just before the end of<br>
RequestData I did:<br>
<br>
  vtkSmartPointer&lt;vtkXMLImageDataWriter&gt; writer =<br>
      vtkSmartPointer&lt;vtkXMLImageDataWriter&gt;::New();<br>
  writer-&gt;SetFileName(&quot;insideFilter.vti&quot;);<br>
  writer-&gt;SetInput(grid);<br>
  writer-&gt;Write();<br>
<br>
  output-&gt;ShallowCopy(grid);<br>
<br>
and it looks correct in paraview.<br>
<br>
However, if I run the filter and write the file of the filter output,<br>
it is empty!<br>
<br>
  vtkSmartPointer&lt;vtkVoxelizePolyData&gt; voxelize =<br>
vtkSmartPointer&lt;vtkVoxelizePolyData&gt;::New();<br>
  voxelize-&gt;SetInput(reader-&gt;GetOutput());<br>
  voxelize-&gt;Update();<br>
<br>
  vtkImageData* voxelized = voxelize-&gt;GetOutput();<br>
<br>
  vtkSmartPointer&lt;vtkXMLImageDataWriter&gt; writer =<br>
vtkSmartPointer&lt;vtkXMLImageDataWriter&gt;::New();<br>
  writer-&gt;SetFileName(outputFilename.c_str());<br>
  writer-&gt;SetInput(voxelized);<br>
  writer-&gt;Write();<br>
<br>
Any thoughts on what could be going wrong here??<br>
<br>
Thanks,<br>
<font color="#888888"></font></div><div class="gmail_quote"><br></div><div class="gmail_quote">David</div>