Updates will be applied - 12:30pm EDT (UTC -400). Site will be down for around 30

  1. 27 Apr, 2017 40 commits
  2. 28 Mar, 2017 40 commits
  3. 22 Mar, 2017 40 commits
  4. 19 Mar, 2017 40 commits
  5. 14 Mar, 2017 40 commits
  6. 23 Feb, 2017 40 commits
  7. 10 Jan, 2017 40 commits
    • Sean McBride's avatar
      Fixed null deref found by cppcheck 1.77 · 198ca4ee
      Sean McBride authored
      Made strcmp_null do what its comments say.
      
      cppcheck warned:
      
      nullPointerRedundantCheck  Filters/Core/Testing/Cxx/TestAppendFilter.cxx:294  Either the condition 'attributeArrayName?attributeArrayName:"(null)"' is redundant or there is possible null pointer dereference: s2.
      198ca4ee
  8. 05 Jan, 2017 40 commits
    • Alexis Girault's avatar
      Implement vtkPolygonalMeshPointNormals · 600e728d
      Alexis Girault authored
      vtkTriangleMeshPointNormals is a filter that computes point normals for
      a triangle mesh to enable high-performance rendering. It is a fast-path
      version of the vtkPolyDataNormals filter in order to be able to compute
      normals for triangle meshes deforming rapidly.
      
      The computed normals (a vtkFloatArray) are set to be the active normals
      (using SetNormals()) of the PointData. The array name is "Normals", so
      they can be retrieved either with `output->GetPointData()->GetNormals()`
      or with `output->GetPointData()->GetArray("Normals")`.
      
      The algorithm works by determining normals for each triangle and adding
      these vectors to the triangle points. The resulting vectors at each
      point are then normalized.
      
      @warning
      Normals are computed only for triangular polygons: the filter can not
      handle meshes with other types of cells (Verts, Lines, Strips) or Polys
      with the wrong number of components (not equal to 3).
      
      @warning
      Unlike the vtkPolyDataNormals filter, this filter does not apply any
      splitting nor checks for cell orientation consistency in order to speed
      up the computation. Moreover, normals are not calculated the exact same
      way as the vtkPolyDataNormals filter since the triangle normals are not
      normalized before being added to the point normals: those cell normals
      are therefore weighted by the triangle area. This is not more nor less
      correct than normalizing them before adding them, but it is much faster.
      
      @sa
      If you do not need to do high-performance rendering, you should use
      vtkPolyDataNormals if your mesh is not only triangular, if you need to
      split vertices at sharp edges, or if you need to check that the cell
      orientations are consistent to flip inverted normals.
      
      @sa
      If you still need high-performance rendering but your input polydata is
      not a triangular mesh and/or does not have consistent cell orientations
      (causing inverted normals), you can still use this filter by using
      vtkTriangleFilter and/or vtkCleanPolyData respectively beforehand. If
      your mesh is deforming rapidly, you should be deforming the output mesh
      of those two filters instead in order to only run them once.
      
      
      This filter was implemented for a real-time simulation application
      where a mesh vertices are deforming at every frame. With 110k points,
      the framerates were the following:
      - 100 fps with no normals computation
      - 5 fps with vtkPolyDataNormals with default options
      - 15 fps with vtkPolyDataNormals with SplittingOff & ConsistencyOff
      - 80 fps with vtkPolygonalMeshPointNormals
      This is an improvement of 5 to 16 times faster for that use case.
      
      Note: for high-performance rendering of deformable meshes, two
      other improvements can be made to boost the performance:
      - skip frustrum culling
      ```
      renderer->RemoveCuller(renderer->GetCullers()->GetLastItem());
      ```
      - skip auto shift & scale of VBO:
      ```
      openglmapper->SetVBOShiftScaleMethod(vtkOpenGLVertexBufferObject::DISABLE_SHIFT_SCALE);
      ```
      Those two changes allow to skip calling `GetBounds()`, which requires
      to recompute the bounds at each frame. This brings the framerate from
      80 fps to 200 fps.
      600e728d
  9. 02 Jan, 2017 40 commits
  10. 22 Dec, 2016 40 commits
  11. 20 Dec, 2016 40 commits
    • Bill Lorensen's avatar
      ENH: Unify error/warning testing · a5fd4df3
      Bill Lorensen authored
      CHECK_ERROR_MSG and CHECK_WARNING_MSG are used to check the
      content of error and warning messages. Error and warning code is often
      overlooked during testing. Over the years, these two macros have been
      refined to increase their utility. Tests that use the macros defined
      their own interpretations. Three different API's have been used in the
      macros.
      
      This patch replaces the CHECK_ERROR_MSG and CHECK_WARNING_MSG macros
      with methods for vtkTest::ErrorObserver.  All tests that used the
      CHECK macros in one form or another have been updated to use the
      CheckErrorMessage and CheckWarningMessage methods.
      a5fd4df3
  12. 19 Dec, 2016 40 commits
  13. 29 Nov, 2016 40 commits
  14. 25 Oct, 2016 40 commits
  15. 23 Sep, 2016 40 commits
    • Kitware Robot's avatar
      Reindent using the reindentation script. · f830ff47
      Kitware Robot authored
      This commit reindents the code with the following utility:
      Utilities/Maintenance/vtk-reindent-code.py
      
      This utility changes the positions of the braces so that they are no
      longer indented relative to the code block they reside in.
      
      The bash command line used was the following:
      
      for d in Charts Common Deprecated Domains Examples Filters GUISupport \
               Geovis IO Imaging Infovis Interaction Parallel Rendering \
               Testing Views Web Wrapping; do
        for e in cxx cxx.in txx txx.in hxx hxx.in h h.in c c.in; do
          find "${d}" -name "*.${e}" -exec \
            python Utilities/Maintenance/vtk_reindent_code.py {} +
        done
      done
      f830ff47
  16. 19 Sep, 2016 40 commits
  17. 16 Sep, 2016 40 commits
  18. 14 Sep, 2016 40 commits
  19. 09 Sep, 2016 40 commits
  20. 06 Sep, 2016 40 commits
  21. 18 Aug, 2016 40 commits
  22. 11 Aug, 2016 40 commits
  23. 09 Aug, 2016 40 commits
    • T.J. Corona's avatar
      Add vtkBinCellDataFilter to VTK. · 6c64dd50
      T.J. Corona authored
      This commit introduces a new filter, vtkBinCellDataFilter, to VTK.
      vtkBinCellDataFilter takes a source mesh containing scalar cell data, an
      input mesh and a set of bin values and bins the source mesh's scalar cell
      data into the cells of the input mesh. The resulting output mesh is identical
      to the input mesh, with an additional cell data field, with tuple size equal
      to the number of bins + 1, that represents a histogram of the cell data
      values for all of the source cells whose centroid lie within the input cell.
      
      This filter is useful for analyzing the efficacy of an input mesh's ability
      to represent the cell data of the source mesh.
      6c64dd50
  24. 04 Aug, 2016 40 commits
  25. 28 Jul, 2016 40 commits
    • T.J. Corona's avatar
      Add vtkUnstructuredGridQuadricDecimation. · 4665a1b9
      T.J. Corona authored
      vtkUnstructuredGridQuadricDecimation is a filter that decimates pure
      tetrahedral meshes. This version is minimally modified from its original
      implementation by H. T. Vo, which is described in "Streaming Simplification
      of Tetrahedral Meshes" by H. T. Vo, S. P. Callahan, P. Lindstrom, V.
      Pascucci and C. T. Silva, IEEE Transactions on Visualization and Computer
      Graphics, 13(1):145-155, 2007.
      4665a1b9
  26. 20 Jul, 2016 40 commits
  27. 06 Jul, 2016 40 commits
  28. 06 May, 2016 40 commits
    • David C. Lonie's avatar
      Replace SafeDownCast calls on arrays with vtkArrayDownCast. · 0d71a308
      David C. Lonie authored
      SafeDownCast performs a series of virtual calls and string comparisons,
      which is quite slow, especially when used in worker functions.
      
      vtkArrayDownCast will switch between SafeDownCast and the more
      efficient FastDownCast (only available for common vtkAbstractArray
      subclasses) depending on whether or not FastDownCast is defined for
      the specific array type.
      0d71a308
  29. 11 Mar, 2016 40 commits
  30. 08 Mar, 2016 40 commits
  31. 05 Mar, 2016 40 commits
    • Will Schroeder's avatar
      Flying edges plane cutter interpolates attributes · 3bd159a4
      Will Schroeder authored
      The flying edges plane cutter is now interpolating point
      attribute data on request (enable InterpolateAttributes).
      
      Some additional tweaks were made to avoid interpolating the scalar
      data twice, since the scalar interpolation path overlaps the
      general interpolate attributes path.
      3bd159a4
  32. 04 Mar, 2016 40 commits
  33. 03 Mar, 2016 40 commits
    • David C. Lonie's avatar
      Refactor data array APIs. · 893fb6ed
      David C. Lonie authored
      vtkDataArray subclasses now use
      
      ComponentValue --> TypedComponent
      TupleValue --> TypedValue
      
      for their type-specific methods.
      
      # Conflicts:
      #	Rendering/Annotation/vtkScalarBarActor.cxx
      893fb6ed
  34. 22 Feb, 2016 40 commits
  35. 19 Feb, 2016 40 commits