[Paraview-developers] new bug in information properties

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Mon Aug 26 11:30:17 EDT 2013


Burlen,

I've pushed a fix: http://paraview.org/Bug/view.php?id=14245
Patch attached.


On Mon, Aug 26, 2013 at 8:45 AM, Utkarsh Ayachit <
utkarsh.ayachit at kitware.com> wrote:

> Burlen,
>
> I'll fix the logic to ensure that the default values are set to min and
> max of the range provided by ISubSetInfo. Thanks for bringing this up.
>
> Utkarsh
>
>
> On Fri, Aug 23, 2013 at 5:19 PM, burlen <burlen.loring at gmail.com> wrote:
>
>>  Thanks Utkarsh,
>>
>>
>>  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.
>>
>>  I had completely missed that it's now using the midpoint! but you're
>> right, in this example the range should be [0 31]. The goal here is to
>> display the extents of the data on disk and limit the user to subsetting
>> only valid extents. they shouldn't be able to enter values below the low
>> extent or above the high extent.
>>
>> Burlen
>>
>>
>> On 08/23/2013 02:01 PM, Utkarsh Ayachit wrote:
>>
>> 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/20130826/ab80e3f6/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/20130826/ab80e3f6/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-BUG-14245-Fixed-incorrect-default-values-for-range-d.patch
Type: application/octet-stream
Size: 1868 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/paraview-developers/attachments/20130826/ab80e3f6/attachment-0001.obj>


More information about the Paraview-developers mailing list