[Paraview] Question on Multiple Ports in Custom Reader (repost from developer list)

Joshua Murphy Joshua.Murphy at lasp.colorado.edu
Fri Jul 6 12:53:08 EDT 2012


Hi Utkarsh,

Here is the generic reader I am experimenting withŠ I haven't ported
anything into my actual reader yet, as I am just trying to get the second
port to work before messing with my actual reader.

Thanks for helping!

-Josh


On 7/6/12 10:46 AM, "Utkarsh Ayachit" <utkarsh.ayachit at kitware.com> wrote:

>Can you post you reader's code? It might make things easier.
>
>Utkarsh
>
>On Fri, Jul 6, 2012 at 12:15 PM, Joshua Murphy
><Joshua.Murphy at lasp.colorado.edu> wrote:
>> Hello all,
>>
>> 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!
>>
>> Thanks in advance for any help you may provide!
>>
>> For Completeness, I have verified that I am setting the number of output
>> ports in my constructor.
>>
>> Thanks again for any help!
>>
>> -Joshua Murphy
>>
>> Laboratory for Atmospheric and Space Physics
>>
>> University of Colorado, Boulder
>>
>>
>>
>>
>> Hello,
>>
>>
>>
>> I am attempting to write a reader that handles both structured grids and
>> meta-data.  It was recommended to me that I use multiple ports, and
>>populate
>> a vtkTable with the meta-data.
>>
>>
>>
>> I think I am having some conceptual problems with how this is supposed
>>to
>> work.
>>
>>
>>
>> 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Š
>>
>>
>>
>> My understanding is that I need to
>>
>>
>>
>> specify the number of output ports with this->SetNumberOfOutputPorts(2)
>> Populate the output port information
>>
>> int vtkGenericReader::FillOutputPortInformation(int port,
>>vtkInformation*
>> info)
>>
>> {
>>
>>   switch(port)
>>
>>     {
>>
>>     case 0:
>>
>>       info->Set(vtkDataObject::DATA_TYPE_NAME(), "vtkStructuredGrid");
>>
>>       break;
>>
>>     case 1:
>>
>>       info->Set(vtkDataObject::DATA_TYPE_NAME(), "vtkTable");
>>
>>       break;
>>
>>     }
>>
>>   return 1;
>>
>> }
>>
>>
>>
>> 3. Get the informationObject from the outputVector
>>
>>    outputvector->GetInformationObject(1);
>>
>>
>>
>> 4. Get the table data
>>
>>      this->MetaData = dynamic_cast<vtkTable*>
>>
>>       (this->MetaDataOutInfo->Get(vtkDataObject::DATA_OBJECT()));
>>
>>
>>
>> 5. Add string to the table
>>
>>
>>
>>   vtkStringArray *MetaString = vtkStringArray::New();
>>
>>   MetaString->SetName("Meta Data");
>>
>>   MetaString->SetNumberOfComponents(1);
>>
>>   MetaString->InsertNextValue("This is a Test");
>>
>>   MetaString->InsertNextValue("Test 2");
>>
>>   MetaString->InsertNextValue("Test 3");
>>
>>   this->MetaData->AddColumn(MetaString);
>>
>>
>>
>>
>>
>> It is my understanding that this information should then be available
>>in the
>> ParaView GUI.
>>
>>
>>
>>
>>
>> The problems I am having are this:
>>
>>
>>
>> 1.  When attempting to get both port information objects on the first
>>call
>> to RequestInformation(), port 1 returns a NULL object.  On the SECOND
>>call
>> to GetInformation(), both ports are available.
>>
>>
>>
>> 2.  All calls to RequestData() only provide access to port 0 in the
>>Output
>> information Vector.  I can access port 1 if I utilize
>> this->getExecutive()->getOutputInformation(1)
>>
>>
>>
>> 3.  When using #2 to get the information, I populate, but I am unsure
>> where/how things are supposed to be accessible in the GUI.
>>
>>
>>
>>
>>
>> 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.
>>
>>
>>
>> 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!  Am I missing
>>some
>> steps? Do I need to have XML code to access the vtkTable?
>>
>>
>>
>>
>>
>> Thanks,
>>
>>
>>
>> Joshua Murphy
>>
>> Laboratory for Atmospheric and Space Physics
>>
>> University of Colorado, Boulder
>>
>>
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: generic_reader.zip
Type: application/zip
Size: 20304 bytes
Desc: generic_reader.zip
URL: <http://www.paraview.org/pipermail/paraview/attachments/20120706/206b0f97/attachment-0001.zip>


More information about the ParaView mailing list