1. 23 Jul, 2015 1 commit
  2. 12 Apr, 2015 1 commit
    • Sean McBride's avatar
      Disambiguated use of term “kilobyte” · 6bfea2b3
      Sean McBride authored
      After being confused by headerdoc use of the word
      “kilobyte”, I did a bit of an audit:
      
      - changed many comments to use kibibyte and also
      added the number 1024
      - noted that one function returns bytes, unlike many
      other functions with same name that return kibibytes
      - changed some default value initializations
      that were a mix of power 2 and power 10 ex:
      vtkPImageWriter called “1 gigabyte” = 1000000 kibibytes,
      changed to power 2 since that’s prevailing in VTK
      
      Although many don’t like the binary prefixes,
      they have the advantage of being unambiguous.
      6bfea2b3
  3. 01 Dec, 2014 1 commit
  4. 20 Nov, 2014 1 commit
  5. 06 Aug, 2014 1 commit
  6. 17 Jun, 2014 1 commit
    • Robert Maynard's avatar
      Refactor GetRange to compute all ranges at the same time. · 196bbe8a
      Robert Maynard authored
      Instead of only computing a single components range when requested, we
      now compute all the component ranges and cache all the values. This
      improves the total runtime by 1.5x to 3x.
      
      Computing the range for a multiple component array of type: float with a length of 10000000 and with 3 components
      original: 0.028544 seconds
      new:      0.018013 seconds
      Computing the range for a multiple component array of type: double with a length of 10000000 and with 3 components
      original: 0.042368 seconds
      new:      0.019447 seconds
      Computing the range for a multiple component array of type: int with a length of 10000000 and with 3 components
      original: 0.03528 seconds
      new:      0.023454 seconds
      Computing the range for a multiple component array of type: vtkIdType with a length of 10000000 and with 3 components
      original: 0.050991 seconds
      new:      0.024635 seconds
      Computing the range for a multiple component array of type: float with a length of 10000000 and with 9 components
      original: 0.186394 seconds
      new:      0.112901 seconds
      Computing the range for a multiple component array of type: double with a length of 10000000 and with 9 components
      original: 0.375575 seconds
      new:      0.114103 seconds
      Computing the range for a multiple component array of type: int with a length of 10000000 and with 9 components
      original: 0.200056 seconds
      new:      0.141547 seconds
      Computing the range for a multiple component array of type: vtkIdType with a length of 10000000 and with 9 components
      original: 0.369794 seconds
      new:      0.144766 seconds
      
      Change-Id: Ia3da45b323d2d9daf0b0c428140cc5faef6db185
      196bbe8a
  7. 15 May, 2014 1 commit
    • Robert Maynard's avatar
      Improve ComputeScalarRange when we have a single component. · 87291c64
      Robert Maynard authored
      The previous implementation made it really hard for compilers to optimize,
      and notice it could use intrinsic operation for single component arrays.
      
      In testing this takes the ComputeScalarRange on 600^3 from ~430 ms to ~20ms.
      
      Change-Id: I778cd34adc8689279f4f9ec64d72598b1241f7c7
      87291c64
  8. 13 May, 2014 6 commits
  9. 18 Dec, 2013 1 commit
  10. 02 Oct, 2013 1 commit
    • David C. Lonie's avatar
      Fix handling of mapped data arrays in vtkDataArray. · b037ed03
      David C. Lonie authored
      Changes to vtkDataArray implementation for compatibility with
      vtkMappedDataArray. If regular data arrays are used, fast
      data iteration via scalar pointers is preserved. If mapped
      data arrays are used, vtkTypedDataArrayIterators are used.
      
      Some performance optimizations were made along the way, and
      benchmarks added to TestDataArray. The results of the benchmarks
      before/after the changes are:
      
      Test                               | Before (s) | After (s) | Speedup
      -----------------------------------+------------+-----------+---------
      deep copy 10M double --> double:   | 0.0180356  | 0.0179345 |  00.56%
      deep copy 10M double --> int:      | 0.0193923  | 0.0108546 |  44.03%
      deep copy 10M int --> double:      | 0.0197700  | 0.0125094 |  36.73%
      deep copy 10M int --> int:         | 0.0096185  | 0.0088052 |  08.46%
      get tuples random access (double): | 0.0111670  | 0.0074788 |  33.03%
      get tuples random access (int):    | 0.0106015  | 0.0072431 |  31.68%
      insert next tuple (double):        | 0.1429880  | 0.0932984 |  34.75%
      insert next tuple (int):           | 0.1445310  | 0.0891607 |  38.31%
      insert tuple (double):             | 0.0601416  | 0.0664084 | -10.42%
      insert tuple (int):                | 0.0558483  | 0.0630196 | -12.84%
      interpolate 2 arrays (double):     | 0.0108466  | 0.0028245 |  73.96%
      interpolate 2 arrays (int):        | 0.0114603  | 0.0028706 |  74.95%
      interpolate 6 tuples (double):     | 0.0087588  | 0.0055686 |  36.42%
      interpolate 6 tuples (int):        | 0.0133066  | 0.0092156 |  30.74%
      
      The insert tuple operation used to just call memcpy, but now it has to
      perform some additional type checking, hence the slowdown.
      
      Change-Id: I1d45f2b998d74257a4e1d917e8b01b60fa6ef4e1
      b037ed03
  11. 19 Sep, 2013 1 commit
    • David C. Lonie's avatar
      Remove constructor argument from array classes. · a8247f0a
      David C. Lonie authored
      This is not used anymore, and is causing issues with
      vtkTypeTemplate.
      
      Also cleaned up some constructors to avoid re-initializing
      members from base classes and ensure that all members are
      initialized.
      
      Change-Id: I103365211ce8289c2f5a5fdb05ccb5126a8fc0e0
      a8247f0a
  12. 18 Aug, 2013 1 commit
    • Sean McBride's avatar
      Fixed null dereference · cd4d9a31
      Sean McBride authored
      DeepCopy() does SetLookupTable(0), and with a null parameter,
      it would dereferenced null.  Fixed by adding null check.
      Found by clang static analyzer.
      
      Change-Id: I53272a229bd4096f6631ff66f794bf0abb1f8088
      cd4d9a31
  13. 23 Apr, 2013 1 commit
    • David Gobbi's avatar
      Clamp integer scalars in InterpolateTuple(). · 8c73f97f
      David Gobbi authored
      The InterpolateTuple() function was seeing an integer overflow
      when used from vtkButterflySubdivisionFilter, and probably had
      undetected overflow issues elsewhere.  Adding a clamp to the
      interpolation code for integer types protects against overflow.
      
      Change-Id: Ibd6ab7f79d514dbb9ea2d055cc299273b7490f7b
      8c73f97f
  14. 31 Mar, 2013 2 commits
  15. 13 Mar, 2013 1 commit
    • Kyle Lutz's avatar
      Make vtkDataArray::ComputeRange() thread-safe · 51f66a47
      Kyle Lutz authored
      This changes the vtkDataArray::ComputeRange() method to be thread-
      safe by passing it the range array rather than having it set the
      internal 'this->Range' variable.
      
      This also updates GetRange() to use the thread-safe API.
      
      Change-Id: Ieb281e26f8f0b6a1f521176294d388e026ad0865
      51f66a47
  16. 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 the component number.
      
      Unique values are cached in the `vtkInformation` associated with the array.
      This commit also adds 2 new key types: one for storing `vtkVariant`
      objects as values, and another for storing vectors of variants.
      A variant vector is used to store unique tuples and unique component values.
      
      Change-Id: I241cf61372966bba381eb28d14bdc043a54ba197
      1df5d6a2
  17. 09 Apr, 2012 2 commits
    • VTK Developers's avatar
      Remove trailing whitespace from all source files · 2d323fc4
      VTK Developers authored
      Exclude ThirdParty, Utilities/MetaIO, and Utilities/KWSys as these
      are maintained outside VTK.
      
      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>
      2d323fc4
    • 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
  18. 07 Mar, 2012 1 commit
    • Kyle Lutz's avatar
      Fix misspellings in VTK/Common · c162ad48
      Kyle Lutz authored
      This fixes a number of misspellings in the comments of
      the source files in VTK/Common. The misspellings were
      found using the codespell tool.
      
      Change-Id: I0ca092e5a0aaa13e2b72e8c3db0e91f72c016e4d
      c162ad48
  19. 24 Feb, 2011 1 commit
  20. 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
  21. 18 May, 2010 1 commit
    • David Gobbi's avatar
      ENH: Add DataArrayTemplate GetValueRange() to return range in native type · affe1dc3
      David Gobbi authored
      The vtkDataArray::GetRange() method returns doubles, which have less
      precision than the 64-bit integer types.  To get the range in the
      native type, the following methods have been added to the subclasses
      of vtkDataArray that use vtkDataArrayTemplate:
       T *GetValueRange(), void GetValueRange(T [2]), GetDataTypeValueRange(T [2])
       T GetDataTypeValueMin(), T GetDataTypeValueMax()
      affe1dc3
  22. 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
  23. 12 Mar, 2009 1 commit
  24. 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
  25. 11 Oct, 2007 2 commits
  26. 12 Sep, 2007 1 commit
  27. 11 May, 2007 2 commits
  28. 10 May, 2007 4 commits