<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; "><div>Hello all,</div><div><br></div><div>I am still struggling with this problem, so I figured I would re-post the question to the general list in hopes of getting a wider audience!</div><div><br></div><div>Thanks in advance for any help you may provide!</div><div><br></div><div>For Completeness, I have verified that I am setting the number of output ports in my constructor.</div><div><br></div><div>Thanks again for any help!</div><div><br></div><div>-Joshua Murphy</div><div><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">Laboratory for Atmospheric and Space Physics<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">University of Colorado, Boulder</pre></div><div><br></div><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p>&nbsp;</o:p></p><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; color: black; font-family: Calibri, sans-serif; ">Hello,<o:p></o:p></span></p></div><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; color: black; font-family: Calibri, sans-serif; "><o:p>&nbsp;</o:p></span></p></div><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; color: black; font-family: Calibri, sans-serif; ">I am attempting to write a reader that handles both structured grids and meta-data. &nbsp;It was recommended to me that I use multiple ports, and populate a vtkTable
 with the meta-data.<o:p></o:p></span></p></div><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; color: black; font-family: Calibri, sans-serif; "><o:p>&nbsp;</o:p></span></p></div><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; color: black; font-family: Calibri, sans-serif; ">I think I am having some conceptual problems with how this is supposed to work.<o:p></o:p></span></p></div><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; color: black; font-family: Calibri, sans-serif; "><o:p>&nbsp;</o:p></span></p></div><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; color: black; font-family: Calibri, sans-serif; ">I have written a dummy reader in an attempt to get the meta-data working prior to porting it to my real reader, but I am having trouble…<o:p></o:p></span></p></div><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; color: black; font-family: Calibri, sans-serif; "><o:p>&nbsp;</o:p></span></p></div><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; color: black; font-family: Calibri, sans-serif; ">My understanding is that I need to&nbsp;<o:p></o:p></span></p></div><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; font-family: Calibri, sans-serif; "><o:p>&nbsp;</o:p></span></p></div><ol start="1" type="1" style="margin-bottom: 0cm; "><li class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; font-family: Calibri, sans-serif; ">specify the number of output ports with this-&gt;SetNumberOfOutputPorts(2)<o:p></o:p></span></li><li class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="font-size: 10.5pt; font-family: Calibri, sans-serif; ">Populate the output port information<o:p></o:p></span></li></ol><blockquote style="margin-left: 30pt; margin-right: 0cm; "><div><p class="MsoNormal" style="white-space: pre-wrap; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span class="apple-style-span"><span style="font-size: 10.5pt; font-family: 'Courier New'; ">int vtkGenericReader::<i>FillOutputPortInformation</i>(int port, vtkInformation* info)</span></span><span style="font-size: 10.5pt; font-family: Calibri, sans-serif; "><o:p></o:p></span></p></div></blockquote><blockquote style="margin-left: 30pt; margin-right: 0cm; "><div><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">{<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp; switch(port)<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp; {<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp; case 0:<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; info-&gt;Set(vtkDataObject::DATA_TYPE_NAME(), &quot;vtkStructuredGrid&quot;);<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp; case 1:<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; info-&gt;Set(vtkDataObject::DATA_TYPE_NAME(), &quot;vtkTable&quot;);<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp; }<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp; return 1;<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">}<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">3. Get the informationObject from the outputVector<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><span class="apple-tab-span">&nbsp;&nbsp; </span>outputvector-&gt;GetInformationObject(1);<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">4. Get the table data<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><span class="apple-tab-span">&nbsp;&nbsp; </span>&nbsp; this-&gt;MetaData = dynamic_cast&lt;vtkTable*&gt;<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (this-&gt;MetaDataOutInfo-&gt;Get(vtkDataObject::DATA_OBJECT()));<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">5. Add string to the table<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><span style="color: silver; ">&nbsp; </span><span style="color: rgb(85, 255, 85); ">vtkStringArray</span><span style="color: silver; "> </span><span style="color: rgb(170, 170, 170); ">*</span>MetaString<span style="color: silver; "> </span><span style="color: rgb(170, 170, 170); ">=</span><span style="color: silver; "> </span><span style="color: rgb(85, 255, 85); ">vtkStringArray</span><span style="color: rgb(170, 170, 170); ">::</span>New<span style="color: rgb(170, 170, 170); ">();</span><o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><span style="color: silver; ">&nbsp; </span>MetaString<span style="color: rgb(170, 170, 170); ">-&gt;</span><i>SetName</i><span style="color: rgb(170, 170, 170); ">(</span><span style="color: rgb(255, 85, 255); ">&quot;Meta Data&quot;</span><span style="color: rgb(170, 170, 170); ">);</span><o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><span style="color: silver; ">&nbsp; </span>MetaString<span style="color: rgb(170, 170, 170); ">-&gt;</span><i>SetNumberOfComponents</i><span style="color: rgb(170, 170, 170); ">(</span><span style="color: rgb(255, 85, 255); ">1</span><span style="color: rgb(170, 170, 170); ">);</span><o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><span style="color: silver; ">&nbsp; </span>MetaString<span style="color: rgb(170, 170, 170); ">-&gt;</span>InsertNextValue<span style="color: rgb(170, 170, 170); ">(</span><span style="color: rgb(255, 85, 255); ">&quot;This is a Test&quot;</span><span style="color: rgb(170, 170, 170); ">);</span><o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><span style="color: silver; ">&nbsp; </span>MetaString<span style="color: rgb(170, 170, 170); ">-&gt;</span>InsertNextValue<span style="color: rgb(170, 170, 170); ">(</span><span style="color: rgb(255, 85, 255); ">&quot;Test 2&quot;</span><span style="color: rgb(170, 170, 170); ">);</span><o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><span style="color: silver; ">&nbsp; </span>MetaString<span style="color: rgb(170, 170, 170); ">-&gt;</span>InsertNextValue<span style="color: rgb(170, 170, 170); ">(</span><span style="color: rgb(255, 85, 255); ">&quot;Test 3&quot;</span><span style="color: rgb(170, 170, 170); ">);</span><o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><span style="color: silver; ">&nbsp; </span><span style="color: rgb(255, 255, 85); ">this</span><span style="color: rgb(170, 170, 170); ">-&gt;</span>MetaData<span style="color: rgb(170, 170, 170); ">-&gt;</span>AddColumn<span style="color: rgb(170, 170, 170); ">(</span>MetaString<span style="color: rgb(170, 170, 170); ">);</span><o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><span class="apple-tab-span">&nbsp;&nbsp; </span><o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">It is my understanding that this information should then be available in the ParaView GUI.<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">The problems I am having are this:<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><div><div><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">1.&nbsp; When attempting to get both port information objects on the first call to RequestInformation(), port 1 returns a NULL object.&nbsp; On the SECOND call to GetInformation(), both ports are available.<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre></div><div><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">2.&nbsp; All calls to RequestData() only provide access to port 0 in the Output information Vector.&nbsp; I can access port 1 if I utilize this-&gt;getExecutive()-&gt;getOutputInformation(1)<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">3.&nbsp; When using #2 to get the information, I populate, but I am unsure where/how things are supposed to be accessible in the GUI.<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">What I am trying to do is be able to access the meta-data values from within ParaView so that I can utilize data values, units, model run data, etc.<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">If anyone can help me understand what is supposed to be going on, or if I am completely doing something wrong, I would be grateful!&nbsp; Am I missing some steps? Do I need to have XML code to access the vtkTable?<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">Thanks,<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">Joshua Murphy<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">Laboratory for Atmospheric and Space Physics<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; ">University of Colorado, Boulder<o:p></o:p></pre><pre style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 10pt; font-family: 'Courier New'; "><o:p>&nbsp;</o:p></pre></div></div></div></blockquote></div></body></html>