[Paraview] Filter Plugin w/ multiple connections

Robert Maynard RobertJMaynard at gmail.com
Wed May 6 17:28:40 EDT 2009


I am pretty sure that is multiple connections on a single port.

On Wed, May 6, 2009 at 3:59 PM, David Fuentes <fuentesdt at gmail.com> wrote:

> Thanks alot Ken,
>
>
> When you highlight multiple datasets for input into a
> filter, is that multiple ports or multiple connections on one port ?
>
>
>
>
>
>
>
>
> On Wed, 6 May 2009, Moreland, Kenneth wrote:
>
>  There are two parts to making this work.  The first part is supporting
>> multiple ports and/or connections in the filter itself.  To set the number
>> of input ports, you call this->SetNumberOfInputPorts() in the filter's
>> constructor.  To set the number of connections allowed on each port, you
>> override the FillInputPortInformation method and add the appropriate flags
>> to the information object.  The specifics are documented at the beginning of
>> Chapter 13 (How to Write an Algorithm for VTK) in the latest VTK User's
>> Guide book.
>>
>> The second part is to announce the input ports and/or connections in the
>> server manager XML.  To set multiple ports, provide multiple InputProperty
>> elements, one for each input.  These are easiest to set up if you provide
>> convenience methods for each port in your filter that call
>> SetInputConnection with the appropriate port number.  The arguments for the
>> InputProperty tag provide information about ports that support multiple
>> connections and optional ports.  The ParaView Guide book provides some
>> documentation on the XML structure and the
>> ParaView3/Servers/ServerManager/Resources/filters.xml source file provides
>> plenty of examples.  The ArbitrarySourceStreamTracer, labeled "Stream Tracer
>> (Custom Source)", provides good examples of both multiple ports and ports
>> that support multiple connections.
>>
>> -Ken
>>
>>
>> On 5/5/09 5:08 PM, "David Fuentes" <fuentesdt at gmail.com> wrote:
>>
>> Hello,
>>
>>
>> What is the proper way to write a filter plugin for paraview w/ multiple
>> connections and access the data from each connection?
>>
>>
>> I have been trying to use the vtkProgrammableFilter,
>> vtkPythonProgrammableFilter, vtkMultiBlockDataGroupFilter, and
>> vtkTemporalStaticsFilter as examples.
>>
>>
>> int vtkMyFilterPlugin::RequestData(
>>  vtkInformation *vtkNotUsed(request),
>>  vtkInformationVector **inputVector,
>>  vtkInformationVector *outputVector)
>> {
>>
>>  int numInputs = inputVector[0]->GetNumberOfInformationObjects();
>>  for (int idx = 0; idx < numInputs; ++idx)
>>    {
>>     vtkInformation *inInfo = inputVector[0]->GetInformationObject(idx);
>>
>>     vtkDataObject *input = vtkDataObject::GetData(inInfo);
>>
>>     vtkDataSet *inputDataSet  = vtkDataSet::SafeDownCast( input) ;
>>
>>     .
>>     .
>>     .
>> }
>>
>> where numInputs = the number of connections to my Filter.
>> vtkDataSet::SafeDownCast(input) returns a NULL pointer when I have
>> multiple connections to the filter but works for ONE connection.
>> How do I get the pointer(s) that will let me access the vtkDataArray
>> for each connection to my filter? ie
>>
>>     vtkPointData *pd=inputDataSet->GetPointData();
>>     int numArrays = pd->GetNumberOfArrays();
>>     for (int i = 0; i < numArrays; i++)
>>       {
>>         vtkDataArray *array = pd->GetArray(i);
>>       }
>>
>>
>> thanks,
>> df
>> _______________________________________________
>> 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
>>
>>
>>
>>
>>  ****      Kenneth Moreland
>>   ***      Sandia National Laboratories
>> ***********
>> *** *** ***  email: kmorel at sandia.gov
>> **  ***  **  phone: (505) 844-8919
>>   ***      web:   http://www.cs.unm.edu/~kmorel<http://www.cs.unm.edu/%7Ekmorel>
>>
>>
>>  _______________________________________________
> 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 --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20090506/a4b1e7d1/attachment-0001.htm>


More information about the ParaView mailing list