[Paraview] Object Panel <-> Model Communication

Nehme Bilal nbilal at mirarco.org
Sat Jan 3 17:29:46 EST 2009


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
>
>




More information about the ParaView mailing list