[Paraview] Object Panel <-> Model Communication

Michael Jackson mike.jackson at bluequartz.net
Sat Jan 3 20:27:24 EST 2009


Try taking a look at this post:

http://www.paraview.org/pipermail/paraview/2008-November/010217.html

it might help explain further what you will need to do.

_________________________________________________________
Mike Jackson                  mike.jackson at bluequartz.net
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio



On Jan 3, 2009, at 5:29 PM, Nehme Bilal wrote:

>
> Hi,
>
> I am trying to use "DoubleArrayInformationHelper" to get a  
> vtkDoubleArray from server side and show it in my filter GUI.
> XML code:
>
>      <DoubleVectorProperty
>         name="volumesArray"
>         command="GetVolumesArray"
>         information_only="1">
>        <DoubleArrayInformationHelper/>
>      </DoubleVectorProperty>
>
> C++:
> 	vtkDoubleArray* GetVolumesArray()
> 	{
> 		return this->volumesArray;
> 	}
> The current code don't show anything in the GUI.
> I would like to see the content of volumesArray in a Table, List or  
> a Tree widget.
>
> How can I do that ?
>
> Nehme
>
>
>
>> From: Utkarsh Ayachit <utkarsh.ayachit at kitware.com>
>> Subject: Re: [Paraview] Object Panel <-> Model Communication
>> To: rafaelmarch3 at yahoo.com
>> Cc: paraview at paraview.org
>> Date: Tuesday, December 16, 2008, 2:17 PM
>>
>> To get back "values" from the server, you can use either
>> "information
>> properties" or "information objects".
>>
>> Information properties are properites with information_only="1" set
>> in
>> the XML (eg. in Servers/ServerManager/Resources/rendering.xml the
>> "Camera" proxy has "CameraPositionInfo" as an information
>> property).
>> Such properties need an "InformationHelper" which knows how to obtain
>> the values from the server. For simple Get*() methods, you can use  
>> the
>> <SimpleDoubleInformationHelper/> or <SimpleIntInformationHelper />
>> etc. based on the type of the property. Complex information helpers
>> can be written as well. Look at
>> TimeStepsInformationHelper
>> (vtkSMTimeStepsInformationHelper.h|cxx) as an example.
>>
>> Information objects are used to get data from server which cannot be
>> simply put in a property for example information about the data  
>> object
>> produced by a filter (vtkPVDataInformation). These are
>> vtkPVInformation subclasses. You can create you own vtkPVInformation
>> subclass that knows how to collect information and then
>> serialize/deserialize it for transfer to the client from the server
>> (if needed). To gather such information, one uses
>> vtkProcessModule::GatherInformation(vtkIdType connectionID,
>> vtkTypeUInt32 serverFlags, vtkPVInformation* info, vtkClientServerID
>> id) where "id" is vtkSMProxy::GetID() returned for the proxy from
>> which you want to collect the information.
>>
>> In your case, information property may be an easier solution -- if I
>> understand your problem correctly.
>>
>> There is a pqServerManagerModel instance
>> accessible as
>> pqApplicationCore::instance()->getServerManagerModel() that can be
>> used to access sources/filters their representations, views etc. Take
>> a look at Qt/Core/pqServerManagerModel.h for the API. That should  
>> help
>> you access the visualization pipeline.
>>
>> "How to get, for instance, the ids of the nodes which are displayed
>> after the application of a filter to the model ?"
>> Not sure I understand what you mean by that. Can you please  
>> elaborate?
>>
>> Utkarsh
>>
>> On Tue, Dec 16, 2008 at 6:38 AM, Rafael March  
>> <rafaelmarch3 at yahoo.com>
>> wrote:
>>> Hey all,
>>>
>>> I'm programming a filter with a custom Object Panel,
>>> and I'm feeling a little bit lost about the ParaView architecture  
>>> and
>>> code design.
>>>
>>> My great problem is the comunication between the
>>> Object Panel and the Model. I know I can't have a pointer to my
>>> vtkUnstructuredGrid displayed, 'cause they are not
>> necessarily at the
>>> same machine or process. I also know that I'm able to send  
>>> information
>>> to the model through properties, since I can get the vtkSMProxy in  
>>> my
>>> panel. But what about the way back ? Is there a way to send  
>>> information
>>> from the display view to the panel ? How can I display in a  
>>> QTable, for
>>> instance, the nodes of my model which have some property equals to  
>>> 1 ?
>>>
>>> Another problem is the Visualization Pipeline: is there a way to
>> "walk" on
>>> it ?
>>> I mean, if I have a filter name, am I able to get the the filter no
>>> matter where it is in the Pipeline ?
>>>
>>> Sorry for the mess with the questions. I hope I made it clear and  
>>> someone
>>> can help me ! :)
>>>
>>> Regards,
>>> Rafael March.
>>>
>>> _______________________________________________
>>> ParaView mailing list
>>> ParaView at paraview.org
>>>
>> http://www.paraview.org/mailman/listinfo/paraview
>>>
>>>
>>
>>
>> _______________________________________________
>> ParaView mailing list
>> ParaView at paraview.org
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>>
>
>
> _______________________________________________
> ParaView mailing list
> ParaView at paraview.org
> http://www.paraview.org/mailman/listinfo/paraview



More information about the ParaView mailing list