The issue was that vtkArrayIteratorTemplateMacro did not handle the case for vtkVariantArray. vtkDelimitedTextWriter is using this macro, so did not print out vtkVariantArray data correctly. I added a case to the macro and committed it, so this problem should be fixed now.<div>
<br></div><div>Jeff<br><br><div class="gmail_quote">On Tue, Jun 22, 2010 at 2:48 PM, David Doria <span dir="ltr">&lt;<a href="mailto:daviddoria%2Bvtk@gmail.com">daviddoria+vtk@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;">
<div><div></div><div class="h5">On Tue, Jun 22, 2010 at 2:05 PM, Dean Inglis &lt;<a href="mailto:dean.inglis@camris.ca">dean.inglis@camris.ca</a>&gt; wrote:<br>
&gt; I&#39;m trying to write out a vtkTable with vtkDelimetedTextWriter<br>
&gt; into a comma separated value file (csv) but I can only recover<br>
&gt; the first row of the table.  I modified the Wiki/Example Table.cxx<br>
&gt; below as a test.   Can anyone else verify this behaviour?<br>
&gt; (CMake 2.6 patch 4, Win Vista, VS 2005 Express, static build).<br>
&gt;<br>
&gt; Dean<br>
&gt;<br>
&gt;<br>
&gt; #include &lt;vtkTable.h&gt;<br>
&gt; #include &lt;vtkDelimitedTextWriter.h&gt;<br>
&gt; #include &lt;vtkVariant.h&gt;<br>
&gt; #include &lt;vtkVariantArray.h&gt;<br>
&gt; #include &lt;vtkSmartPointer.h&gt;<br>
&gt;<br>
&gt; int main(int, char *[])<br>
&gt; {<br>
&gt;  //construct an empty table<br>
&gt;  vtkSmartPointer&lt;vtkTable&gt; table =<br>
&gt;   vtkSmartPointer&lt;vtkTable&gt;::New();<br>
&gt;<br>
&gt;  for ( unsigned int i = 0; i &lt; 3; i++ )<br>
&gt;   {<br>
&gt;   vtkSmartPointer&lt;vtkVariantArray&gt; col =<br>
&gt;     vtkSmartPointer&lt;vtkVariantArray&gt;::New();<br>
&gt;   col-&gt;SetName(vtkVariant(i).ToString().c_str());<br>
&gt;   col-&gt;InsertNextValue ( vtkVariant ( 0.0 ) );<br>
&gt;   col-&gt;InsertNextValue ( vtkVariant ( 0.0 ) );<br>
&gt;   col-&gt;InsertNextValue ( vtkVariant ( 0.0 ) );<br>
&gt;   table-&gt;AddColumn ( col );<br>
&gt;   }<br>
&gt;<br>
&gt;  //fill the table with values<br>
&gt;  unsigned int counter = 0;<br>
&gt;  for(vtkIdType r = 0; r &lt; table-&gt;GetNumberOfRows(); r++ )<br>
&gt;   {<br>
&gt;   for(vtkIdType c = 0; c &lt; table-&gt;GetNumberOfColumns(); c++ )<br>
&gt;     {<br>
&gt;     table-&gt;SetValue ( r,c, vtkVariant ( counter ) );<br>
&gt;     counter++;<br>
&gt;     }<br>
&gt;   }<br>
&gt;<br>
&gt;  //print information about the table<br>
&gt;  std::cout &lt;&lt; &quot;NumRows: &quot; &lt;&lt; table-&gt;GetNumberOfRows() &lt;&lt; std::endl;<br>
&gt;  std::cout &lt;&lt; &quot;NumCols: &quot; &lt;&lt; table-&gt;GetNumberOfColumns() &lt;&lt; std::endl;<br>
&gt;<br>
&gt;  //display the table<br>
&gt;  table-&gt;Dump ( 3 );<br>
&gt;<br>
&gt;  //access elements of the table<br>
&gt;  for(vtkIdType r = 0; r &lt; table-&gt;GetNumberOfRows(); r++ )<br>
&gt;  {<br>
&gt;   for(vtkIdType c = 0; c &lt; table-&gt;GetNumberOfColumns(); c++ )<br>
&gt;   {<br>
&gt;     vtkVariant v = table-&gt;GetValue( r,c);<br>
&gt;     std::cout &lt;&lt; &quot;(r,c) = (&quot; &lt;&lt; r &lt;&lt; &quot;,&quot; &lt;&lt; c &lt;&lt; &quot;) = &quot; &lt;&lt; v &lt;&lt; std::endl;<br>
&gt;   }<br>
&gt;  }<br>
&gt;<br>
&gt;  vtkSmartPointer&lt;vtkDelimitedTextWriter&gt; delimitedWriter =<br>
&gt; vtkSmartPointer&lt;vtkDelimitedTextWriter&gt;::New();<br>
&gt;  delimitedWriter-&gt;DebugOn();<br>
&gt;  delimitedWriter-&gt;SetFileName(&quot;test.csv&quot;);<br>
&gt;  delimitedWriter-&gt;SetInput(table);<br>
&gt;  delimitedWriter-&gt;Write();<br>
&gt;<br>
&gt;  return EXIT_SUCCESS;<br>
&gt; }<br>
<br>
</div></div>I can confirm this, the csv file that is created contains only<br>
&quot;0&quot;,&quot;1&quot;,&quot;2&quot;<br>
<br>
The table that is output in the code is 3x3, so we seem to only be<br>
getting the first row.<br>
<font color="#888888"><br>
David<br>
</font><div><div></div><div class="h5">_______________________________________________<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>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Jeff Baumes, Ph.D.<br>Technical Lead, Kitware Inc.<br>(518) 881-4932<br>
</div>