[Paraview-developers] new bug in information properties

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Fri Aug 23 17:01:28 EDT 2013


Burlen,

Let me explain what's happening and then we can determine how to fix it.

The changes I pushed (which I am planning on summarizing in a blog post
soon) are designed to clean up domains as follows:

+ make vtkSMProperty::UpdateDependentDomains() obsolete -- domains in
ParaView can have "required properties", such domains are referred to as
dependent domains of the property. Since vtkSMProperty and subclasses have
been fixed in recent years to fire ModifiedEvent and
UncheckedPropertyModifiedEvent events if and only if the property's values
are changed. That being the case, we can update the dependent domains
automatically when the properties change. Thus one never has to call
UpdateDependentDomains() any more.

+ Domains now also play are more important role in setting up run-time
defaults for properties. Domains already played role in determining default
values for certain properties. We are moving towards a design where they
are the primary location where the defaults are setup (rather than custom
logic in the Qt layer). The goal is to ensure default property values
chosen by the Qt GUI and the Python client (like pvbatch) are pretty much
always consistent.

+ As a cleanup step, I also unified the logic in vtkSMDoubleRangeDomain and
vtkSMIntRangeDomain using templates. Now for a property with
vtkSM*RangeDomain, if it has no required property, we assume that the range
is a compile time (xml-time) thing and hence the default values specified
on property in the xml is what's used as the default. If the domain has a
required property, we assume that the the required property will provide
the ranges a run time, hence the default value is updated based on the
range at runtime. By default the value is chosen to be the mid point of the
range (hence the 15, in your example the range is 0-31). There's a bug that
the default is being set only for the 0th element, but that can be fixed.
There're attributed on vtkSM*RangeDomain that allow changing whether the
default is mid/min or max.

My question is what is the correct expected default for the ISubset
property when the ISubsetInfo says, [0, 31] for example. I can fix the
property/domains accordingly.

Utkarsh



On Fri, Aug 23, 2013 at 1:58 PM, burlen <burlen.loring at gmail.com> wrote:

>  Thanks Sebastien, looking at the other xml's I'm not seeing changes in
> xml elements/attributes. I think it's a bug for information helper with 2
> values and integer range domain. Hope that Utkarsh can shed some light on
> it.
>
>
> On 08/21/2013 02:00 PM, Sebastien Jourdain wrote:
>
> Hi Burlen,
>
>  the domain have been refactored quite a lot. This might be a bug or some
> XML change in the way domain are now define.
> Please double check similar domains in current ParaView XML.
> If you don't find any differences, then bug Utkarsh next week when he'll
> be back.
>
>  Seb
>
>
> On Wed, Aug 21, 2013 at 4:56 PM, burlen <burlen.loring at gmail.com> wrote:
>
>>  Hi All,
>>
>> After a pull yesterday, may have been ~2 weeks since my last, information
>> only properties are messed up, or at least have changed in a way that
>> breaks my existing reader. the gui shows the data extents for subsetting.
>> The high extent value is now placed in the low extent line edit, it looks
>> like the high extent line edit is not touched. see screen shot. reproduce
>> with SciberQuest plugin's reader and the file
>> ParaViewData/Data/SciberQuestToolKit/MagneticIslands/MagneticIslands.bov
>>
>> Any idea about what happened and a fix?
>>
>>
>>
>>
>>
>>     <!-- Subset selection -->
>>     <IntVectorProperty
>>         name="ISubsetInfo"
>>         command="GetISubsetRange"
>>         information_only="1">
>>       <SimpleIntInformationHelper/>
>>     </IntVectorProperty>
>>     <IntVectorProperty
>>         name="ISubset"
>>         command="SetISubset"
>>         number_of_elements="2"
>>         default_values="1 0"
>>         animateable="0"
>>         information_property="ISubsetInfo"
>>         >
>>       <IntRangeDomain name="range">
>>         <RequiredProperties>
>>             <Property name="ISubsetInfo" function="Range"/>
>>         </RequiredProperties>
>>       </IntRangeDomain>
>>       <Documentation>
>>         This property controls what subset of data is read in. Subset for
>> smaller memory footprint and better interactivity.
>>       </Documentation>
>>     </IntVectorProperty>
>>     <IntVectorProperty
>>         name="JSubsetInfo"
>>         command="GetJSubsetRange"
>>         information_only="1">
>>       <SimpleIntInformationHelper/>
>>     </IntVectorProperty>
>>     <IntVectorProperty
>>         name="JSubset"
>>         command="SetJSubset"
>>         number_of_elements="2"
>>         default_values="1 0"
>>         animateable="0"
>>         information_property="JSubsetInfo"
>>         >
>>       <IntRangeDomain name="range">
>>         <RequiredProperties>
>>             <Property name="JSubsetInfo" function="Range"/>
>>         </RequiredProperties>
>>       </IntRangeDomain>
>>       <Documentation>
>>         This property controls what subset of data is read in. Subset for
>> smaller memory footprint and better interactivity.
>>       </Documentation>
>>     </IntVectorProperty>
>>     <IntVectorProperty
>>         name="KSubsetInfo"
>>         command="GetKSubsetRange"
>>         information_only="1">
>>       <SimpleIntInformationHelper/>
>>     </IntVectorProperty>
>>     <IntVectorProperty
>>         name="KSubset"
>>         command="SetKSubset"
>>         number_of_elements="2"
>>         default_values="1 0"
>>         animateable="0"
>>         information_property="KSubsetInfo"
>>         >
>>       <IntRangeDomain name="range">
>>         <RequiredProperties>
>>             <Property name="KSubsetInfo" function="Range"/>
>>         </RequiredProperties>
>>       </IntRangeDomain>
>>       <Documentation>
>>         This property controls what subset of data is read in. Subset for
>> smaller memory footprint and better interactivity.
>>       </Documentation>
>>     </IntVectorProperty>
>>
>> _______________________________________________
>> Paraview-developers mailing list
>> Paraview-developers at paraview.org
>> http://public.kitware.com/mailman/listinfo/paraview-developers
>>
>>
>
>
> _______________________________________________
> Paraview-developers mailing list
> Paraview-developers at paraview.org
> http://public.kitware.com/mailman/listinfo/paraview-developers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview-developers/attachments/20130823/9f48a189/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 9459 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/paraview-developers/attachments/20130823/9f48a189/attachment-0001.png>


More information about the Paraview-developers mailing list