1. 08 Jul, 2016 1 commit
    • Sean McBride's avatar
      Hoist _snprintf hack up to vtkConfigure.h · 33a743d2
      Sean McBride authored
      Since VS 2015 now supports proper snprintf,
      VTK can just start using it anywhere as normal
      with the workaround moved to vtkConfigure.h.
      
      One day the pre-VS2015 workaround can be removed.
      33a743d2
  2. 22 Jun, 2016 1 commit
    • Andrew Maclean's avatar
      std::auto_ptr is marked deprecated in C++11/14 and will be removed in C++17. · 831def7a
      Andrew Maclean authored
      This fix selects std::unique_ptr when the compiler is identified as being C++11
       compliant.
      
      To ensure the compiler is C++11 compliant or better, __cplusplus, _MSC_VER and
      _CPPLIB_VER are tested.
      _MSC_VER is used since Microsoft compilers still use 19711L
       as the __cplusplus value.
      _CPPLIB_VER is used to test for better Dinkumware support.
      
      The variable VTK_HAS_STD_UNIQUE_PTR is defined if std::unique_ptr is available.
      831def7a
  3. 22 Mar, 2016 1 commit
  4. 08 Mar, 2016 1 commit
  5. 03 Mar, 2016 2 commits
    • David C. Lonie's avatar
      Add compiler detection, VTK_ASSUME. · 2a72d697
      David C. Lonie authored
      VTK_ASSUME can be used to provide optimization hints to
      the compiler by specifying that certain non-obvious
      conditions are true.
      
      This is especially useful for fixing the number of components
      in an array; if an array is known to have 3 components, adding
      
      VTK_ASSUME(array->GetNumberOfComponents() == 3);
      
      can allow the compiler to perform advanced loop unrolling and
      vectorization in certain cases.
      2a72d697
    • David C. Lonie's avatar
      Add ArrayDispatch implementations. · f7bd07b1
      David C. Lonie authored
      vtkArrayDispatch:
      Multiarray, restricted alternatives to vtkTemplateMacro.
      
      vtkTypeList:
      TypeList implementation and tools.
      
      vtkCreateArrayDispatchArrayList.cmake:
      Creates a list of 'default' arrays used during dispatch. This
      can be modified to restrict the considered arrays and thus reduce
      binary size.
      
      vtkCreateTypeListMacros.cmake:
      Create the macros used to build TypeLists.
      f7bd07b1
  6. 10 Feb, 2016 1 commit
  7. 14 Dec, 2015 1 commit
  8. 09 Dec, 2015 1 commit
  9. 08 Dec, 2015 2 commits
    • Brad King's avatar
      Drop support for compilers without `long long` · 3b89e771
      Brad King authored
      VTK no longer supports any compilers that do not provide this type.
      Therefore all code conditional on VTK_TYPE_USE_LONG_LONG can be made
      unconditional.  Leave the macro defined to tell dependent projects that
      APIs using the type are available in case they still support versions of
      VTK that make it conditional.
      3b89e771
    • Brad King's avatar
      Drop support for compilers with `__int64` as the only 64-bit int · 36bb09a7
      Brad King authored
      VTK no longer supports any compilers that have `__int64` but not a
      `long` or `long long` that is 64-bit.  Therefore all code that is
      conditional on VTK_TYPE_USE___INT64 is never used and can be dropped.
      36bb09a7
  10. 20 Nov, 2015 1 commit
    • Shawn Waldon's avatar
      Add detection of c++11 compiler support · 41be444f
      Shawn Waldon authored
      This commit adds the VTK_USE_CXX11_FEATURES variable for newer versions
      of CMake (>=3.3).  This turns on target_compile_features for override,
      final and nullptr on vtkCommonCore and adds a detection header to create
      macros for these for use throughout VTK.  VTK_OVERRIDE, VTK_NULLPTR and
      VTK_FINAL can now be used.  This new header is included in
      vtkConfigure.h so these should be available everywhere.
      41be444f
  11. 30 Oct, 2015 6 commits
  12. 17 Jun, 2015 1 commit
    • Sean McBride's avatar
      Restored support for Apple gcc 4.2 · c0f64bbb
      Sean McBride authored
      Partially reverted 9285a6b1
      to restore support for Apple fork of gcc 4.2.
      The comment said the workaround was for older than
      gcc 4.1, but the comment was either wrong, or Apple’s
      fork of gcc was special.  Updated comment.
      c0f64bbb
  13. 10 Jun, 2015 2 commits
  14. 04 May, 2015 1 commit
  15. 28 Apr, 2015 1 commit
    • Sujin Philip's avatar
      Improvements to vtkAtomicInt · 78a5fff0
      Sujin Philip authored
      1] Added support for any 32-bit or 64-bit, signed or unsigned integers and pointer types
      2] Made the interface consistent accross different implementations
      78a5fff0
  16. 05 Apr, 2015 1 commit
    • Bill Lorensen's avatar
      ENH: define VTK_MAXPATH · d8ae26c8
      Bill Lorensen authored
      VTK classes that define filenames at compile time do not specify a
      consistent length. This patch uses the logic in kwsys to define
      VTK_MAXPATH. A number of files have been identified that specify a
      variety of maximum path lengths. This defined constant should be used
      in future classes that allocate filenames at complie time.
      
      Maximum path lengths are not well defined in general. Even though some
      systems define a maximum, they may still allow longer path names. The
      purpose here is to provide a consistent value for VTK. However, this
      is no less flawed than than current practices.
      d8ae26c8
  17. 18 Dec, 2014 1 commit
  18. 23 Aug, 2013 1 commit
    • Berk Geveci's avatar
      Cleaned up and fixed 64 bit atomic handling. · 7a6d18a1
      Berk Geveci authored
      The logic for which 32 bit OS has an atomic operation is somewhat
      complex and was breaking on PPC Apples. Hopefully, this fixes it
      and cleans the code a bit.
      
      Change-Id: Ie288b732e2bb47c9fc90f3621d852e784ec52ff1
      7a6d18a1
  19. 20 Aug, 2013 1 commit
    • Berk Geveci's avatar
      Various fixes to make atomic ints compile on older platforms. · 9549a06d
      Berk Geveci authored
      Some of the functions I used do not exist on older platforms
      (Windows XP and Mac PPC). Added checks and switched to using
      critical sections when the atomic functions do not exist.
      The performance on these older systems is not going to be good
      when using atomic functions.
      
      Change-Id: Idee6d35199f036061036e66926f20fb2e5d2088c
      9549a06d
  20. 19 Aug, 2013 1 commit
    • Berk Geveci's avatar
      Added support for atomic integers. · cc8540d1
      Berk Geveci authored
      As a first step of a SMP (symmetric multiprocessing)
      infrastructure, I added a set of atomic integer
      classes. Currently, there are backends of system
      specific implementation (Sequential), OpenMP, Intel
      TBB and Inria's X-Kaapi.
      
      Change-Id: Ie606ef9202f9588616a0b5412123512ffe536be6
      cc8540d1
  21. 25 Feb, 2013 1 commit
    • Sean McBride's avatar
      Removed obsolete checks for compiler 'bool' support · 6bc6866a
      Sean McBride authored
      As VTK 6 has dropped support for antique compilers, surely we can assume 'bool' exists in 2013.
      Removed VTK_COMPILER_HAS_BOOL checks.  Kept vtkstd_bool with VTK_LEGACY_REMOVE.
      
      Change-Id: I5ae1143eb78470307cf2a5ba5ff8fa77403d4b4d
      6bc6866a
  22. 04 Sep, 2012 1 commit
    • David Gobbi's avatar
      Get the modularized Rendering/Tk working with Python and OS X. · 3f32fb6c
      David Gobbi authored
      Clean up some of the CMake configuration for Tk.  For example, no
      Tk configuration belongs in Common/Core anymore.  TK configuration
      has been moved to ThirdParty/TclTk, which is now a dependency of
      both Rendering/Tk and Wrapping/Tcl.
      
      Remove vtkCommonCoreTCL from vtkRenderingPythonTkWidgets link, the
      Python/Tk connection does not require the Tcl wrappers at all.
      
      Change-Id: Ib869e6d89e7ea04294e1ab271aec3319d033a9fc
      3f32fb6c
  23. 10 May, 2012 2 commits
    • Marcus D. Hanwell's avatar
      Created new vtk*NewMacros to replace some factories · 98ddb3e1
      Marcus D. Hanwell authored
      Factored the vtkStandardNewMacro into a VTK_STANDARD_NEW_BODY macro and
      a vtkStandardNewMacro. Also introduced vtkObjectFactoryNewMacro and
      vtkAbstractObjectFactoryNewMacro in order to replace the functionality
      present in some of the hard coded factories remaining from before VTK
      modularization.
      
      The vtkObjectFactoryNewMacro does what the vtkStandardNewMacro did
      previously (and will continue to do if the VTK_ALL_NEW_OBJECT_FACTORY
      option is turned on) - use the object factory override of the new method
      of the class. The vtkAbstractObjectFactoryNewMacro will attempt to
      return a class from the vtkObjectFactory::CreateInstance method, or
      return NULL if there are no overrides, i.e. the behavior of the
      vtkGraphicsFactory which is necesasary for abstract base classes like
      vtkRenderWindow.
      
      The VTK_ALL_NEW_OBJECT_FACTORY method allows VTK to be compiled with the
      previous behavior of all New methods using the object factory. A new
      static method was added to vtkObjectFactory largely for pragmatic
      reasons - all of those implementations already include vtkObjectFactory
      but not vtkDebugLeaks and so this reduces the change necessary to still
      work with VTK_DEBUG_LEAKS when that option is on.
      
      Change-Id: I06f713d70fc6d97ae086186c424a78f524592a4d
      98ddb3e1
    • Brad King's avatar
      Remove compatibility with non-standard C++ streams · 3279f44d
      Brad King authored
      Remove test for VTK_USE_ANSI_STDLIB and assume availability.  VTK no
      longer supports C++ compilers without standard streams.  Define
      VTK_USE_ANSI_STDLIB if VTK_LEGACY_REMOVE is OFF so applications that
      test for it see the definition.
      
      Change-Id: Ief0c47e8f720754db1916a96f6ed012aa0d8555e
      3279f44d
  24. 20 Apr, 2012 1 commit
    • Brad King's avatar
      Refactor VTK version handling · ebf6777d
      Brad King authored
      Move VTK_(MAJOR|MINOR|BUILD)_VERSION out of "CMakeLists.txt" into
      dedicated file "CMake/vtkVersion.cmake".  Move the preprocessor macros
      from "vtkConfigure.h" to new configured header "vtkVersionMacros.h".
      This avoids rebuilding everything when the version number changes.
      Include the new header from the old location to provide the macros for
      compatibility unless VTK_LEGACY_REMOVE is ON.
      
      Define the BUILD version to be a date during development and the patch
      level for releases (or during preparation of one as we are currently).
      The CMake package version file (VTKConfigVersion.cmake) already does
      this so make the C++-presented version consistent with it.  Add a
      "CMake/vtkVersion.bash" script to help a nightly robot update the build
      version when it is a date.  This replaces KWSys DateStamp for VTK.
      
      Compile the wrapping parser with only the major and minor version number
      components instead of the full version number.  This avoids causing a
      full rebuild of all wrappers whenever the build version component
      changes.  The wrapper only needs the version to provide its --version
      option anyway.
      
      Teach the documentation generation scripts to extract the VTK version
      numbers from the new version file.  Drop the separate revision file
      infrastructure because everything is now in one version file.
      
      Also remove unused file CMake/VTKVersionMacros.cmake.
      
      Change-Id: If988b32c738e6161237f7e3edaff49e75cb15b25
      ebf6777d
  25. 09 Apr, 2012 3 commits
    • Marcus D. Hanwell's avatar
      Removed Boost, R, QT and N-Way from vtkConfigure.h · 2cad2031
      Marcus D. Hanwell authored
      The defines belong in the individual modules, N_WAY_ARRAYS isn't needed
      any longer. The Boost variable is only used in Infovis classes, Qt is in
      a few places that must be fixed and R is only in one module.
      
      Change-Id: Ib61d21629473882f67df6c64c3190605a45e6597
      2cad2031
    • VTK Developers's avatar
      Add modular VTK build system · 0c1471f1
      VTK Developers authored
      Add module.cmake, CMakeLists.txt, and other build system files.
      
      The modular VTK build system is not yet mature.  The monolithic build
      files had a lot of infrastructure.  The modular build files reproduce
      much of the functionality but some features will need to be restored
      later.  Document status and tasks in "TODO-Modularization.txt".
      
      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>
      0c1471f1
    • 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
  26. 02 Mar, 2012 1 commit
  27. 23 Feb, 2012 1 commit
  28. 21 Feb, 2012 1 commit
    • Brad King's avatar
      Replace 'vtkstd_bool' with plain 'bool' · 45271c3e
      Brad King authored
      We no longer support compilers that do not provide 'bool'.
      Do not define vtkstd_bool at all if VTK_LEGACE_REMOVE is on.
      
      Change-Id: I65c87a417fb144c9b4d76a0609b607f3d9fe9468
      45271c3e
  29. 14 Dec, 2011 1 commit
    • Marcus D. Hanwell's avatar
      ENH: Do not generate vtkstd if VTK_LEGACE_REMOVE is on · 612daeb9
      Marcus D. Hanwell authored
      Using the standard VTK_LEGACY_REMOVE mechanism to deprecate these, and
      wrapping the definition of the vtkstd namespace in the standard ifdef
      block. The generation of vtkstd should be completely removed in VTK 6.0.
      
      If you still need vtkstd do not turn on VTK_LEGACY_REMOVE. This will
      certainly be required by several other applications such as ParaView and
      Slicer until they also remove their use of vtkstd.
      
      Change-Id: I1dc2e4a6ff0aa98cbd6bd6e0dd054510ba00b7d5
      612daeb9