1. 24 Jul, 2013 1 commit
    • Zack Galbreath's avatar
      resolve new warning · 080a7f72
      Zack Galbreath authored
      This commit eliminates the following warning:
        warning C4018: '<' : signed/unsigned mismatch
      
      Change-Id: I3dc5f506e5b08ea6365d71487c5b39364faabec3
      080a7f72
  2. 23 Jul, 2013 1 commit
    • Zack Galbreath's avatar
      change MAX_DISCRETE_VALUES into an ivar · 02ffb7ac
      Zack Galbreath authored
      Change MAX_DISCRETE_VALUES from a hardcoded value of 32 to a user-
      settable ivar.  This allows users of vtkAbstractArray to generate
      a categorical color map for data sets containing more than 32
      discrete values.
      
      For backwards compatibility, we keep the MAX_DISCRETE_VALUES enum
      and use it to initialize MaxDiscreteValues.  This enum is marked
      as deprecated.
      
      Change-Id: I83bf7c598288dc28a4ad231778c66e1571e3a461
      02ffb7ac
  3. 06 May, 2013 1 commit
    • David Thompson's avatar
      Fix a ParaView crash related to prominent values. · 78ae5168
      David Thompson authored
      When running with multiple processes, ParaView distributes unique
      values to all processes, even when the dataset does not reside on
      some processes. Ensure that the information object is properly
      populated in this case.
      
      Change-Id: Id576c81f95b8b27037287d1d5967955235c7130a
      78ae5168
  4. 09 Apr, 2013 1 commit
    • David Thompson's avatar
      Use scalar annotations on interval-mode scalar bar. · 55cb7e11
      David Thompson authored
      This commit renders user-provided notes associated with specific
      scalar values on the interval-mode scalar bar. Previously, only
      the categorical mode rendered these annotations.
      
      Also, provide the scalar bar with an optional swatch
      to illustrate the color assigned to NaN values.
      
      Add an option to color leader lines from the scalar bar to
      the annotation labels by the corresponding scalar value.
      
      This commit also breaks the process of rebuilding the scalar bar
      into several virtual methods so that subclasses (particularly
      ParaView's `vtkPVScalarBarActor`) can reuse more of the base class
      functionality. The process is now separated into 2 phases: layout,
      where bounding boxes for scalar bar components are placed; and
      configuration, where actors are positioned and geometry is created.
      This includes some changes to text actor to support constrained
      placement and text size queries.
      
      Add a test for the new scalar bar options.
      There are now many more options controlling how the scalar bar behaves.
      In particular many settings interact with the way geometry is rendered:
      the lookup table may be indexed or not (thus tick marks may not be
      rendered); the orientation may be horizontal or vertical; annotations
      may be rendered or not; the NaN annotation may be omitted; leader lines
      to annotations may be colored by the scalar they annotate or by the label
      color; and the tick marks may precede or succeed the scalar bar.
      Also, we must test how empty labels are handled and how even vs odd
      numbers of labels affect placement (since the algorithm for placement
      behaves differently in these cases).
      
      We cannot perform a full factorial test, but do test independent
      configurations.
      
      Finally, this commit improves the performance of prominent value
      detection for primitive-type arrays (e.g., int, double) by avoiding
      the use of vtkVariant instances to hold the working set of distinct
      values during sampling.
      
      Change-Id: I852f9b497d5e6ab619d9d7b763f641c44e4869cf
      55cb7e11
  5. 25 Jan, 2013 1 commit
    • Sean McBride's avatar
      fixed dead store warnings · 04def19c
      Sean McBride authored
      fixed by removing the dead stores (I've assumed the method calls have no weird side effects)
      
      Change-Id: I163de6df4e290ce7d98c6ef20e3518a5dcc21441
      04def19c
  6. 14 Nov, 2012 2 commits
    • David Thompson's avatar
      Fix Windows build (no log2 function). · 8cd884e6
      David Thompson authored
      Change-Id: I783bebab5aab46bb74cca2c2630029fe6b629f38
      8cd884e6
    • David Thompson's avatar
      Exhaustive and sampled distinct-value detection. · 5c7b5731
      David Thompson authored
      This change renames "unique" value detection to "prominent"
      value detection, since we now allow both exhaustive detection
      of every unique value in an array as well as a statistical
      approximation to this which may miss rare values but for which
      we have a statistical parameterization of the confidence that
      non-rare (i.e., prominent) values will be detected.
      
      Thanks to Sesh Comandur, Janine Bennett, and Ali Pinar (Sandia
      National Labs) for the parameterization of sample size by
      uncertainty and rarity.
      
      Change-Id: Ia35dd897be18bada177184515e18bcb9298360ff
      5c7b5731
  7. 01 Nov, 2012 1 commit
    • David Thompson's avatar
      More realistic bounds on samples required... · 92995913
      David Thompson authored
      ... for determining whether an array behaves like a discrete set or not.
      We require 32*log2(N) samples instead of just log2(N). This commit
      adjusts the test so that it continues to perform random sampling of an
      array with the increased minimum number of samples required.
      
      Change-Id: Ia26c3ca0570ac718626c6897cd48bacd4c44bae5
      92995913
  8. 30 Oct, 2012 2 commits
  9. 26 Oct, 2012 1 commit
    • David Thompson's avatar
      Methods to compute and return unique array values. · 1df5d6a2
      David Thompson authored
      Determining unique values is the "abstract" (or categorical)
      equivalent of determining the range of interval-valued array.
      It only makes sense for arrays with a small number of distinct
      values, and this also happens to be when it is computationally
      efficient to compute.
      
      This adds methods `GetUniqueComponentValues` and
      `UpdateDiscreteValueSet` to `vtkAbstractArray`.
      The `GetUniqueComponentValues` method populates a `vtkVariantArray`
      you pass with a list of unique values taken on by a component, or,
      clears it to an empty array if there are more than
      `vtkAbstractArray::MAX_DISCRETE_VALUES` distinct values present.
      
      The unique values are identified by sampling at most log2(n)
      tuples for large arrays, so obtaining the summary information --
      which is cached once computed -- is an inexpensive operation.
      This does mean that rare observations will go undetected.
      
      You may also obtain a list of unique *tuples* instead of unique
      component values by passing -1 for th...
      1df5d6a2
  10. 09 Apr, 2012 1 commit
    • VTK Developers's avatar
      Modularize VTK tree layout · cdd4d6fd
      VTK Developers authored
      Move source files from their former monolithic VTK location to their new
      location in modular VTK without modification.  This preserves enough
      information for "git blame -M" and "git log --follow" to connect
      modularized VTK files to their original location and history.
      
      Co-Author: Marcus D. Hanwell <marcus.hanwell@kitware.com>
      Co-Author: Chris Harris <chris.harris@kitware.com>
      Co-Author: Brad King <brad.king@kitware.com>
      Co-Author: Nikhil Shetty <nikhil.shetty@kitware.com>
      cdd4d6fd
  11. 13 Dec, 2011 1 commit
  12. 07 Aug, 2010 1 commit
    • Andy Wilson's avatar
      Add SetVariantValue method to vtkAbstractArray and subclasses · 890592a2
      Andy Wilson authored
      We have InsertVariantValue, which is analogous to InsertValue in that
      it's SetValue with bounds checking, but no SetVariantValue.  I've added
      this to vtkAbstractArray and subclasses and modified InsertVariantValue
      to do the bounds check and fall through to SetValue.  InsertVariantValue
      is still virtual so you can override it if you have a very good reason
      but that probably won't be necessary.
      890592a2
  13. 20 May, 2010 1 commit
    • Mark Olesen's avatar
      Remove vtk(Cxx|Type)RevisionMacro · ecbbf7f7
      Mark Olesen authored
      The CVS $Revision$ keyword replacement will no longer maintain these
      macros automatically.  They were used only to implement CollectRevisions
      and vtkObjectBase::PrintRevisions, an API that was never used.
      
      Automated as follows:
      
        pass 0:
        catch templates
        ---------------
        $ git grep 'vtk\(Cxx\|Type\)RevisionMacro' | grep '<'
      
        pass 1:
        main changes
        ---------------
        $ git grep -l '^vtkCxxRevisionMacro' | while read file; do
          echo "$file" 1>&2
          perl -i -ne 'print unless (/^vtkCxxRevisionMacro/ and /\)/)' $file
        done
        $ git grep -l -e 'vtkTypeRevisionMacro(' | while read file; do
          echo "$file" 1>&2
          perl -i -pe 's/vtkTypeRevisionMacro/vtkTypeMacro/g' $file
        done
      
        pass 2:
        verify
        ---------------
        $ git grep 'vtk\(Cxx\|Type\)RevisionMacro'
      
      Fixed multi-line vtkCxxRevisionMacro and templates by hand.
      ecbbf7f7
  14. 10 May, 2010 1 commit
  15. 28 Apr, 2010 1 commit
  16. 23 Apr, 2010 1 commit
    • Mark Olesen's avatar
      Remove vtk(Cxx|Type)RevisionMacro · 19c55e0e
      Mark Olesen authored
      The CVS $Revision$ keyword replacement will no longer maintain these
      macros automatically.  They were used only to implement CollectRevisions
      and vtkObjectBase::PrintRevisions, an API that was never used.
      
      Automated as follows:
      
        pass 0:
        catch templates
        ---------------
        $ git grep 'vtk\(Cxx\|Type\)RevisionMacro' | grep '<'
      
        pass 1:
        main changes
        ---------------
        $ git grep -l '^vtkCxxRevisionMacro' | while read file; do
          echo "$file" 1>&2
          perl -i -ne 'print unless (/^vtkCxxRevisionMacro/ and /\)/)' $file
        done
        $ git grep -l -e 'vtkTypeRevisionMacro(' | while read file; do
          echo "$file" 1>&2
          perl -i -pe 's/vtkTypeRevisionMacro/vtkTypeMacro/g' $file
        done
      
        pass 2:
        verify
        ---------------
        $ git grep 'vtk\(Cxx\|Type\)RevisionMacro'
      
      Fixed multi-line vtkCxxRevisionMacro and templates by hand.
      19c55e0e
  17. 06 Apr, 2010 1 commit
    • Robert Maynard's avatar
      BUG: Fixed problems with the component names implementation in the XML reading and writing · 1100ba20
      Robert Maynard authored
      BUG: Fixed warnings that the component names implementation was causing in vtkDataSetAttributes, vtkAbstractArray, and vtkPVArrayInformation
      ENH: Added support for component names to vtkAppendData and vtkTemporalStatistics
      ENH: Add CopyComponentNames method to vtkAbstractArray so that we have a nicer way to copy component names
      ENH: Added test for CopyComponentNames method to TestDataArrayComponentNames
      1100ba20
  18. 05 Apr, 2010 1 commit
  19. 29 May, 2009 1 commit
  20. 31 Mar, 2009 1 commit
    • Jeff Baumes's avatar
      BUG: Fixing double update issue · 231fc677
      Jeff Baumes authored
      vtkAbstractArray::GetRange() could cause the array, and hence the
      data object that contains it, to be marked as modified. This is because
      GetRange calls GetInformation(), which will generate a new information
      object on its first call. This was fixed by removing the Modified() call
      from SetInformation.
      
      Also changing vtkPerturbCoincidentVertices to use ShallowCopy instead of
      DeepCopy.
      231fc677
  21. 09 Oct, 2008 1 commit
    • Burlen Loring's avatar
      · 1054c303
      Burlen Loring authored
      ENH: Added support for vtkDataSetAttributes/vtkFieldData (and filters that by-pass) to copy vtkInformation stored in vtkDataArray. vtkAbstractArray makes the copy, and each sub class has a chance to prevent certain keys from being coppied.
      1054c303
  22. 02 Oct, 2008 1 commit
    • Burlen Loring's avatar
      · 3d757406
      Burlen Loring authored
      ENH: EDF IPoints project commit.
      
      VTK/Graphics:
        CMakeLists.txt
          Added build commands for vtkQuadraturePointInterpolator,vtkQuadraturePointsGenerator,vtkQuadratureSchemeDictionaryGenerator filters.
      
        vtkQuadraturePointInterpolator.h
        vtkQuadraturePointInterpolator.cxx
          Filter which makes use of InformationQuadratureSchemeDefinitionVectorKey to interpolate fields to quadrature points.
      
        vtkQuadraturePointsGenerator.h
        vtkQuadraturePointsGenerator.cxx
          Filter which makes use of InformationQuadratureSchemeDefinitionVectorKey abnd field data arrays generated by QuadraturePointInterpolator to generate a point set of quadrature points.
      
        vtkQuadraturePointsUtilities.hxx
          Code shared between QuadraturePointInterpolator and QuadraturePointGenerator.
      
        vtkQuadratureSchemeDictionaryGenerator.cxx
        vtkQuadratureSchemeDictionaryGenerator.h
          Convinience filter that adds a gerneric dictionary to point data arrays in undtructured grids. This is used for testing, and should not be used for application development.
      
      VTK/GraphicsTesting/Cxx:
        CMakeLists.txt
        TestQuadraturePoints.cxx
          Added tests demonstarting the capability of the new QuadratureScheme* filters.
      
      VTK/IO:
        CmakeLists.txt
          Removed build command for vtkXMLDataElement.
      
        vtkXMLUtilities.h
        vtkXMLUtilities.cxx
        vtkXMLDataParser.h
        vtkXMLDataParser.cxx
        vtkXMLMaterialParser.cxx
          Moved method vtkXMLDataElement::ReadXMLAttributes to vtkXMLUtilities::ReadElementFromAttributeArray to emliminate cyclic dependency.
          Moved method from vtkXMLDataElement::SeekInlineDataPosition to vtkXMLDataParser::SeekInlineDataPosition to emliminate cyclic dependency.
          Set vtkXMLDataParser to parse CharacterData as tags may use it even though vtkDataArray tags now have specialized methods for reading inline and appended data.
      
        vtkXMLReader.h
        vtkXMLReader.cxx
        vtkXMLWriter.h
        vtkXMLWriter.cxx
          Added methods to save/restore vtkInformation associated with vtkAbstractArray's to/from XML data files. We only handle a single vtkInformationKey type as handling more generally will require a more substantial investment to work around C++'s static typing in a platform independent way.
      
      VTK/Common:
        CmakeLists.txt
          Added build command for vtkXMLDataElement
          Added build command for vtkInformationQuadratureSchemeDefinitionVectorKey
      
        vtkXMLDataElement.h
        vtkXMLDataElement.cxx
          Moved to Common from IO.
          Eliminated cyclic dependency with XML parsing classes.
      
        vtkInformationQuadratureSchemeDefinitionVectorKey.h
        vtkInformationQuadratureSchemeDefinitionVectorKey.cxx
          Replaced vtkInformationObjectBaseVectorKey with vtkInformationQuadratureSchemeDefinitionVectorKey to eliminate complications during de-serialization from XML due to C++'s static typing.
      
        vtkAbstractArray.h
        vtkAbstractArray.cxx
        vtkDataSetAttributes.h
        vtkDataSetAttributes.cxx
          Added support for vtkInformation to vtkDataSetAttributes copy methods.
          Changed vtkAbstractArray::SetInformation from protected to public.
      
        vtkMetaDataArray.h
        vtkMetaDataArray.cxx
          Removed from project. Use vtkInformation instead.
      
      VTK/Rendering:
        vtkTesting.h
        vtkTesting.cxx
          Addded dataset comparison via average L2 norm. Cleaned up command tail processing code.
      3d757406
  23. 06 Sep, 2008 1 commit
    • Burlen Loring's avatar
      · 12bd5074
      Burlen Loring authored
      ENH: Added an array meta data attribute (a vtk object with coppiers).
      12bd5074
  24. 28 May, 2008 1 commit
  25. 15 Oct, 2007 1 commit
    • Jeff Baumes's avatar
      ENH: Merging changes from Overview_0_9 branch: · e837c0e1
      Jeff Baumes authored
      ENH: Added arrow types to sources.xml
      ENH: vtkAbstractArray is now able to create a vtkVariantArray.
      ENH: Updated vtkSelection::Union to handle multiple-column selections.
      BUG: Fixing string overrun in vtkAssignAttribute.
      ENH: Adding progress to vtkConvertSelection.
      ENH: Adding EdgeArrow type to vtkGlyphSource2D.
      BUG: vtkKdTreeSelector now always uses the specified array name in the output.
      ENH: Adding convenience method to set the vertex from a string.
      ENH: In vtkExtractSelectedGraph, use vtkConvertSelection to convert to an index selection.
      ENH: In vtkThresholdTable, make comparison inclusive.
      ENH: Adding support for vtkVariantArray in vtkDataReader/Writer.
      e837c0e1
  26. 11 Oct, 2007 1 commit
    • David Thompson's avatar
      ENH: Add a vtkInformation pointer to vtkAbstractArray. · d63a636a
      David Thompson authored
      MGMT: Move vtkInformation classes from Filtering to Common to accomodate
            change above.
      ENH: Add test of new vtkInformation pointer to TestDataArray
      ENH: Move component range information out of vtkDataArray and into
           the array's vtkInformation object. New keys PER_COMPONENT,
           COMPONENT_RANGE, and L2_NORM_RANGE accomplish this.
      d63a636a
  27. 29 Aug, 2007 1 commit
  28. 20 Apr, 2007 1 commit
  29. 04 Oct, 2006 1 commit
  30. 05 Jan, 2006 1 commit
    • Utkarsh Ayachit's avatar
      ENH: · fad86463
      Utkarsh Ayachit authored
      * vtkDataArray now has a new superclass-vtkAbstractArray.vtkAbstractArray
      provides type-agnostic API to access array elements. vtkDataArray provides
      a double API to access values -- such an API is deliberately missing from
      vtkAbstractArray, since arrays like string arrays are not castable to doubles.
      
      * vtkAbstractArray has the notion of components/tuples, but does not make
      any assumptions about the arragment of these. It's up to the concrete
      subclasses how the data is represented in memory.
      
      * vtkFieldData used to provide tuple API to get/set values from data arrays
      contained in it. However, now that FieldData can have arrays that are not
      vtkDataArrays, this API is not longer valid.
      The following are the methods that are no longer available:
      double* GetTuple(const vtkIdType);
      void SetTuple(const vtkIdType i, const double* tuple);
      void GetTuple(const vtkIdType i, double* tuple);
      void InsertTuple(const vtkIdType i, const double* tuple);
      void InsertNextTuple(cons double*);
      double GetComponent(const vtkIdType i, const int j);
      void SetComponent(const vtkIdType i, const int j, const double c);
      void InsertComponent(const vtkIdType i, const int j, const double c);
      However, new API is provided to copy tuples arround from one field data to
      another using:
      void SetTuple(const vtkIdType i, const vtkIdType j, vtkFieldData* source);
      void InsertTuple(const vtkIdType i, const vtkIdType j, vtkFieldData* source);
      vtkIdType InsertNextTuple(const vtkIdType j, vtkFieldData* source);
      
      * vtkFieldData provide a vtkDataArray* GetArray(int index) to retrieve arrays
      in the field data. This function can will now return a NULL if the array
      at the given index is not a data array. It provides
      vtkAbstractArray* GetAbstractArray(int index);
      to retrieve an array even if it isn't a vtkDataArray.
      
      * Since vtkFieldData can contain arrays that aren't subclasses of
      vtkDataArray, so can vtkDataSetAttributes. However, an attribute can only be
      a vtkDataArray subclass i.e. one cannot set a vtkStringArray as the SCALARS
      array for a Point Data, for example.
      
      * String Array IO is only supported in XML file formats. If deemed important,
      support may be added for lecacy file formats.
      
      *** Array Iterators ***
      Another addition to the VTK Arrays, is the notion of Array Iterator. A
      vtkArrayIterator subclass is be provided for every vtkAbstractArray
      subclass. The iterator is a random access iterator. The iterators are not
      available in any of the wrapped languages, however, in C++ they can be used to
      write templatized code to processes the array values without any implicit type
      conversion and consequent loss of precision. vtkArrayIteratorTemplateMacro is
      provided to simply switching between different types of the arrays. Examples of
      use of this macro and the iterators can be found in
      vtkXMLWriter.cxx / vtkXMLDataReader.cxx / vtkXMLStructuredDataReader.cxx.
      fad86463
  31. 04 May, 2005 4 commits