[Paraview] custom filter doesn't update property in the Paraview UI

Cory Quammen cory.quammen at kitware.com
Fri Jul 15 12:02:59 EDT 2016


Corinna,

Looking at the ParaView source code, I believe that vector properties
with information properties must have a domain associated with them.
In your case, you can add an IntRangeDomain with only a minimum
defined:

<IntVectorProperty name="NPoints"
                        command="SetNPoints"
                        information_property="NPointsInfo"
                        number_of_elements="1"
                        default_values="42">
    <IntRangeDomain name="range" min="0" />
</IntVectorProperty>

0 seems like a reasonable minimum in your case.

Keep your information_only property as it is. You'll need to change
where your NPoints is set, though - moving this to the
RequestInformation() member function should work.

Cory


On Fri, Jul 15, 2016 at 3:46 AM, corinna reuter
<corinnareuter75 at gmail.com> wrote:
> Cory, thanks for mentioning the TIFFReader proxy. I tried to modify my
> previously attached code such that the NPoints property links to a
> NPointsInfo property. Plus, I have removed the call
> "this->SetNPoints(nset);" inside vtkTestProperty::RequestData as suggested
> by Utkarsh. The NPoints property is still showing the default "42", though,
> and not initialized or updated from the number of points of the input
> dataset. I am obviously missing another important step in addition to
> changing the xml definitions, but which one?
>
> Here is the detailed modification of TestProperty.xml compared to the
> earlier attachment:
> replace
> "<IntVectorProperty name="NPoints"
>                         command="SetNPoints"
>                         number_of_elements="1"
>                         default_values="42">
>   </IntVectorProperty>"
> with:
> "<IntVectorProperty name="NPoints"
>                         command="SetNPoints"
>                         information_property="NPointsInfo"
>                         number_of_elements="1"
>                         default_values="42">
>   </IntVectorProperty>
>   <IntVectorProperty name="NPointsInfo"
>                         command="GetNPoints"
>                         information_only="1">
>     <SimpleIntInformationHelper />
>   </IntVectorProperty>"
>
> Thank you
> Corinna
>
>
> On Thu, Jul 14, 2016 at 5:24 PM, Cory Quammen <cory.quammen at kitware.com>
> wrote:
>>
>> Corinna,
>>
>> Take a look at the TIFFReader SourceProxy in
>> ParaViewCore/ServerManager/SMApplication/Resources/readers.xml. It has
>> a CustomDataSpacing property that enables you to set voxel spacing,
>> and has an associated information property CustomDataSpacingInfo that
>> should initially populate the spacing property when the reader is
>> created.
>>
>> HTH,
>> Cory
>>
>> On Thu, Jul 14, 2016 at 11:17 AM, Utkarsh Ayachit
>> <utkarsh.ayachit at kitware.com> wrote:
>> >> I'll check the meaning of MTime.
>> >
>> > See the implementation of vtkSetMacro() in vtkSetGet.h. Every time the
>> > value changes, it call this->Modified() which updates the MTime. Since
>> > VTK is a demand-driven pipeline, changes to MTime is what tells the
>> > pipeline that the algorithm has been modified and needs reexecution.
>> > If one modifies the MTime in RequestData() (the method called by the
>> > pipeline to process the input to produce output), the pipeline thinks
>> > the filter is always dirty and that can cause unexpected side effects.
>> >
>> >
>> >> I'd need something similar to an image resize filter. The output size
>> >> should
>> >> be identical to the input size, when the filter is first attached to
>> >> the
>> >> input. The output size should be shown in the UI and the user should be
>> >> able
>> >> to enter a different output size.
>> >
>> > This is possible. Let me see if I can find you a simple example for
>> > the same. I'll get back to you.
>> > _______________________________________________
>> > 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
>> >
>> > Search the list archives at: http://markmail.org/search/?q=ParaView
>> >
>> > Follow this link to subscribe/unsubscribe:
>> > http://public.kitware.com/mailman/listinfo/paraview
>>
>>
>>
>> --
>> Cory Quammen
>> R&D Engineer
>> Kitware, Inc.
>
>



-- 
Cory Quammen
R&D Engineer
Kitware, Inc.


More information about the ParaView mailing list