[Paraview] New panel, widget update

Felipe Bordeu Weldt felipe.bordeu at ec-nantes.fr
Mon Aug 19 11:23:10 EDT 2013


Hello Utkarsh, 

I finally used your approach ("… You can add a custom widget for some property that still listens to the dataUpdated() event from the pqPipelineSource corresponding to the reader's proxy …"), here are 2 videos of the result.

Sorry that mouse was not captured by vlc (my screen capture soft on linux).

In this video I move the sliders, and upon apply(), the reader update the final correct values to the widget.
http://youtu.be/GFz--7kJt3Q

In this video I use a downstream filter (the optimization1) to search for the best value of the second slider (the minimum of the val field) for a fixed position of the first slider.
The slider is updated using the value asked by the optimizer. 
http://youtu.be/s4NNMCkDGH0


Maybe this is not the best approach, but the result looks good.

Enjoy the videos,

Felipe

Le 1 août 2013 à 20:21, Utkarsh Ayachit <utkarsh.ayachit at kitware.com> a écrit :

> The short answer is this is not possible. The properties panel is not
> really meant to show results produced by the filter/reader. You could
> add a "information panel" i.e. a new dock widget that shows all such
> relevant information ad then you can use custom information properties
> on the proxy for the reader to query the current value for f2, for
> example.
> 
> We could extend the pqProxyWidget class to show widgets for
> information-only properties, but that too won't solve your problem
> since ParaView will not know when the information has changed.
> Currently, it will do that when the property on that proxy was changed
> and the user hit apply -- which is a good time to assume some of the
> information-properties may have changed.
> 
> Sorry, I don't have a direct answer for you, but I hope that gives you
> some ideas.
> 
> Utkarsh
> 
> On Thu, Aug 1, 2013 at 8:43 AM, felipe.bordeu at ec-nantes.fr
> <felipe.bordeu at ec-nantes.fr> wrote:
>> Also, had I said before, my reader y capable of generate data based in the value of the slider. This value is send using a keyinformation downstream in the pipeline.  Then I have an optimizer fiter capable of setting automatically this value(sending a request upstream). I whould like the properties panel to be updated with the final valiue.
>> 
>> Felipe
>> -----Message d'origine-----
>> De:Felipe Bordeu
>> Envoyé: 01/08/2013, 14:33
>> A: Felipe Bordeu Weldt
>> Sujet: RE: [Paraview] New panel, widget update
>> 
>> -----Message d'origine-----
>> De:Felipe Bordeu Weldt
>> Envoyé: 30/07/2013, 21:23
>> A: paraview at paraview.org
>> Sujet: Re: [Paraview] New panel, widget update
>> 
>> 
>> Hi,
>> 
>> the short story:
>> 
>> In my custom reader select some values using some sliders. Then push
>> the Apply, at that moment, I (I mean the reader) read the file make
>> the calculations for the construction of a field and set the sliders
>> to the real final values calculated by the reader (so the user is
>> aware of with values are used).
>> 
>> the long story:
>> 
>> Ok, my solution can be written like this T(x,y,z,r,s,t) =
>> f1(x,y,z)*f2(r,s,t)   (this is a separation of variables). where f1 is
>> a nodalfield in a mesh on the x,y,z space, and f2 is a nodalfield in a
>> different mesh in the (r,s,t) space.
>> So my file holds 2 (or more) meshes with associated fields.
>> My field T (that lives in a 6 dimension space) cant be visualized in
>> ParaView (or any visualization tool). So my idea is to fix (r,s,t) so
>> the field T  becomes T(x,y,z,r0,s0,t0) = T(x,y,z) (this is a 3D field
>> and can be visualized in ParaView).
>> 
>> In my custom reader I use 3 slider to select the values of r,s,t, and
>> then internally I search for the closest point in the mesh (to get the
>> value of f2). And with the older panel I used to update the slider so
>> the user can know the point that is used for the calculation.
>> 
>> In this video you can see the reader in action http://www.youtube.com/watch?v=o6Vzww_cmhA#at
>> =26 (details in  http://rom.research-centrale-nantes.com/overview/)
>> but in this case I use the interpolation in the r,s,t space  so no
>> update is done.
>> 
>> 
>> It this clear enough?
>> 
>> Felipe
>> 
>> 
>> 
>> 
>> Le 30 juil. 13 à 16:01, Utkarsh Ayachit a écrit :
>> 
>>> Felipe,
>>> 
>>> Can you elaborate on why you need to do this?
>>> 
>>> Thanks
>>> Utkarsh
>>> 
>>> On Tue, Jul 30, 2013 at 2:35 AM, Felipe Bordeu Weldt
>>> <felipe.bordeu at ec-nantes.fr> wrote:
>>>> Hello,
>>>> 
>>>> In the old panel system, the pqProxyPanel  has a
>>>> updateInformationAndDomains() and the dataUpdated() to update the
>>>> panel AFTER the algorithm is executed.
>>>> How can I achieve this in the new panel architecture ??
>>>> 
>>>> My new panel is a subclass of pqPropertyWidget.
>>>> 
>>>> Felipe
>>>> _______________________________________________
>>>> 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
>> 
>> _______________________________________________
>> 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
>> 
>> 
>> _______________________________________________
>> 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
>> 



More information about the ParaView mailing list