[Paraview] New panel, widget update

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Wed Aug 7 11:20:57 EDT 2013


Takuya,

You can still continue to do what you're doing. 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.  But I
don't think logic, as this this for adding text to views should be in
the panel. It should be a separate component, e.g. the behaviors
(http://www.paraview.org/ParaView3/Doc/Nightly/www/cxx-doc/group__Behaviors.html).
That makes it possible to handle the cases where multiple views are
created/added more gracefully than one could with the panel.

If you can point me to the code, I wouldn't mind taking a look. Also,
should we be moving this reader/panel code into ParaView itself?

Utkarsh

On Sat, Aug 3, 2013 at 10:23 PM, Takuya OSHIMA
<oshima at eng.niigata-u.ac.jp> wrote:
> Hi Felipe, Utkarsh,
>
> I'm interested in this too because the custom panel of my reader (the
> SourceForge version of the OpenFOAM reader) does a similar thing. In
> my scenario I wanted to add some text actors on the 3D views outside of
> the pipeline. The world coordinates of the actors are calculated by
> the reader during update and the panel pulls the results after the
> update. Then the panel instructs back the server to generate text
> actors outside of the pipeline and to superimpose them on the 3D
> views.
>
> I haven't tried the new panel architecture yet but in the old
> architecture, I created a slot (named onDataUpdated()) in my custom
> panel code and connected it to the dataUpdated() signal of the
> corresponding pqPipelineSource of the reader proxy (not the
> dataUpdated() of the pqProxyPanel). The methodology worked well for
> the old architecture. I wonder if by any chance it also works for the
> new one or not?
>
> Takuya OSHIMA, Ph.D.
> Faculty of Engineering, Niigata University
> 8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN
>
> From: Utkarsh Ayachit <utkarsh.ayachit at kitware.com>
> Subject: Re: [Paraview] New panel, widget update
> Date: Thu, 1 Aug 2013 14:21:45 -0400
>
>> 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
>>>
>>
> _______________________________________________
> 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