1. 11 Jun, 2016 2 commits
  2. 10 Jun, 2016 1 commit
  3. 08 Jun, 2016 2 commits
  4. 07 Jun, 2016 1 commit
    • David Gobbi's avatar
      Use VTK_NEWINSTANCE hint for factory methods · b342b394
      David Gobbi authored
      The wrapper-generators used to have a hard-coded list of methods that
      returned new vtkObject instances, so that the wrappers could properly
      manage the reference counts.  This patch replaces the hard-coded list
      with a hint macro that can be used anywhere.
      b342b394
  5. 06 Jun, 2016 4 commits
  6. 27 May, 2016 1 commit
    • David Gobbi's avatar
      Add preprocessor macros for each wrapper language. · 755ea6bc
      David Gobbi authored
      These new macros can be used to detect when the headers are being
      parsed by one of the wrapper tools, rather than by the C++ compiler:
        __VTK_WRAP_PYTHON__ , __VTK_WRAP_TCL__ , __VTK_WRAP_JAVA__
      Also, the old __WRAP__ macro should no longer be used, it has been
      replaced with __VTK_WRAP__.
      755ea6bc
  7. 25 May, 2016 1 commit
  8. 21 May, 2016 1 commit
  9. 19 May, 2016 1 commit
    • Sean McBride's avatar
      Manual search & destroy of (B|E)TX · 55878a23
      Sean McBride authored
      First automatically removed lines with only BTX/ETX
      from .h files with the following regexes:
      
      ^ *// *BTX\r
      ^ *// *ETX\r
      
      and replaced occurances with nothing. Committed that, then manually
      removed various remaining cases of BTX/ETX, and related comments, and parsing stuff,
      then trashed the first commit.
      55878a23
  10. 28 Apr, 2016 1 commit
    • David Gobbi's avatar
      BUG 16054: Reduce chance of mistaken swig pointer string. · aa308fc9
      David Gobbi authored
      In the Python wrappers, the vtkDataArray::SetVoidArray() method can take
      two kinds of arguments:
      
      1) a string formatted as a swig pointer "_addr_type" where "addr" is
      the hexadecimal address and "type" is the type, e.g. "p_void".
      
      2) a Python buffer object (any Python object with buffer protocol)
      
      A Python string (in Python 2) is also a buffer object, therefore there
      is some ambiguity.  The use of swig pointers with VTK is exceedingly
      rare, so this fix requires that the string exactly matches the format
      "_addr_p_void" to be interpreted as a swig pointer.
      
      Note that in Python 3, the ambiguity disappears because a string in Py3K
      does not have the buffer protocol.
      aa308fc9
  11. 22 Mar, 2016 1 commit
  12. 13 Mar, 2016 1 commit
    • David Gobbi's avatar
      Allow variables to be initialized with constructor args. · 21f04e40
      David Gobbi authored
      In vtkParse.y, there was no rule for variable initialization via
      constructor args, for example "someclass variablename(arglist)".
      Unfortunately, this syntax looks similar to function declaration
      "someclass functionname(parameterlist)" and leads to ambiguity
      because the parser cannot always distinguish between "arglist"
      (a list of values) and "parameterlist" (a list of types).
      
      The reason the parser has difficulty with this is that it lacks
      the ability to tell which identifiers refer to types, and which
      refer to values.  For now the parser demands that "arglist" begins
      with a literal, since a literal is always a value.
      21f04e40
  13. 10 Mar, 2016 1 commit
  14. 09 Mar, 2016 1 commit
  15. 08 Mar, 2016 1 commit
  16. 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
      893fb6ed
  17. 02 Mar, 2016 2 commits
  18. 25 Feb, 2016 3 commits
    • Max Smolens's avatar
      python: Add adapter modules when VTK_ENABLE_KITS is ON · 540f2c5a
      Max Smolens authored
      Some Python scripts explicitly import from named submodules as opposed to from
      the top-level vtk module. When VTK_ENABLE_KITS is ON those modules might not
      exist. This results in ImportErrors, like the one shown below when running the
      vtkFiltersCorePython-pointsPrecisions test:
      
          Traceback (most recent call last):
            File "C:/dev/VTK/Filters/Core/Testing/Python/pointsPrecisions.py", line 3, in <module>
      	from vtk.vtkCommonCore import vtkPoints, vtkDoubleArray, vtkIdList
          ImportError: No module named vtkCommonCore
      
      This commit adds adapter modules to allow such scripts to run unmodified when
      VTK_ENABLE_KITS is ON.
      540f2c5a
    • Max Smolens's avatar
      python: Update wrapping tool to support multiple hierarchy and hint files · 31b7b0ef
      Max Smolens authored
      
      
      To keep the argument parsing code simple, each hierarchy and hint file has to be
      specified using a dedicated --types.
      
      This change is backwards compatible. Deprecated members and functions are marked
      with "XXX DEPRECATED".
      Co-authored-by: Jean-Christophe Fillion-Robin's avatarJean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
      Co-authored-by: default avatarMax Smolens <max.smolens@kitware.com>
      31b7b0ef
    • Max Smolens's avatar
      python: Add wrapping of kits when VTK_ENABLE_KITS is ON · 1ebfa5bc
      Max Smolens authored
      
      
      If VTK_ENABLE_KITS is ON, VTK kits and modules that are not associated with any
      kit will be wrapped. The effect is that drastically fewer libraries are created.
      
      Take vtkCommon as an example. When VTK_ENABLE_KITS is OFF, a library is
      generated for each wrapped module:
      
          vtkCommonColorPython27D-x.y.dll
          vtkCommonComputationalGeometryPython27D-x.y.dll
          vtkCommonCorePython27D-x.y.dll
          vtkCommonDataModelPython27D-x.y.dll
          vtkCommonExecutionModelPython27D-x.y.dll
          vtkCommonMathPython27D-x.y.dll
          vtkCommonMiscPython27D-x.y.dll
          vtkCommonSystemPython27D-x.y.dll
          vtkCommonTransformsPython27D-x.y.dll
      
      When VTK_ENABLE_KITS is ON, a single "kit" library is generated:
      
          vtkCommonKitPython27D-x.y.dll
      
      The wrapped kits have the suffix "Kit" to avoid naming conflicts with existing
      libraries like "vtkFilterPython".
      
      As part of this change, the Python wrapping function has been split into two
      functions, one which wraps the code and another which builds the wrapped code.
      The new function is backwards compatible, but to update client code, replace
      calls like:
      
          vtk_add_python_wrapping(${module})
      
      with:
      
          vtk_add_python_wrapping(${module} module_srcs)
          vtk_add_python_wrapping_library(${module} module_srcs ${module})
      
      Additionally, the functions "vtk_wrap_python" and "vtk_add_python_wrapping" have
      been updated to understand a list of modules as input.
      Co-authored-by: Jean-Christophe Fillion-Robin's avatarJean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
      Co-authored-by: default avatarMax Smolens <max.smolens@kitware.com>
      Co-authored-by: Ben Boeckel's avatarBen Boeckel <ben.boeckel@kitware.com>
      1ebfa5bc
  19. 22 Feb, 2016 1 commit
  20. 17 Feb, 2016 2 commits
    • David Gobbi's avatar
      15995: Implement C++ templates as Python modules. · 67eb4fc5
      David Gobbi authored
      The help() function was not working on wrapped class templates, so the
      PyVTKTemplate type has been re-imagined as a module that contains the
      instantiations of the template, since the help() function works with
      module docstrings. PyVTKTemplate still supports the mapping protocol
      as before, which allows lookup of the instantiated templates via the
      template arguments.
      67eb4fc5
    • David Gobbi's avatar
      Fix incorrect spelling of hexadecimal. · 068c6f0b
      David Gobbi authored
      068c6f0b
  21. 12 Feb, 2016 3 commits
  22. 11 Feb, 2016 2 commits
  23. 10 Feb, 2016 1 commit
  24. 09 Feb, 2016 1 commit
  25. 08 Feb, 2016 1 commit
  26. 31 Jan, 2016 1 commit
  27. 29 Jan, 2016 1 commit
    • Berk Geveci's avatar
      Refactored and update the way algorithms are updated. · f020ebb6
      Berk Geveci authored
      The way algorithms were updated (made to execute) with
      request meta-data (such as update extent) was very error
      prone and counter-intuitive. Added new methods to make
      updating with meta-data easier. I also deprecated a number
      of methods to set request meta-data. This will encourage
      developers to migrate to the new API which is less error-
      prone.
      f020ebb6
  28. 28 Jan, 2016 1 commit
    • David Gobbi's avatar
      Fix wrapping pointer parameters with default value 0. · fcd2ac5a
      David Gobbi authored
      When the python wrappers were wrapping a pointer parameter with a default
      value of null, e.g. func(int *x=0), then if no parameter was passed then
      the underlying C++ function would receive an uninitialized array rather
      a null pointer.
      
      In addition, the SaveArray() and ArrayHasChanged() methods that the python
      wrappers use when wrapping non-const pointers and arrays would overflow
      when the array size was zero.
      fcd2ac5a