- Aug 19, 2015
-
-
- Aug 11, 2015
-
-
David Gobbi authored
Two major changes: 1) the vtkLoadPythonTkWidgets utility module is now imported explicitly as a relative module, necessitating absolute_import. The alternative is to import it as vtk.tk.vtkLoadPythonTkWidgets, which makes the tk module less mobile, in case someone wanted to incorporate it or the vtk module itself into a larger package (e.g. what paraview does). 2) I've explicitly added an "if" check for python3 before importing the tkinter module. This is done to ensure that an appropriate error is reported if the module fails to load (i.e. so that it won't complain about trying to import "tkinter" on Python 2, just because it had a fallthrough on an attemp to import "Tkinter".
-
David Gobbi authored
1) Change unicode string unicode string check in TestTemplates.py. 2) Eliminate some obsolete imports (like "exceptions"). 3) Convert string to bytes in TestDataEncoder.py.
-
-
- Aug 10, 2015
-
-
David Gobbi authored
The python "buffer" and "memoryview" objects do not expose the pointer to the underlying memory, they only expose the contents of the memory. Likewise, if you check (buffer1 == buffer2) within python, then python will iterate through both buffers to see if they have the same contents! After all, for python, that's how equality is defined for sequence types. This commit adds a method called buffer_shared(ob1, ob2) that checks to see if two objects (e.g. arrays) expose the same block of memory via their buffer interface. It assumes that the "buf" pointer is the lowest address of the buffer (i.e. the strides must be non-negative). It also adds two changes to dataset_adapter.py: 1) The adapter now uses buffer_shared() instead of using "==" to compare buffers, because as stated above "==" does the wrong thing. 2) It repairs an infinite recursion where __getattr__ called hasattr(). The infinite recursion was caught silently by hasattr() itself in python2, but is exposed as a RuntimeError in python3.
-
David Gobbi authored
A typo in vtkPythonArgs.cxx resulted in the use of a "char *" from a deleted Python object. I've fixed the typo and have completely removed the code that can give rise to the invalid pointer. This commit also changes a BuildBytes to actually build a Bytes object on Python 3 (it was building a string). Under Python 3.2, the default locale encoding will be used for 8-bit strings rather than utf8 (similar to Python 2). It wasn't until 3.3 that unicode objects kept a cached copy of the utf8 string.
-
- Aug 09, 2015
-
-
David Gobbi authored
-
- Aug 07, 2015
-
-
David Gobbi authored
Some quick py3k compatibility fixes caused these print statements to generate much different output from before. This fixes that.
-
David Gobbi authored
This allows "make" to compile these files into pyc files, though it does not provide full py3k compatibility.
-
David Gobbi authored
This involved replacing map() with list comprehensions, changing the way metaclasses are used, removing the __div__ method under python 3, and using 'zip" instead of "izip" on python 3.
-
- Aug 06, 2015
-
-
David Gobbi authored
This change modifies the python code for the tests so that they are cross-compatible between python 2 and python 3. The new code will not run on Python 2.5 or earlier, because only python 2.6 and 2.7 allow py3k-friendly syntax. The numpy_interface does not fully support python 3 yet, due to changes in the way numeric operators work and the way type coercion is done.
-
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
-
David Gobbi authored
-
David Gobbi authored
The get() method was incorrectly implemented and segfaulted. Also, with py3k, the keys() method returned a special object instead of a plain list, and this caused the wrapping to fail.
-
David Gobbi authored
Python 3 introduced a multi-dimensional buffer interface, which was backported to Python 2.6 and Python 2.7.
-
David Gobbi authored
This changes the return value of the "real_init" function from void to PyObject *, in accordance with the new PyInit method.
-
- Jul 30, 2015
-
-
David Gobbi authored
-
- Jul 28, 2015
-
-
David Gobbi authored
-
- Jul 27, 2015
-
-
David Gobbi authored
Enum parameter types were missing from the python docstrings. Also, the PythonName utility function fits better in vtkWrapText.h.
-
- Jul 26, 2015
-
-
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.
-
David Gobbi authored
This was the last generated type object that was exported. Now that it is static, the wrapper-specific import/export macros are no longer needed.
-
David Gobbi authored
The overloaded method resolution code in vtkPythonOverload.cxx used to make assumptions about type based on the class name (e.g. vtk types start with "vtk", python types start with "Py"). Now a distinct character code is used for each type.
-
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.
-
David Gobbi authored
This allowed me to remove its custom GetAttr method.
-
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.
-
- Jul 23, 2015
-
-
David Gobbi authored
-
David Gobbi authored
-
David Gobbi authored
-
David Gobbi authored
The casts are unecessary for Python 2.5 and higher.
-
David Gobbi authored
This reduces the number of exported symbols. Wrapped enum types are still exported in order to allow them to be type-checked elsewhere.
-
David Gobbi authored
This includes the use of PyVTKMethodDescriptor, which fixes the issue where overloads of static and non-static methods did not work.
-
David Gobbi authored
Now that the python wrappers use type objects for VTK classes, calling type(obj) returns the class type, rather than 'vtkobject'.
-
David Gobbi authored
This is the first step towards Python 3 compatibility. Wrapped VTK classes used to use the old-style python metaclass mechanism, and they worked like the old-style classes from python 1 and python 2. Now each wrapped VTK class is a new-style class with its own PyTypeObject.
-
David Gobbi authored
These were required up to Python 2.4, which is no longer supported.
-
David Gobbi authored
-
David Gobbi authored
This allows a lot of obsolete code to be removed.
-
- Jul 20, 2015
-
-
2166c067 FiltersStatisticsGnuR: fix R_NO_REMAP juggling Acked-by:
Kitware Robot <kwrobot@kitware.com> Reviewed-by:
Brad King <brad.king@kitware.com> Merge-request: !437
-
bf1cd7e2 Change iterator from postincrement to preincrement 5c97e44a Move variable declaration inside loop to limit its scope 5e1fc1bf Fix indentation and restore empty line 761a643e Add field data to vtkUniformGrid to save GDALDataset NoDataValue Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !344
-
David E DeMarle authored
Fix uninitialized memory reported by valgrind. 23dff2bd introduced a bug where it didn't copy the point data correctly for all the layers. Fixed that. See merge request !438
-
Utkarsh Ayachit authored
23dff2bd introduced a bug where it didn't copy the point data correctly for all the layers. Fixed that.
-