Updates will be applied on October 27th between 12pm - 12:45pm EDT (UTC-0400). Gitlab may be slow during the maintenance window.

  1. 08 Jan, 2019 5 commits
    • David Gobbi's avatar
      Allow Python dependencies to give full path · 9a151cb7
      David Gobbi authored
      When a module is initialized, the 'depends' list for that module
      is now allowed to include the absolute path to each dependency,
      e.g. 'vtkmodule.vtkCommonCorePython'.
      9a151cb7
    • David Gobbi's avatar
      Fix PyTypeObject multiplicity (module boundaries). · ebf3ea08
      David Gobbi authored
      When the VTK Python extension modules are loaded more than once
      (e.g. by multiple Python interpreters in the same process), we
      must ignore any PyTypeObjects except for the ones from the first
      load.  This fixes crashes that started occurring when we moved
      the PyTypeObjects from the shared PythonD libraries into the
      Python modules themselves.
      ebf3ea08
    • David Gobbi's avatar
      Have vtkPythonUtil keep track of loaded modules. · 54631aac
      David Gobbi authored
      This way, if one module depends on another, then it can check if
      that module has already been imported before calling ImportModule.
      In this way, people can avoid the ImportModule call completely
      by calling "import" themselves inside their Python code, which
      allows them to import the modules from a specific location.
      54631aac
    • David Gobbi's avatar
      Make Python modules load their dependencies. · e0287f1a
      David Gobbi authored
      If one vtk-python module depends on others, then it should load
      those dependencies before doing anything else.
      e0287f1a
    • David Gobbi's avatar
      Get python superclasses with import. · bddb83eb
      David Gobbi authored
      If superclasses are linked via import, then it is no longer necessary
      for the dynamic linker to be able to find the superclass objects.
      This adds flexibility to the way the wrappers can be packaged.
      bddb83eb
  2. 08 Mar, 2018 1 commit
  3. 29 Nov, 2017 1 commit
  4. 13 Oct, 2017 1 commit
  5. 30 Aug, 2017 1 commit
  6. 08 Aug, 2017 1 commit
  7. 26 Jul, 2017 1 commit
    • Kitware Robot's avatar
      Replace many NULL and 0 occurances with nullptr · a855cab0
      Kitware Robot authored
      This topic is the result of running clang-tidy to
      modernize our usage of NULL and 0 to nullptr. It also
      includes some manual and semi manual changes where
      clang-tidy would not be expected to work (such as in
      comments, or classes not compiled on this build)
      
      There are definitely many comments and occurances that
      this topic misses that we will need to fix over time.
      a855cab0
  8. 08 Apr, 2017 1 commit
  9. 14 Mar, 2017 1 commit
  10. 23 Sep, 2016 1 commit
    • 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
  11. 25 May, 2016 1 commit
  12. 21 May, 2016 1 commit
  13. 08 Mar, 2016 1 commit
  14. 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
  15. 03 Dec, 2015 1 commit
  16. 20 Aug, 2015 1 commit
    • Brad King's avatar
      ENH: Remove use of include <vtksys/ios/*> and vtksys_ios::* · 3ae7dd3a
      Brad King authored
      We no longer need this compatibility layer for the compilers we support.
      Use the following commands to switch to standard header and namespace:
      
       git grep -l vtksys/ios/ | xargs sed -i 's|vtksys/ios/||'
       git grep -l vtksys_ios | xargs sed -i 's|vtksys_ios|std|g'
      3ae7dd3a
  17. 06 Aug, 2015 1 commit
    • David Gobbi's avatar
      Python API compatibility for py3k. · d3eb4043
      David Gobbi authored
      This is a large change that adds conditional compilation to support
      both python 2 and python 3.  The header vtkPythonCompatibility.h
      does a lot of the necessary work:
      1) PyInt is redefined to PyLong for py3k
      2) PyString is redefied to PyUnicode for py3k
      3) PyBytes is redefined to PyString for python 2
      d3eb4043
  18. 28 Jul, 2015 1 commit
  19. 26 Jul, 2015 3 commits
    • David Gobbi's avatar
      Simplify PyVTKClass struct by removing vtk_mangle. · d0d6e833
      David Gobbi authored
      The vtk_mangle member was exactly the same as the python name for
      the class, so it can be retrieved from the PyTypeObject.  I also
      renamed the vtk_cppname member to vtk_name and renamed its attrib
      to __vtkname__.  This attrib is what the VTK GetClassName() method
      returns.
      d0d6e833
    • David Gobbi's avatar
      Add the module to the tp_name member of every type. · 74de9b8c
      David Gobbi authored
      This is done according to the documentation for PyTypeObject. It
      allows python to correctly generate the __module__ attribute for
      extension types, which is needed by some python packaging systems.
      74de9b8c
    • David Gobbi's avatar
      Do type checking with type objects, not strings. · c14475e3
      David Gobbi authored
      There is no guarantee that tp_name is unique, and it would be bad
      if someone fooled the type checking by simply creating a new type
      with the same name as an existing type.
      c14475e3
  20. 23 Jul, 2015 4 commits
  21. 20 May, 2015 1 commit
    • Sujin Philip's avatar
      Change vtkAtomicInt to vtkAtomic · c342a011
      Sujin Philip authored
      Now that atomic operations are also supported for pointer types, rename vtkAtomicInt to vtkAtomic. Explicit typedefs are done for integer types in vtkAtomicTypes.h.
      c342a011
  22. 16 Mar, 2015 1 commit
  23. 01 Dec, 2014 1 commit
    • David Gobbi's avatar
      Avoid creating duplicate wrapped namespaces. · 3e100545
      David Gobbi authored
      In C++, the contents of a single namespace can be defined in more
      than one header.  We must allow for this when wrapping namespaces
      in python, by checking if the namespace has already been created.
      
      Change-Id: Ib64d0fad648cf597c59f3a67edcb9a165594fbf6
      3e100545
  24. 16 May, 2014 2 commits
    • Ben Boeckel's avatar
      python: add reference counting to the object map · 6db00fed
      Ben Boeckel authored
      Every time a VTK object is added to the map, it gains a reference count.
      However, when removing it again, it loses one reference then is removed
      from the map, preventing the other instances from removing their
      reference count.
      
      Change-Id: Ia206d153c7eb1cdeb9f34ff5966f091967759fb9
      6db00fed
    • Ben Boeckel's avatar
      python: use typedef names · c92ae442
      Ben Boeckel authored
      Change-Id: Ia3168927ae564db492868a51085128d041606eca
      c92ae442
  25. 10 Apr, 2014 1 commit
    • David Gobbi's avatar
      Fix a crash when deleting vtk-python objects. · cbd4884d
      David Gobbi authored
      This fixes a bug that has been present since commit 269cbea1 on Oct 16,
      2013 where deleting an object that had a DeleteEvent observer would cause
      a crash (the crash was only verified to occur on OS X).
      
      Change-Id: I89d7a9a6eff9ab11fdcd7291a42f47b9a8017091
      cbd4884d
  26. 15 Oct, 2013 1 commit
    • Ben Boeckel's avatar
      Use raw pointers as the map's keys · 269cbea1
      Ben Boeckel authored
      When a smart pointer is used as the key to a std::map, searching the map
      using a raw pointer is very error-prone since (prior to C++14), all
      std::map methods expect a key_type object to be created. To fix this, a
      raw pointer is used as the key and the smart pointer is stuffed into the
      value beside the Python object.
      
      This is a latent bug that could be triggered by using
      GetObjectFromPointer which it appears as though only SIP bindings, and
      ParaView Qt stuff ever used.
      
      Change-Id: I42cba81053908befe2c1eb4cbdb1fea676b79ce1
      269cbea1
  27. 13 May, 2013 1 commit
    • Utkarsh Ayachit's avatar
      Added a new module, vtkPythonInterpreter. · be75a19a
      Utkarsh Ayachit authored
      VTK now includes a Utilities module, vtkPythonInterpreter that provides a Python
      interpreter. While its use it totally optional, it helps in applications with
      embedded Python interpreter, such as ParaView.
      
      vtkMatplotlibMathTextUtilities now uses vtkPythonInterpreter to initialize
      Python. This enables applications to setup Python environment as needed witout
      directly having to hack environment variables to setup matplotlib environment.
      
      Since vtkPythonInterpreter allows applications to initialize/finalize Python
      interpreter mutliple times, fixed vtkPythonCommand to cleanup
      PyObject/PyThreadState pointers when Python interpreter is exitted.
      
      Change-Id: I80ed56fc3f64dda2766a6aa2e6e92c3aa7290993
      be75a19a
  28. 22 Mar, 2013 1 commit
    • Marcus D. Hanwell's avatar
      Move the Python wrapping to the end · 34903fe1
      Marcus D. Hanwell authored
      This moves the Python wrapping to the end of the build process, using
      the information exported by the module files.
      
      Change-Id: I711382f79fc1fdb15cd80c87f55dd2f97a2c5cd8
      34903fe1
  29. 17 Aug, 2012 1 commit
    • David Gobbi's avatar
      COMP: Use uintptr_t rather than rely on VTK_SIZEOF_VOID_P. · f92fc0fe
      David Gobbi authored
      Some VTK code was using VTK_SIZEOF_VOID_P to guess which integer
      type was the size of a pointer.  The pointer-sized type uintptr_t
      is a cleaner alternative.  It is part of the C99 standard but is
      already used in VTK elsewhere, so I believe it should be safe to
      use here.
      
      Change-Id: I9903c6165acd0192ce89b1a374d428a59d29246f
      f92fc0fe