1. 20 Sep, 2016 1 commit
  2. 12 Sep, 2016 1 commit
    • Haocheng LIU's avatar
      Rewrite all public&private dependency in module.cmake file · 6e113ad4
      Haocheng LIU authored
      The current dependency relationship in vtk is unclear and misleading.
      This MR tries to rewrite them based on header files inclusion of headers
      and source files in each module. Corner cases are considered and
      modules are sorted in alphabetical order to facilitate future reference.
      See details in my gitlab python based script project. In future we can continue
      using this script to clean the VTK Dependency easily from
      time to time.
  3. 29 Aug, 2016 1 commit
  4. 22 Aug, 2016 1 commit
  5. 19 Aug, 2016 1 commit
    • Bill Lorensen's avatar
      ENH: Introduce vtkMTimeType · 9333d9d1
      Bill Lorensen authored
      This is a fix for:
      Windows applications that run for a long time report that rendered
      objects do not change. This is because the modified time on a Windows
      system is 32 bits. This causes overflows that defeat the modified time
      mechanism. This patch defines a new type, vtkMTimeType that is 64
      unsigned integer regardless of the architecture.
      A mechanism to provide backward compatibility is introduced. The
      preprocessor define "VTK_HAS_MTIME_TYPE" can be used in applications
      that must build against VTK versions that use the "unsigned long" type
      for MTime's.
      Methodology used to find MTime occurences:
      1) Identify files as follows:
         git grep "unsigned long" | grep ime | cut -d":" -f1,1 | sort | uniq
      2) Hand edit each of those files replacing "unsigned long" with
         "vtkMTimeType" where appropriate.
      3) Temporarily change typedef for vtkMTimeType to "double" to detect
         missing conversions
  6. 18 Aug, 2016 1 commit
  7. 15 Aug, 2016 1 commit
  8. 11 Aug, 2016 1 commit
  9. 04 Aug, 2016 2 commits
  10. 03 Aug, 2016 2 commits
  11. 07 Jul, 2016 3 commits
    • Sean McBride's avatar
      Applied VTK_DELETE_FUNCTION to last few places · 29e423b8
      Sean McBride authored
      Find/replace of:
      ;[ ]*//\s*Not implemented[\.]*
      To catch a few remaining ones missed by previous greps.
      Manually reverted changed files in VPIC and KWSys folders, and a couple other of places.
    • Sean McBride's avatar
      Applied VTK_DELETE_FUNCTION to many constructors · 1853e030
      Sean McBride authored
      vtk(.*)\(const vtk\1&\);\s*//\s*Not implemented[\.]*
      vtk\1(const vtk\1\&) VTK_DELETE_FUNCTION;
      vtk(.*)\(const vtk\1 &\);\s*//\s*Not implemented[\.]*
      vtk\1(const vtk\1 \&) VTK_DELETE_FUNCTION;
      vtk(.*)\( const vtk\1 & \);\s*//\s*Not implemented[\.]*
      vtk\1( const vtk\1 \& ) VTK_DELETE_FUNCTION;
      vtk(.*)\( const vtk\1& \);\s*//\s*Not implemented[\.]*
      vtk\1( const vtk\1\& ) VTK_DELETE_FUNCTION;
      vtk(.*) \(const vtk\1&\);\s*//\s*Not implemented[\.]*
      vtk\1 (const vtk\1\&) VTK_DELETE_FUNCTION;
    • Sean McBride's avatar
      Applied VTK_DELETE_FUNCTION for operator= · 2d0e11ef
      Sean McBride authored
      After that, this finds basically nothing:
      then manually reverted changed files in VPIC and KWSys folders.
  12. 06 Jul, 2016 2 commits
  13. 20 Jun, 2016 1 commit
    • Dan Lipsa's avatar
      BUG #16744: Resources are not removed for a renderer removed from the window. · d560ec83
      Dan Lipsa authored
      A loop where the render window is kept around and everything in the pipeline is removed
      and added at the next iteration leaks memory, in OpenGL, linux. For the OpenGL2 backend same
      loop does not leak.
      Two problems were fixed. First ReleaseGraphicsResources was not called when
      a renderer was removed from a render window. Second, for a offscreen render window
      Mapped was set to 0, which meant that no resources were released.
  14. 25 May, 2016 1 commit
    • Kitware Robot's avatar
      Remove all BTX and ETX markers from VTK headers · 4d127b1d
      Kitware Robot authored and David Gobbi's avatar David Gobbi committed
      Perl was used to remove all the BTX and ETX markers from the code.
      The specific command that was run on all "vtk*.h" files was this:
          perl -0777 -i -pe 's/(\n* *\/\/ *[BE]TX *\n+)+/\n\n/g'
      This regex replaces each BTX/ETX line, plus any leading or trailing
      blank lines, with a single blank line.
  15. 18 May, 2016 1 commit
  16. 16 May, 2016 1 commit
  17. 06 May, 2016 1 commit
    • 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.
  18. 26 Apr, 2016 2 commits
  19. 06 Apr, 2016 1 commit
  20. 01 Apr, 2016 3 commits
  21. 24 Mar, 2016 1 commit
    • David DeMarle's avatar
      Flesh out ospray rendering and scene graph · c5a51d13
      David DeMarle authored
      make ospray pass create the scene graph so user doesn't have to
      move ospray specific controls to ivars on ospraynodes
      Improve caching
      Now we cache what we can but not so much that we
      fail time, or dynamic, or actor hiding. Also prevent double
      delete on actor hiding and style
      no special access just for ospray
      Access to scenegraph view node would probably be OK.
      make sure we get cell colors right for arbitrary polygons
      using a reverse index from triangulated (or cylindered or pointed)
      output cell back to input vtk cell. The output cells are homogenous
      but the input cells aren't necessarily.
      quad 0 -> tri 0 : rindex 0
                tri 1 : rindex 0
      tri 1  -> tri 2 : rindex 0
      color 0 -> color 0,1
      color 1 -> color 2
      flesh out point size and line width controls
      Now user chosen pointsize and linewidth on mapper matter.
      Also, user can designate a point aligned array to vary elements individually
      and user can provide a lookuptable to manipulate those values arbitrarily.
      In all cases there is an additional scaling control for fine tuning.
      start to clean up actor to ospray translation
      just use c++ new and remove embree calls to simplify
      a single namespace for helpers
      more logical flow for readability
      Fix image space transformations
      Also flesh out the implicits test and remove the related check from
      render mesh now that it has its own test.
      Fix some subtle bugs in caching.
      Moved cache of ospray objects out to composite level. Would be nice to
      cache indiviual blocks but the way I did it before was broken.
      In process I found and fixed a bug regarding normals.
      more cleanup actor to ospray translation and fix line sizing
      was using wrong index into point value for line size, also changed
      to use average of values at endpoints instead of first value
      Also promote large chunks of the conversion process to the scenegraph level
      because it is reusable. That and cleanup the ospray actor a lot.
      move light vector out to renderer to allow multiple lights
      also, just say no to c style casts.
      toward consistent API for setting ospray specific state
      The plan is for the scenegraph level to be restricted to read only
      access to rendering/core state. Since backend specific classes are
      hard to get a hold of (created late), options for them go into
      information objects on the core classes. There will be setters/getters
      on the backend classes though to make it easier to set them in the
      case where you have access.
      Fix multiple lights and add a test for lights
      Make a consistent API for setting options that affect ospray.
      fine tune lighting
      lights now obey intensity and switch and color range is closer for
      positional and directional lights. positional are still much
      brighter for some reason so I've kludged in a 1/5 factor to make them
      actor colors obey diffuse and specular multipliers now and cell
      aligned color maps now repect opacity and specularity. not sure if
      I'll make point aligned colors do the same just yet since not
      doing so saves space and keeps rgb and val interpolated consistent and
      doesn't require changes to ospray to make texture materials respect them.
      The key thing I understand now is that ospray does colors with
      everything 0..1 except texture maps, which go 0..255.
      Interesting to note that Ospray images are whiter than GL counterparts
      when ambient occlusion enabled.
      SceneGraph is not ready for default on, so take it out of rendering group.
      Bunch of compiler warnings.
      The collection iterator remove actor in loop change was important.
      Don't know yet why implicits don't work on windows, otherwise in pretty good
      shape as rest of tests pass. cmake find and ospray version
      include need more work.
      fix inconsistent background clearing
      testdynamicobject was wrong before this, as was GL2 and interactive
      camera motion. First would have nonsensical bckground, second would
      Remove implicit SCALE hack and add a light Intensity hack.
      Mapper SCALE is not needed since pointsize and linewidth are doubles
      not integers in modern paraview. Add a light multiplier, applied to
      ALL lights, for ParaView because with 6 double sided lights, the
      default is too bright.
      guard against actor without mapper and get scalars for multiblock
      enable block colors and improve implicit colors and sizes
      We now handle block visibility, opacity and color.
      Fixed a case of always black implicits for paraview.
      Added a new control that by default disables implicit scaling.
      improve caching
      had some cases where it would not rebuild when it needed to.
      One was in paraview when changing colormap variable.
      Confine ospray to a renderer instead of a renderwindow
      Makes for easier interoperability with GL layers.
      Fix lighting and multiple layers
      Now that we are using the lights pass (and we should so that
      we update camera positions) it exposed a bug where the default
      created camera was not actually removed from the Renderer's light
      collection. As a result, ospray renderings added duplicate default
      lights and the images became washed out.
      Also, added back in compositing of ospray layers which used to
      happen and the ospraywindownode level. TODO: add a compositeRGB
      call to renderwindow to do it nicely.
      update ospray to only build MPI test when supported
      Removed the dependence on MPI and replaced it with a
      conditional. If parallel and MPI are already on then
      it will include the MPI based ospray tests and the
      required libs and includes
      move actor code down to mappers
      introduce mapperNodes to do the bulk of the work
      also some cleanup to the updating children code
      bunch more changes for mapper
      more mapper related changes
      fixes and resolve restore some missed features
      Was a reference leak in parent, use weakpointer to fix
      Need another mapper override for OpenGL1
      HeaderTest fix
      minor Style //---'s per vtk style guide
      added back the use ambient color fallback and a handful of other
      features that were in actornode only after start of move to mappernode
      Fix scalar colors with multiblock data.
      Before it would reuse block0's color arrays for block1 and the
      result would be wrong.
      Fill in per block and from field data color paths
      Restore window node, move compositing to pass, cleanup traversal
      This also implies that you could render without
      even having opengl. Added a test for the windownode entry point.
      Moved some of the compositing code into the pass. The idea
      being that if you are building with OpenGL then you would
      also build ospraypass. Otherwise you would not. The other classes
      should not require a OpenGL implementation. Only the pass.
      Changed the traversal implementation so that each step gets called
      both before and after its decendents. This is implemented with a
      prepass argument that is true before the decendents and false after.
      Removed the YYYSelf() methods.
      Removed most the ORender methods as they were a tad confusing.
      Converted some ospray specific subclasses to just implement
      Render() where before they had ORender.
      Fixed two bugs in the writelayer compositing code.
      Remove scenegraph's copies of state
      Going with direct access to renderable
      fix scenegraph test
      miscellaneous fixes
      Now specifying implicit scaling array by name rather than pointer.
      Made Mapper:ClearColorArrays() not modify the mapper because it
      disallows caching and is not necessary.
      Restored the use ambient when diffuse is not available behavior
      so that paraview point and cylinder representations look OK.
      Restores ability to have ospray layers not at layer 0.
      Re-enabled RenderPass::ClearLights to fix some GL1 tests.
      Fixed header test.
  22. 23 Mar, 2016 2 commits
  23. 22 Mar, 2016 1 commit
  24. 08 Mar, 2016 1 commit
  25. 03 Mar, 2016 1 commit
    • 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
  26. 22 Feb, 2016 2 commits
  27. 03 Feb, 2016 1 commit
    • Ken Martin's avatar
      reduce opengl2 module dependencies · 480822bf
      Ken Martin authored
      Reduce opengl2 dependencies in two ways
      first move a class that renderingcore depends on from
      filterExtraction to FiltersGeneral. FiltersExtraction pulls
      in a lot of other modules where FiltersGeneral does not.
      FiltersExtraction already depends on filtersGeneral so it
      should be backwards compatible.
      The second change is a new feature to allow a back implementation
      to be required or not. In this case gl2ps was originally required
      by OpenGl2 now it is optional. This required adding an option to
      the module code to specify when a backend implementation is required.
  28. 28 Jan, 2016 2 commits
  29. 21 Jan, 2016 1 commit
    • Joachim Pouderoux's avatar
      Fix the AdjustWindowRectForBorders function so correct window size is computed · d392ec33
      Joachim Pouderoux authored
      This function used to presume a window style used to compute the whole window
      size needed for a requested client frame size. The obtained client size of the
      window what finally not the one requested - thus the frame buffer was not of
      the size obtained by calling GetSize(), leading to problem when capturing
      image from the back buffer for instance.
      The current window style is now directly obtained using the related Win32 API
      function with the window hanle, ensuring a correct window rect computation.