<div dir="ltr">Burlen,<div><br></div><div>I&#39;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.</div><div><br></div><div>Utkarsh</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 23, 2013 at 5:19 PM, burlen <span dir="ltr">&lt;<a href="mailto:burlen.loring@gmail.com" target="_blank">burlen.loring@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>Thanks Utkarsh,<div class="im"><br>
      <br>
      <blockquote type="cite"> 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&#39;s a bug that the default is being set only for
        the 0th element, but that can be fixed. There&#39;re attributed on
        vtkSM*RangeDomain that allow changing whether the default is
        mid/min or max.
        <div><br>
        </div>
        <div>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.</div>
        <br>
      </blockquote></div>
      I had completely missed that it&#39;s now using the midpoint! but
      you&#39;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&#39;t be able to
      enter values below the low extent or above the high extent.<span class="HOEnZb"><font color="#888888"><br>
      <br>
      Burlen</font></span><div><div class="h5"><br>
      <br>
      On 08/23/2013 02:01 PM, Utkarsh Ayachit wrote:<br>
    </div></div></div><div><div class="h5">
    <blockquote type="cite">
      <div dir="ltr">Burlen,
        <div><br>
        </div>
        <div>Let me explain what&#39;s happening and then we can determine
          how to fix it.</div>
        <div><br>
        </div>
        <div>The changes I pushed (which I am planning on summarizing in
          a blog post soon) are designed to clean up domains as follows:</div>
        <div><br>
        </div>
        <div>+ make vtkSMProperty::UpdateDependentDomains() obsolete --
          domains in ParaView can have &quot;required properties&quot;, 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&#39;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.</div>
        <div><br>
        </div>
        <div>+ 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.</div>
        <div><br>
        </div>
        <div>+ 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&#39;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&#39;s a bug that the default is being set only for the 0th
          element, but that can be fixed. There&#39;re attributed on
          vtkSM*RangeDomain that allow changing whether the default is
          mid/min or max.</div>
        <div><br>
        </div>
        <div>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.</div>
        <div><br>
        </div>
        <div>Utkarsh</div>
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">On Fri, Aug 23, 2013 at 1:58 PM, burlen
          <span dir="ltr">&lt;<a href="mailto:burlen.loring@gmail.com" target="_blank">burlen.loring@gmail.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">
              <div>Thanks Sebastien, looking at the other xml&#39;s I&#39;m not
                seeing changes in xml elements/attributes. I think it&#39;s
                a bug for information helper with 2 values and integer
                range domain. Hope that Utkarsh can shed some light on
                it.
                <div>
                  <div><br>
                    <br>
                    On 08/21/2013 02:00 PM, Sebastien Jourdain wrote:<br>
                  </div>
                </div>
              </div>
              <div>
                <div>
                  <blockquote type="cite">
                    <div dir="ltr">Hi Burlen,
                      <div><br>
                      </div>
                      <div>the domain have been refactored quite a lot.
                        This might be a bug or some XML change in the
                        way domain are now define.</div>
                      <div>Please double check similar domains in
                        current ParaView XML.</div>
                      <div>If you don&#39;t find any differences, then bug
                        Utkarsh next week when he&#39;ll be back.</div>
                      <div><br>
                      </div>
                      <div>Seb</div>
                    </div>
                    <div class="gmail_extra"><br>
                      <br>
                      <div class="gmail_quote">On Wed, Aug 21, 2013 at
                        4:56 PM, burlen <span dir="ltr">&lt;<a href="mailto:burlen.loring@gmail.com" target="_blank">burlen.loring@gmail.com</a>&gt;</span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                          <div bgcolor="#FFFFFF" text="#000000"> Hi All,<br>
                            <br>
                            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&#39;s reader and the file
                            ParaViewData/Data/SciberQuestToolKit/MagneticIslands/MagneticIslands.bov<br>
                            <br>
                            Any idea about what happened and a fix?<br>
                            <br>
                            <br>
                            <img src="cid:part3.03060607.07050706@gmail.com" alt=""><br>
                            <br>
                            <br>
                                &lt;!-- Subset selection --&gt;<br>
                                &lt;IntVectorProperty<br>
                                    name=&quot;ISubsetInfo&quot;<br>
                                    command=&quot;GetISubsetRange&quot;<br>
                                    information_only=&quot;1&quot;&gt;<br>
                                  &lt;SimpleIntInformationHelper/&gt;<br>
                                &lt;/IntVectorProperty&gt;<br>
                                &lt;IntVectorProperty<br>
                                    name=&quot;ISubset&quot;<br>
                                    command=&quot;SetISubset&quot;<br>
                                    number_of_elements=&quot;2&quot;<br>
                                    default_values=&quot;1 0&quot;<br>
                                    animateable=&quot;0&quot;<br>
                                    information_property=&quot;ISubsetInfo&quot;<br>
                                    &gt;<br>
                                  &lt;IntRangeDomain name=&quot;range&quot;&gt;<br>
                                    &lt;RequiredProperties&gt;<br>
                                        &lt;Property name=&quot;ISubsetInfo&quot;
                            function=&quot;Range&quot;/&gt;<br>
                                    &lt;/RequiredProperties&gt;<br>
                                  &lt;/IntRangeDomain&gt;<br>
                                  &lt;Documentation&gt;<br>
                                    This property controls what subset
                            of data is read in. Subset for smaller
                            memory footprint and better interactivity.<br>
                                  &lt;/Documentation&gt;<br>
                                &lt;/IntVectorProperty&gt;<br>
                                &lt;IntVectorProperty<br>
                                    name=&quot;JSubsetInfo&quot;<br>
                                    command=&quot;GetJSubsetRange&quot;<br>
                                    information_only=&quot;1&quot;&gt;<br>
                                  &lt;SimpleIntInformationHelper/&gt;<br>
                                &lt;/IntVectorProperty&gt;<br>
                                &lt;IntVectorProperty<br>
                                    name=&quot;JSubset&quot;<br>
                                    command=&quot;SetJSubset&quot;<br>
                                    number_of_elements=&quot;2&quot;<br>
                                    default_values=&quot;1 0&quot;<br>
                                    animateable=&quot;0&quot;<br>
                                    information_property=&quot;JSubsetInfo&quot;<br>
                                    &gt;<br>
                                  &lt;IntRangeDomain name=&quot;range&quot;&gt;<br>
                                    &lt;RequiredProperties&gt;<br>
                                        &lt;Property name=&quot;JSubsetInfo&quot;
                            function=&quot;Range&quot;/&gt;<br>
                                    &lt;/RequiredProperties&gt;<br>
                                  &lt;/IntRangeDomain&gt;<br>
                                  &lt;Documentation&gt;<br>
                                    This property controls what subset
                            of data is read in. Subset for smaller
                            memory footprint and better interactivity.<br>
                                  &lt;/Documentation&gt;<br>
                                &lt;/IntVectorProperty&gt;<br>
                                &lt;IntVectorProperty<br>
                                    name=&quot;KSubsetInfo&quot;<br>
                                    command=&quot;GetKSubsetRange&quot;<br>
                                    information_only=&quot;1&quot;&gt;<br>
                                  &lt;SimpleIntInformationHelper/&gt;<br>
                                &lt;/IntVectorProperty&gt;<br>
                                &lt;IntVectorProperty<br>
                                    name=&quot;KSubset&quot;<br>
                                    command=&quot;SetKSubset&quot;<br>
                                    number_of_elements=&quot;2&quot;<br>
                                    default_values=&quot;1 0&quot;<br>
                                    animateable=&quot;0&quot;<br>
                                    information_property=&quot;KSubsetInfo&quot;<br>
                                    &gt;<br>
                                  &lt;IntRangeDomain name=&quot;range&quot;&gt;<br>
                                    &lt;RequiredProperties&gt;<br>
                                        &lt;Property name=&quot;KSubsetInfo&quot;
                            function=&quot;Range&quot;/&gt;<br>
                                    &lt;/RequiredProperties&gt;<br>
                                  &lt;/IntRangeDomain&gt;<br>
                                  &lt;Documentation&gt;<br>
                                    This property controls what subset
                            of data is read in. Subset for smaller
                            memory footprint and better interactivity.<br>
                                  &lt;/Documentation&gt;<br>
                                &lt;/IntVectorProperty&gt;<br>
                          </div>
                          <br>
_______________________________________________<br>
                          Paraview-developers mailing list<br>
                          <a href="mailto:Paraview-developers@paraview.org" target="_blank">Paraview-developers@paraview.org</a><br>
                          <a href="http://public.kitware.com/mailman/listinfo/paraview-developers" target="_blank">http://public.kitware.com/mailman/listinfo/paraview-developers</a><br>
                          <br>
                        </blockquote>
                      </div>
                      <br>
                    </div>
                  </blockquote>
                  <br>
                </div>
              </div>
            </div>
            <br>
            _______________________________________________<br>
            Paraview-developers mailing list<br>
            <a href="mailto:Paraview-developers@paraview.org" target="_blank">Paraview-developers@paraview.org</a><br>
            <a href="http://public.kitware.com/mailman/listinfo/paraview-developers" target="_blank">http://public.kitware.com/mailman/listinfo/paraview-developers</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div>