VTK issueshttps://gitlab.kitware.com/vtk/vtk/-/issues2024-02-28T05:56:36-05:00https://gitlab.kitware.com/vtk/vtk/-/issues/18307vtkImplicitPolyDataDistance calculates incorrect sign in some specific cases2024-02-28T05:56:36-05:00Ted GiblettevtkImplicitPolyDataDistance calculates incorrect sign in some specific casesIn some specific cases, vtkImplicitPolyDataDistance calculates the wrong sign when calling EvaluateFunction. It appears to only occur when the query point sits directly above the edge of a face as shown in the image below.
![test_surfac...In some specific cases, vtkImplicitPolyDataDistance calculates the wrong sign when calling EvaluateFunction. It appears to only occur when the query point sits directly above the edge of a face as shown in the image below.
![test_surface_and_point](/uploads/8873e57962a8c8a579b0074118502bf9/test_surface_and_point.png)
The code to reproduce this issue is as follows.
const double length = 1.0;
vtkNew<vtkCubeSource> cube;
cube->SetXLength(length);
cube->SetYLength(length);
cube->SetZLength(length);
cube->Update();
vtkNew<vtkImplicitPolyDataDistance> signed_distance;
signed_distance->SetInput(cube->GetOutput());
double test_distance = signed_distance->EvaluateFunction(-0.5, 0.7, 0.);
With this code, the value of test_distance is -0.2 instead of 0.2.https://gitlab.kitware.com/vtk/vtk/-/issues/18308LZ4 Warning During Build2021-09-15T16:42:30-04:00Adam HendryLZ4 Warning During Build```
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to `find_package_handle_standard_args` (LZ4) does
not match the name of the calling...```
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to `find_package_handle_standard_args` (LZ4) does
not match the name of the calling package (lz4). This can lead to problems
in calling code that expects `find_package` result variables (e.g.,
`_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
CMake/FindLZ4.cmake:24 (find_package_handle_standard_args)
C:/vcpkg/scripts/buildsystems/vcpkg.cmake:784 (_find_package)
C:/Program Files/CMake/share/cmake-3.21/Modules/CMakeFindDependencyMacro.cmake:47 (find_package)
C:/vcpkg/installed/x64-windows/share/libarchive/vcpkg-cmake-wrapper.cmake:15 (find_dependency)
C:/vcpkg/scripts/buildsystems/vcpkg.cmake:738 (include)
CMake/vtkModule.cmake:4365 (find_package)
Common/Archive/CMakeLists.txt:5 (vtk_module_find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
```https://gitlab.kitware.com/vtk/vtk/-/issues/18309vtkDICOM Deprecation Warning2021-09-16T14:55:53-04:00Adam HendryvtkDICOM Deprecation WarningI think the vtkDICOM `CMakeLists.txt` is outdated and needs updating:
```
CMake Deprecation Warning at Remote/vtkDICOM/CMakeLists.txt:5 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version ...I think the vtkDICOM `CMakeLists.txt` is outdated and needs updating:
```
CMake Deprecation Warning at Remote/vtkDICOM/CMakeLists.txt:5 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.21/Modules/CTest.cmake:50 (option):
Policy CMP0077 is not set: option() honors normal variables. Run "cmake
--help-policy CMP0077" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
For compatibility with older versions of CMake, option is clearing the
normal variable 'BUILD_TESTING'.
Call Stack (most recent call first):
Remote/vtkDICOM/CMakeLists.txt:12 (include)
This warning is for project developers. Use -Wno-dev to suppress it.
```https://gitlab.kitware.com/vtk/vtk/-/issues/18310H5detect vs H5Tinit.c dependency problem2021-09-23T15:32:40-04:00David GobbiH5detect vs H5Tinit.c dependency problemSystem: macOS 10.15, cmake 3.13.2, GNU make 3.81, VTK master from Sept 15, 2021
Doing a "Makefile" build (-j 1) of VTK generated this error:
```text
No rule to make target 'ThirdParty/hdf5/vtkhdf5/src/H5Tinit.c'
```
The build continued ...System: macOS 10.15, cmake 3.13.2, GNU make 3.81, VTK master from Sept 15, 2021
Doing a "Makefile" build (-j 1) of VTK generated this error:
```text
No rule to make target 'ThirdParty/hdf5/vtkhdf5/src/H5Tinit.c'
```
The build continued after I forced H5detect to build:
```bash
make H5detect
make
```
I haven't dug very deep into this, but the following code block [(line 1084 in ThirdParty/hdf5/vtkhdf5/src/CMakeLists.txt)](https://gitlab.kitware.com/vtk/vtk/-/blob/7591e63b/ThirdParty/hdf5/vtkhdf5/src/CMakeLists.txt#L1084) seems to be implicated:
```cmake
add_custom_command (TARGET H5detect POST_BUILD
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5detect>
ARGS H5Tinit.c
BYPRODUCTS H5Tinit.c gen_SRCS.stamp1
COMMAND ${CMAKE_COMMAND}
ARGS -E touch gen_SRCS.stamp1
DEPENDS H5detect
WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
COMMENT "Create H5Tinit.c"
)
```
Perhaps the problem is the use of "BYPRODUCTS" with no "OUTPUT" with the Makefile generator?
There seem to be similar dependency issues with `H5lib_settings.c` and `H5make_libsettings`. In that case, the workaround was this:
```
make H5make_libsettings
```Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/18311VTK build error2021-09-16T10:12:21-04:00Chong ZHENGVTK build errorI have the following error. Please help.
```
.../VTK/ThirdParty/hdf5/vtkhdf5/src/H5Oint.c:358:12: error: implicit declaration of function 'vtkhdf5_H5CX_get_ohdr_flags' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
...I have the following error. Please help.
```
.../VTK/ThirdParty/hdf5/vtkhdf5/src/H5Oint.c:358:12: error: implicit declaration of function 'vtkhdf5_H5CX_get_ohdr_flags' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
if(H5CX_get_ohdr_flags(&oh_flags) < 0)
^
.../VTK/ThirdParty/hdf5/vtkhdf5/src/vtk_hdf5_mangle.h:273:29: note: expanded from macro 'H5CX_get_ohdr_flags'
#define H5CX_get_ohdr_flags vtkhdf5_H5CX_get_ohdr_flags
^
[ 3%] Generating the wrap hierarchy for ParaView::VTKExtensionsIOCore
.../VTK/ThirdParty/hdf5/vtkhdf5/src/H5Oint.c:358:12: note: did you mean 'vtkhdf5_H5O_get_oh_flags'?
.../VTK/ThirdParty/hdf5/vtkhdf5/src/vtk_hdf5_mangle.h:273:29: note: expanded from macro 'H5CX_get_ohdr_flags'
#define H5CX_get_ohdr_flags vtkhdf5_H5CX_get_ohdr_flags
^
.../VTK/ThirdParty/hdf5/vtkhdf5/src/H5Oprivate.h:913:16: note: 'vtkhdf5_H5O_get_oh_flags' declared here
H5_DLL uint8_t H5O_get_oh_flags(const H5O_t *oh);
^
.../VTK/ThirdParty/hdf5/vtkhdf5/src/vtk_hdf5_mangle.h:1780:26: note: expanded from macro 'H5O_get_oh_flags'
#define H5O_get_oh_flags vtkhdf5_H5O_get_oh_flags
^
[ 3%] Building C object VTK/ThirdParty/hdf5/vtkhdf5/src/CMakeFiles/vtkhdf5_src.dir/H5Olayout.c.o
1 error generated.
```https://gitlab.kitware.com/vtk/vtk/-/issues/18312Error building VTK 9.0.3 with Intel(R) C++ Compiler 2021.12023-03-23T14:10:35-04:00stefan-gavranovicError building VTK 9.0.3 with Intel(R) C++ Compiler 2021.1Building VTK 9.0.3 with Intel icx compiler, I get compile error for following constexpr:
```c++
constexpr static std::array<vtkFFT::WindowGenerator, vtkTableFFT::MAX_WINDOWING_FUNCTION> WindowingFunctionsList =
{
vtkFFT::HanningGenera...Building VTK 9.0.3 with Intel icx compiler, I get compile error for following constexpr:
```c++
constexpr static std::array<vtkFFT::WindowGenerator, vtkTableFFT::MAX_WINDOWING_FUNCTION> WindowingFunctionsList =
{
vtkFFT::HanningGenerator,
vtkFFT::BartlettGenerator,
vtkFFT::SineGenerator,
vtkFFT::BlackmanGenerator,
vtkFFT::RectangularGenerator
};
```
```
"D:\VTK\build\ALL_BUILD.vcxproj" (default target) (1) ->
"D:\VTK\build\Domains\Chemistry\DomainsChemistry.vcxproj" (default target) (86) ->
"D:\VTK\build\Filters\General\FiltersGeneral.vcxproj" (default target) (88) ->
(ClCompile target) ->
D:\VTK\VTK\Filters\General\vtkTableFFT.cxx(58,91): : error : constexpr variable 'WindowingFunctionsList' must be initialized by a constant expression [D:\VTK\build\Filters\General\FiltersGe neral.vcxproj]
0 Warning(s)
1 Error(s)
```Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/18313reader update2021-09-20T04:46:44-04:00WZYSIUIreader updateI use the vtkImageimport interface to use the same pointer to pass in data for body drawing, the first time the pointer address grayscale range is 0 to 128, color map is 0 to 255, the second time to modify the pointer internal data range...I use the vtkImageimport interface to use the same pointer to pass in data for body drawing, the first time the pointer address grayscale range is 0 to 128, color map is 0 to 255, the second time to modify the pointer internal data range to 0 to 255, or the original color map, but this time the body color map is only 0 to 128.
This time the reader to perform modified interface can solve this problem,but would like to ask why there is this situationhttps://gitlab.kitware.com/vtk/vtk/-/issues/18314vtkOpenGLTexture change gray image to RGBA2021-09-21T12:35:53-04:00Yongchao WangvtkOpenGLTexture change gray image to RGBAIn some time from version 8 to version 9, vtkOpenGLTexture transforms images with 1 or 2 channels to RGBA format. see around line 277:
```c++
// make sure using unsigned char data of color scalars type
if (this->IsDepthT...In some time from version 8 to version 9, vtkOpenGLTexture transforms images with 1 or 2 channels to RGBA format. see around line 277:
```c++
// make sure using unsigned char data of color scalars type
if (this->IsDepthTexture != 1 &&
(!directColors || inscalars->GetNumberOfComponents() < 3 || resampleNeeded))
```
Why do this? It costs vtkImageActor a lot of time to render a large gray image.https://gitlab.kitware.com/vtk/vtk/-/issues/18315vtkVortexCore: interpolate point and cell data in output2021-09-22T10:00:42-04:00Cory Quammencory.quammen@kitware.comvtkVortexCore: interpolate point and cell data in outputvtkVortexCore does interpolates neither point data nor cell data from the input into the output data set. Update the filter so it interpolates point data.vtkVortexCore does interpolates neither point data nor cell data from the input into the output data set. Update the filter so it interpolates point data.Spiros TsalikisSpiros Tsalikishttps://gitlab.kitware.com/vtk/vtk/-/issues/18316AMReX Grid Reader: enable reading of integer fab files2021-09-21T15:15:10-04:00Cory Quammencory.quammen@kitware.comAMReX Grid Reader: enable reading of integer fab fileshttps://gitlab.kitware.com/vtk/vtk/-/issues/18317Python 3.10 vtkPythonInterpreter path initialization2021-12-15T14:24:01-05:00David GobbiPython 3.10 vtkPythonInterpreter path initializationI've tried using VTK with Python-3.10rc2 (built from source) on linux (ubuntu 20.04).
The vtkpython executable runs, but VTK's site-packages directory is not in `sys.path`, so `import vtkmodules` fails. Adding VTK's site-packages to PY...I've tried using VTK with Python-3.10rc2 (built from source) on linux (ubuntu 20.04).
The vtkpython executable runs, but VTK's site-packages directory is not in `sys.path`, so `import vtkmodules` fails. Adding VTK's site-packages to PYTHONPATH (or to sys.path after-the-fact) allows vtkmodules to load as normal.
The PrependPythonPath machinery in vtkPythonInterpreter seems to be working (`<vtk-dir>/lib/python3.10/site-packages` is added to sys.path as it should be). However, at some point in the initialization, Python apparently replaces sys.path with a new list object that no longer contains VTK's site-packages.
My proof: I added a diagnostic print statement to vtkPythonInterpreter.cxx which prints the address of `path`. Then I checked the address within the REPL:
```
bin/vtkpython
Address of sys.path in vtkPrependPythonPath: 0x7f87b693ccc0
>>> import sys
>>> hex(id(sys.path))
'0x7f87b695b880'
```
In comparison, a VTK compiled with Python 3.8 printed the same address both times.
For compatibility with 3.10 and future versions of Python, VTK might have to adopt the new initialization strategy outlined in [PEP 587](https://www.python.org/dev/peps/pep-0587). I haven't yet tried to chase down the change in Python's source code that has caused this regression.Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/18318Make it possible to disable Python output capture by VTK2021-09-24T19:01:21-04:00Cory Quammencory.quammen@kitware.comMake it possible to disable Python output capture by VTK`vtkPythonInterpreter` redirects Python output to `vtkOutputWindow`. Add an option to disable that so that VTK can be used in applications that have their own Python output redirection.`vtkPythonInterpreter` redirects Python output to `vtkOutputWindow`. Add an option to disable that so that VTK can be used in applications that have their own Python output redirection.https://gitlab.kitware.com/vtk/vtk/-/issues/18319MaterialEditor: improve the name of the textures when writing / reading buffe...2021-09-28T03:38:46-04:00Paul LafoixMaterialEditor: improve the name of the textures when writing / reading buffer and rawDataWhen we load from a buffer written by vtkOSPRayMaterialLibrary::WriteBuffer, all the textures are stored in a rawData format (using a vtkXMLImageWriter). We should add an entry in the json file to store the name of a texture, independant...When we load from a buffer written by vtkOSPRayMaterialLibrary::WriteBuffer, all the textures are stored in a rawData format (using a vtkXMLImageWriter). We should add an entry in the json file to store the name of a texture, independantly of the filename, to be able to know a texture name even if its data is raw-stored
For example, instead of :
```
"textures" :
{
"map_edgeColor" : "/path/to/filename.png" (or XML value directly here in case of a rawData)
},
```
Add a "name" entry:
```
"textures" :
{
"map_edgeColor" :
{
"name": "NameOfTheTexture",
"data": "/path/to/filename.png" (or XML value directly here in case of a rawData)
}
},
```https://gitlab.kitware.com/vtk/vtk/-/issues/18320Deprecate vtkMultiBlockDataGroupFilter?2021-09-28T07:08:32-04:00Ben BoeckelDeprecate vtkMultiBlockDataGroupFilter?The release note for `vtkGroupDataSetsFilter` mentions that it should be preferred over `vtkMultiBlockDataGroupFilter`. Should there be an official deprecation?The release note for `vtkGroupDataSetsFilter` mentions that it should be preferred over `vtkMultiBlockDataGroupFilter`. Should there be an official deprecation?https://gitlab.kitware.com/vtk/vtk/-/issues/18321Provide PyInstaller hooks2023-08-31T22:56:35-04:00Ievgen PopovychProvide PyInstaller hooks[PyInstaller](https://pyinstaller.readthedocs.io/en/stable/) is a project that bundles all the dependencies and sources of a python application into an executable.
When using VTK (python bindings) in application that is bundled and exec...[PyInstaller](https://pyinstaller.readthedocs.io/en/stable/) is a project that bundles all the dependencies and sources of a python application into an executable.
When using VTK (python bindings) in application that is bundled and executed - one will encounter a runtime error of 'module not found'.
This is because most of VTK functionality is provided in extension modules for which PyInstaller can't automatically find internal dependencies (on other python modules/extensions; dynamic loader dependencies are handled correctly).
To handle such situation, PyInstaller provides a mechanism called [hooks](https://pyinstaller.readthedocs.io/en/stable/hooks.html), where one basically provides a file per-module where all 'hidden' dependencies/modules (i.e. those pyinstaller can't find) of a module are listed.
Now, [hook for VTK](https://github.com/pyinstaller/pyinstaller-hooks-contrib/blob/master/src/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-vtkpython.py) was part of pyinstaller for a long time (in main repo), but VTK 8.2.0 modules require a change to the hook.
There are few reason why I've come here and not just updated the existing hook:
1. VTK has a lot of modules and ideally we'd have multiple hook files (one hook per VTK module), which is a lot.
2. Figuring out hidden dependencies and manually making hooks is very tedious (I am not even sure how to figure out those 'imports' yet).
3. I saw that in this repository there is probably enough information (about module dependencies) to generate hooks automatically at (wheel) build time.
4. PyInstaller hooks can also be provided by the python package itself (via entry points), which means VTK python wheel can provide pyinstaller hooks.
With regards to all this, I have a few questions:
1. Would you be willing to accept that into the repository? (some code (CMake?) that generates hook files at build time and a few lines into setup.py to refer to those entry-points)
2. Can you give me a few pointers into the repository how can I approach this? (how to reliably understand on which extensions a module depends, where to put hook generation-code)
Thanks.https://gitlab.kitware.com/vtk/vtk/-/issues/18322Deprecate Repeat and EdgeClamp methods in vtkTexture2021-09-28T10:54:08-04:00Ben BoeckelDeprecate Repeat and EdgeClamp methods in vtkTextureThe `Repeat` and `EdgeClamp` properties are deprecated in `vtkTexture` for `Wrap`, but the associated methods are not explicitly deprecated.
Cc: @sankheshThe `Repeat` and `EdgeClamp` properties are deprecated in `vtkTexture` for `Wrap`, but the associated methods are not explicitly deprecated.
Cc: @sankheshSankhesh JhaveriSankhesh Jhaverihttps://gitlab.kitware.com/vtk/vtk/-/issues/18323Test failure due to bad image size: TestImprintFilter42021-10-04T15:32:59-04:00Charles GueunetTest failure due to bad image size: TestImprintFilter4Test failure on **test:macos-arm64-kits-python-qt**
https://gitlab.kitware.com/vtk/vtk/-/jobs/6200208 :
```
1095/2526 Test #1096: VTK::FiltersModelingPython-TestImprintFilter4 ................................................***Failed ...Test failure on **test:macos-arm64-kits-python-qt**
https://gitlab.kitware.com/vtk/vtk/-/jobs/6200208 :
```
1095/2526 Test #1096: VTK::FiltersModelingPython-TestImprintFilter4 ................................................***Failed 0.56 sec
vtk version 9.0.0
2021-09-29 04:23:45.357 vtkpython[54973:7229086] ApplePersistence=NO
Min edge length: 0.212549
OpenGL vendor string: Apple
OpenGL renderer string: Apple M1
OpenGL version string: 4.1 Metal - 71.6.4
OpenGL extensions:
GL_ARB_blend_func_extended
GL_ARB_draw_buffers_blend
GL_ARB_draw_indirect
GL_ARB_ES2_compatibility
GL_ARB_explicit_attrib_location
GL_ARB_gpu_shader_fp64
GL_ARB_gpu_shader5
GL_ARB_instanced_arrays
GL_ARB_internalformat_query
GL_ARB_occlusion_query2
GL_ARB_sample_shading
GL_ARB_sampler_objects
GL_ARB_separate_shader_objects
GL_ARB_shader_bit_encoding
GL_ARB_shader_subroutine
GL_ARB_shading_language_include
GL_ARB_tessellation_shader
GL_ARB_texture_buffer_object_rgb32
GL_ARB_texture_cube_map_array
GL_ARB_texture_gather
GL_ARB_texture_query_lod
GL_ARB_texture_rgb10_a2ui
GL_ARB_texture_storage
GL_ARB_texture_swizzle
GL_ARB_timer_query
GL_ARB_transform_feedback2
GL_ARB_transform_feedback3
GL_ARB_vertex_attrib_64bit
GL_ARB_vertex_type_2_10_10_10_rev
GL_ARB_viewport_array
GL_EXT_debug_label
GL_EXT_debug_marker
GL_EXT_framebuffer_multisample_blit_scaled
GL_EXT_texture_compression_s3tc
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_sRGB_decode
GL_APPLE_client_storage
GL_APPLE_container_object_shareable
GL_APPLE_flush_render
GL_APPLE_rgb_422
GL_APPLE_row_bytes
GL_APPLE_texture_range
GL_NV_texture_barrier
PixelFormat Descriptor:
colorSize: 32
alphaSize: 8
stencilSize: 0
depthSize: 32
accumSize: 0
double buffer: Yes
stereo: No
stencil: 0
hardware acceleration: Yes
profile version: 0x4100
<DartMeasurement name="ImageError" type="numeric/double">0.163399</DartMeasurement><DartMeasurement name="BaselineImage" type="text/string">Standard</DartMeasurement><DartMeasurementFile name="TestImage" type="image/png">/opt/glr/vtk/vtk-ci/build/Testing/Temporary/TestImprintFilter4.png</DartMeasurementFile>
Failed Image Test ( TestImprintFilter4.png ) : 0.163399
Image differencing failed to produce an image because images are different size:
Valid image: 2925, 1647, 1
Test image: 300, 200, 1
<DartMeasurement name="WallTime" type="numeric/double">0.312489</DartMeasurement>
<DartMeasurement name="CPUTime" type="numeric/double">0.263495</DartMeasurement>
Start 1096: VTK::FiltersModelingPython-TestImprintFilter4
1095/2526 Test #909: VTK::FiltersPointsPython-TestPointSmoothingFilter3 ........................................... Passed 10.78 sec
Start 1104: VTK::FiltersModelingPython-TestRuledSurface2
1096/2526 Test #1098: VTK::FiltersModelingPython-TestImprintFilter6 ................................................ Passed 0.46 sec
Start 1105: VTK::FiltersModelingPython-TestSpherePuzzle
1097/2526 Test #1099: VTK::FiltersModelingPython-TestOutlineFilter ................................................. Passed 0.49 sec
Start 1106: VTK::FiltersModelingPython-TestSpherePuzzleArrows
1098/2526 Test #1100: VTK::FiltersModelingPython-TestPointSampler .................................................. Passed 0.47 sec
Start 1107: VTK::FiltersModelingPython-TestTrimmedExtrusionFilter
1099/2526 Test #1101: VTK::FiltersModelingPython-TestPointSampler2 ................................................. Passed 0.47 sec
Start 1108: VTK::FiltersModelingPython-camera
1100/2526 Test #1102: VTK::FiltersModelingPython-TestRibbonAndTube ................................................. Passed 0.51 sec
Start 1109: VTK::FiltersModelingPython-eleState
1101/2526 Test #1103: VTK::FiltersModelingPython-TestRuledSurface .................................................. Passed 0.51 sec
Start 1110: VTK::FiltersModelingPython-extrudeCopyCD
1102/2526 Test #1104: VTK::FiltersModelingPython-TestRuledSurface2 ................................................. Passed 0.49 sec
Start 1111: VTK::FiltersModelingPython-schwarz
1103/2526 Test #1105: VTK::FiltersModelingPython-TestSpherePuzzle .................................................. Passed 0.49 sec
Start 1112: VTK::FiltersModelingPython-smoothCyl
Test #1096: VTK::FiltersModelingPython-TestImprintFilter4 ................................................***Failed 0.72 sec
vtk version 9.0.0
2021-09-29 04:23:46.093 vtkpython[54981:7231108] ApplePersistence=NO
Min edge length: 0.212549
OpenGL vendor string: Apple
OpenGL renderer string: Apple M1
OpenGL version string: 4.1 Metal - 71.6.4
OpenGL extensions:
GL_ARB_blend_func_extended
GL_ARB_draw_buffers_blend
GL_ARB_draw_indirect
GL_ARB_ES2_compatibility
GL_ARB_explicit_attrib_location
GL_ARB_gpu_shader_fp64
GL_ARB_gpu_shader5
GL_ARB_instanced_arrays
GL_ARB_internalformat_query
GL_ARB_occlusion_query2
GL_ARB_sample_shading
GL_ARB_sampler_objects
GL_ARB_separate_shader_objects
GL_ARB_shader_bit_encoding
GL_ARB_shader_subroutine
GL_ARB_shading_language_include
GL_ARB_tessellation_shader
GL_ARB_texture_buffer_object_rgb32
GL_ARB_texture_cube_map_array
GL_ARB_texture_gather
GL_ARB_texture_query_lod
GL_ARB_texture_rgb10_a2ui
GL_ARB_texture_storage
GL_ARB_texture_swizzle
GL_ARB_timer_query
GL_ARB_transform_feedback2
GL_ARB_transform_feedback3
GL_ARB_vertex_attrib_64bit
GL_ARB_vertex_type_2_10_10_10_rev
GL_ARB_viewport_array
GL_EXT_debug_label
GL_EXT_debug_marker
GL_EXT_framebuffer_multisample_blit_scaled
GL_EXT_texture_compression_s3tc
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_sRGB_decode
GL_APPLE_client_storage
GL_APPLE_container_object_shareable
GL_APPLE_flush_render
GL_APPLE_rgb_422
GL_APPLE_row_bytes
GL_APPLE_texture_range
GL_NV_texture_barrier
PixelFormat Descriptor:
colorSize: 32
alphaSize: 8
stencilSize: 0
depthSize: 32
accumSize: 0
double buffer: Yes
stereo: No
stencil: 0
hardware acceleration: Yes
profile version: 0x4100
<DartMeasurement name="ImageError" type="numeric/double">0.163399</DartMeasurement><DartMeasurement name="BaselineImage" type="text/string">Standard</DartMeasurement><DartMeasurementFile name="TestImage" type="image/png">/opt/glr/vtk/vtk-ci/build/Testing/Temporary/TestImprintFilter4.png</DartMeasurementFile>
Failed Image Test ( TestImprintFilter4.png ) : 0.163399
Image differencing failed to produce an image because images are different size:
Valid image: 2925, 1647, 1
Test image: 300, 200, 1
<DartMeasurement name="WallTime" type="numeric/double">0.340492</DartMeasurement>
<DartMeasurement name="CPUTime" type="numeric/double">0.267252</DartMeasurement>
```https://gitlab.kitware.com/vtk/vtk/-/issues/18324Update Python wrapper documentation2021-10-25T08:27:52-04:00David GobbiUpdate Python wrapper documentationThe wrapper documentation is several years out-of-date and contains inaccuracies.
**Wrapping/Python/README.md**
This file currently contains general (but outdated) information on the Python wrappers, and it should be brought up-to-date...The wrapper documentation is several years out-of-date and contains inaccuracies.
**Wrapping/Python/README.md**
This file currently contains general (but outdated) information on the Python wrappers, and it should be brought up-to-date and moved to Documentation/Doxygen. The readme for Wrapping/Python should instead contain information about the contents of that directory (vtkPythonAppInit and vtkmodules).
**Wrapping/PythonCore/**
This directory currently has no documentation, but should have some. This directory contains extension classes and utility classes that are used by the Python wrappers.
**Wrapping/Tools/README.txt**
This file currently contains instructions on how to run lex and yacc to build the parser. It should be expanded to give a high-level overview of how the wrappers are constructed. And it should be re-named to README.md.https://gitlab.kitware.com/vtk/vtk/-/issues/18325Release 9.1.0.rc12023-06-01T00:54:25-04:00Ben BoeckelRelease 9.1.0.rc1# Update VTK
- Update the local copy of `master`.
- If `0.rc1` is `0.rc1`, update `master`
- Otherwise, update `release`
```
git fetch origin
git checkout master
git merge --ff-only origin/master # if this fails, there are loc...# Update VTK
- Update the local copy of `master`.
- If `0.rc1` is `0.rc1`, update `master`
- Otherwise, update `release`
```
git fetch origin
git checkout master
git merge --ff-only origin/master # if this fails, there are local commits that need to be removed
git submodule update --recursive --init
```
- If `master` is not `master`, ensure merge requests which should be
in the release have been merged. The [`backport-mrs.py`][backport-mrs]
script can be used to find and ensure that merge requests assigned to the
associated milestone are available on the `release` branch.
- Make a commit for each of these changes on a single topic (suggested branch
name: `update-to-v9.1.0`):
- Assemble release notes into `Documentation/release/9.1.md`.
- [x] If `PATCH` is greater than 0, add items to the end of this file.
- [x] Remove old release note files
- [x] If `master` is `master`, make a separate commit to update non-patch
version information.
- [x] Update `.gitlab/ci/cdash-groups.json` to track the `release` CDash
groups
- [x] Update `CMake/vtkVersion.cmake` and tag the commit (tag this commit below)
```
$EDITOR CMake/vtkVersion.cmake
git commit -m 'Update version number to 9.1.0.rc1' CMake/vtkVersion.cmake
```
- Create a merge request targeting `release`
- [x] Obtain a GitLab API token for the `kwrobot.release.vtk` user (ask
@ben.boeckel if you do not have one)
- [x] Add the `kwrobot.release.vtk` user to your fork with at least
`Developer` privileges (so it can open MRs)
- [x] Use [the `release-mr`][release-mr] script to open the create the
Merge Request (see script for usage)
- Pull the script for each release; it may have been updated since it
was last used
- The script outputs the information it will be using to create the
merge request. Please verify that it is all correct before creating
the merge request. See usage at the top of the script to provide
information that is either missing or incorrect (e.g., if its data
extraction heuristics fail).
- [x] Get positive review
- [x] `Do: merge`
- [x] Push the tag to the main repository
- [x] `git tag -a -m 'VTK 9.1.0.rc1' v9.1.0.rc1 commit-that-updated-vtkVersion.cmake`
- [x] `git push origin v9.1.0.rc1`
- Gather release assets
- [x] Source (from the `build:source` CI job in the tag pipeline)
- [x] Documentation (from the `release-prep:documentation` CI job in the tag pipeline)
- [x] Wheels (from the `build:wheel-*` jobs).
- Upload assets to `vtk.org`
- [x] `rsync -rptv $tarballs $wheels user@host:vtk_release/9.1/`
- [x] Update `vtk.org/download` with the new release (email
`comm@kitware.com` with filenames and hashes)
- Software process updates (these can all be done independently)
- [x] Update kwrobot with the new `release` branch rules (@ben.boeckel)
- [x] Run [this script][cdash-update-groups] to update the CDash groups
- This must be done after a nightly run to ensure all builds are in the
`release` group
- See the script itself for usage documentation
[backport-mrs]: https://gitlab.kitware.com/utils/release-utils/-/blob/master/backport-mrs.py
[release-mr]: https://gitlab.kitware.com/utils/release-utils/-/blob/master/release-mr.py
[cdash-update-groups]: https://gitlab.kitware.com/utils/cdash-utils/-/blob/master/cdash-update-groups.py
# Post-release
- [x] Post an announcement in the Announcements category on
[discourse.vtk.org](https://discourse.vtk.org/).
/cc @ben.boeckel
/cc @ken-martin
/cc @utkarsh.ayachit
/cc @vbolea
/cc @mwestphal
/cc @cory.quammenhttps://gitlab.kitware.com/vtk/vtk/-/issues/18326Rendering: add a Screen Space Subsurface Scattering pass2021-09-30T06:09:34-04:00Paul LafoixRendering: add a Screen Space Subsurface Scattering passIn order to render skin, or marble more realistically, we need to compute light diffusion under the surface (the scattering of light under the surface == Subsurface Scattering)
To achieve this, a simple and fast screen space algorithm e...In order to render skin, or marble more realistically, we need to compute light diffusion under the surface (the scattering of light under the surface == Subsurface Scattering)
To achieve this, a simple and fast screen space algorithm exists, Screen Space Subsurface Scattering (SSSS) : see https://therealmjp.github.io/posts/sss-intro/ or this good paper www.iryoku.com/sssss/downloads/Screen-Space-Perceptual-Rendering-of-Human-Skin.pdf
Technically, it works by a blurring the diffuse part with a gaussian kernel (and a diffusion profile).
[Here is a WIP branch that adds this pass as a RenderPass, but needs more kernel tweaking](https://gitlab.kitware.com/paul.lafoix/vtk/-/commits/SubsurfaceScattering)https://gitlab.kitware.com/vtk/vtk/-/issues/18327Fix remaining `vtkUnicodeString` usages2021-10-04T01:40:14-04:00Ben BoeckelFix remaining `vtkUnicodeString` usagesThere are a number of places which still operate on `vtkUnicodeString` which should be reworked. Some can probably just be ported to `std::string`, but others work on code points which may need reworking to consider complete grapheme clu...There are a number of places which still operate on `vtkUnicodeString` which should be reworked. Some can probably just be ported to `std::string`, but others work on code points which may need reworking to consider complete grapheme clusters (primarily the font-related bits).
- [ ] `IO/Export/vtkSVGContextDevice2D.cxx`
- [ ] `FontInfo` (should probably consider graphemes)
- [ ] `DrawString`
- [ ] `ComputeStringBounds`
- [ ] `ComputeJustifiedStringBounds`
- [ ] `IO/Core/vtkTextCodec.h`
- [ ] `OutputIterator` works on code points; it should instead be reworked to handle UTF-8 byte streams I imagine.
- [ ] `IO/Infovis/vtkDelimitedTextReader.cxx`
- [ ] `DelimitedTextIterator` works on code points as well (relies on `vtkTextCodec::OutputIterator`)
- [ ] IO/TecplotTable/vtkTecplotTableReader.cxx`
- [ ] A copy of `DelimitedTextIterator` from above
- [ ] `Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx`
- [ ] `DrawString`
- [ ] `ComputeStringBounds`
- [ ] `ComputeJustifiedStringBounds`
- [ ] `Views/Infovis/vtkParallelCoordinatesRepresentation.cxx`
- [ ] `GetHoverString`
Cc: @todoooohttps://gitlab.kitware.com/vtk/vtk/-/issues/18328Streamline configuration of client project adding PYTHON_* and Python3_* vari...2021-10-21T21:03:12-04:00Jean-Christophe Fillion-RobinStreamline configuration of client project adding PYTHON_* and Python3_* variables vtk-config (or alike)To streamline the configuration of project that do not directly use python but depends on a VTK build tree wrapped in python, it would be helpful to include all the python variables in the VTK configuration associated with the build tree...To streamline the configuration of project that do not directly use python but depends on a VTK build tree wrapped in python, it would be helpful to include all the python variables in the VTK configuration associated with the build tree.
The goal is to avoid passing blocks like these ones and expect VTK to find the python it was build against:
```
-DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE}
-DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY}
-DPYTHON_INCLUDE_DIR:FILEPATH=${PYTHON_INCLUDE_DIR}
-DPython3_EXECUTABLE:FILEPATH=${Python3_EXECUTABLE}
-DPython3_LIBRARY:FILEPATH=${Python3_LIBRARY}
-DPython3_INCLUDE_DIR:PATH=${Python3_INCLUDE_DIR}
```
Notes:
* These comments only apply to a VTK build tree and **NOT** a VTK install tree.
References:
* https://github.com/openigtlink/SlicerOpenIGTLink/pull/116
* https://discourse.slicer.org/t/superbuild-extension-builds-failed-when-python-was-installed-good-solution/199389.1Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/18329SSL certificate error on Gitlab2021-10-04T12:09:57-04:00ToddSSL certificate error on Gitlab```
> git.exe push -v --progress "origin" master:master
> fatal: unable to access 'https://gitlab.kitware.com/todoooo/vtk.git/': SSL certificate problem: certificate has expired
> Pushing to https://gitlab.kitware.com/todoooo/vtk.git
``````
> git.exe push -v --progress "origin" master:master
> fatal: unable to access 'https://gitlab.kitware.com/todoooo/vtk.git/': SSL certificate problem: certificate has expired
> Pushing to https://gitlab.kitware.com/todoooo/vtk.git
```https://gitlab.kitware.com/vtk/vtk/-/issues/18330Resetting view-up since view plane normal is parallel2021-10-05T06:32:27-04:00Dharani PrasadResetting view-up since view plane normal is parallel`vtkOpenGLRenderer (000002D0898B0170): **Resetting view-up since view plane normal is parallel**`
I'm using VTK 8.0 with Qt. While I try to implement camera pitch operation for the values more than +88 and -88, the above mentioned warni...`vtkOpenGLRenderer (000002D0898B0170): **Resetting view-up since view plane normal is parallel**`
I'm using VTK 8.0 with Qt. While I try to implement camera pitch operation for the values more than +88 and -88, the above mentioned warning appears and resets the object. Can someone help me out to find solution for this problem?
Thanks.https://gitlab.kitware.com/vtk/vtk/-/issues/18331Is it possible to export data to netgen then read meshing result from it dire...2021-10-05T06:32:49-04:00Alex LuyaIs it possible to export data to netgen then read meshing result from it directly without file?Following code can export meshing result as vtu file
```
from netgen import occ, meshing
from ngsolve.utils import *
from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader
from ngsolve.comp import *
from ngsolve.solve import *
# ...Following code can export meshing result as vtu file
```
from netgen import occ, meshing
from ngsolve.utils import *
from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader
from ngsolve.comp import *
from ngsolve.solve import *
# from netgen.csg import unit_cube
# mesh = unit_cube.GenerateMesh (maxh = 0.2)
# load geo
geo = occ.OCCGeometry('../resource/frame.step')
# generate mesh from geo
mesh = geo.GenerateMesh(maxh = 1000, perfstepsend = meshing.MeshingStep.MESHSURFACE)
# convert to ngsolve mesh
mesh = Mesh(mesh)
# export mesh as result.vtu
v = FESpace(type = "hdivho", mesh = mesh, order = 1, dirichlet = [1, 2, 3])
u = GridFunction (space = v)
vtk = VTKOutput(ma = mesh,
coefs = [u],
names = ["density", "velocity"],
filename = "result",
subdivision = 3)
vtk.Do()
# read exported file: result.vtu
reader = vtkXMLUnstructuredGridReader()
reader.SetFileName("result.vtu")
reader.Update()
```
Geo can be exported from vtk pipeline also,my questions are:
1, How to pass geo from vtk to netgen directly,not need to export files?
2, How to read mesh from netgen directly,not need to export/read files?https://gitlab.kitware.com/vtk/vtk/-/issues/18332OpenXR: Implement controls helper2024-03-01T17:42:21-05:00Scott WittenburgOpenXR: Implement controls helperCurrently the `vtkOpenXRControlsHelper` is an empty stub and requires implementation of the `InitControlPosition()` method to position the tooltip relative to the component.Currently the `vtkOpenXRControlsHelper` is an empty stub and requires implementation of the `InitControlPosition()` method to position the tooltip relative to the component.Scott WittenburgScott Wittenburghttps://gitlab.kitware.com/vtk/vtk/-/issues/18333Release 9.1.0.rc22023-06-01T00:54:33-04:00Ben BoeckelRelease 9.1.0.rc2# Update VTK
- Update the local copy of `release`.
- If `0.rc2` is `0.rc1`, update `master`
- Otherwise, update `release`
```
git fetch origin
git checkout release
git merge --ff-only origin/release # if this fails, there are ...# Update VTK
- Update the local copy of `release`.
- If `0.rc2` is `0.rc1`, update `master`
- Otherwise, update `release`
```
git fetch origin
git checkout release
git merge --ff-only origin/release # if this fails, there are local commits that need to be removed
git submodule update --recursive --init
```
- If `release` is not `master`, ensure merge requests which should be
in the release have been merged. The [`backport-mrs.py`][backport-mrs]
script can be used to find and ensure that merge requests assigned to the
associated milestone are available on the `release` branch.
- Make a commit for each of these changes on a single topic (suggested branch
name: `update-to-v9.1.0`):
- Assemble release notes into `Documentation/release/9.1.md`.
- [x] If `PATCH` is greater than 0, add items to the end of this file.
- [x] If `release` is `master`, update the non-patch version in a
separate commit (so that `master` gets it as well).
- [x] Remove old release note files
- [x] Update `.gitlab/ci/cdash-groups.json` to track the `release` CDash
groups
- [x] Update `CMake/vtkVersion.cmake` and tag the commit (tag this commit below)
```
$EDITOR CMake/vtkVersion.cmake
git commit -m 'Update version number to 9.1.0.rc2' CMake/vtkVersion.cmake
```
- Create a merge request targeting `release`
- [x] Obtain a GitLab API token for the `kwrobot.release.vtk` user (ask
@ben.boeckel if you do not have one)
- [x] Add the `kwrobot.release.vtk` user to your fork with at least
`Developer` privileges (so it can open MRs)
- [x] Use [the `release-mr`][release-mr] script to open the create the
Merge Request (see script for usage)
- Pull the script for each release; it may have been updated since it
was last used
- The script outputs the information it will be using to create the
merge request. Please verify that it is all correct before creating
the merge request. See usage at the top of the script to provide
information that is either missing or incorrect (e.g., if its data
extraction heuristics fail).
- [x] Get positive review
- [x] `Do: merge`
- [x] Push the tag to the main repository
- [x] `git tag -a -m 'VTK 9.1.0.rc2' v9.1.0.rc2 commit-that-updated-vtkVersion.cmake`
- [x] `git push origin v9.1.0.rc2`
- Gather release assets
- [x] Source (from the `build:source` CI job in the tag pipeline)
- [x] Documentation (from the `release-prep:documentation` CI job in the tag pipeline)
- [x] Wheels (from the `build:wheel-*` jobs).
- Upload assets to `vtk.org`
- [x] `rsync -rptv $tarballs $wheels user@host:vtk_release/9.1/`
- [x] Update `vtk.org/download` with the new release (email
`comm@kitware.com` with filenames and hashes)
- Software process updates (these can all be done independently)
- [x] Update kwrobot with the new `release` branch rules (@ben.boeckel)
- [x] Run [this script][cdash-update-groups] to update the CDash groups
- This must be done after a nightly run to ensure all builds are in the
`release` group
- See the script itself for usage documentation
- Deprecation updates (if `release` is `master`)
- [x] Update deprecation macros for the next release
- [x] Remove deprecated symbols from before the *prior* release
- [x] Update `VTK_MINIMUM_DEPRECATION_LEVEL` to be that of the *prior*
release
[backport-mrs]: https://gitlab.kitware.com/utils/release-utils/-/blob/master/backport-mrs.py
[release-mr]: https://gitlab.kitware.com/utils/release-utils/-/blob/master/release-mr.py
[cdash-update-groups]: https://gitlab.kitware.com/utils/cdash-utils/-/blob/master/cdash-update-groups.py
# Post-release
- [x] Post an announcement in the Announcements category on
[discourse.vtk.org](https://discourse.vtk.org/).
/cc @ben.boeckel
/cc @ken-martin
/cc @utkarsh.ayachitVicente Boleavicente.bolea@kitware.comVicente Boleavicente.bolea@kitware.comhttps://gitlab.kitware.com/vtk/vtk/-/issues/18334RegisterAndGetOutputString methods need work2021-11-15T16:22:54-05:00Ben BoeckelRegisterAndGetOutputString methods need workThe `RegisterAndGetOutputString` methods on the following classes need help in some way:
- `vtkDelimitedTextWriter`
- `vtkX3DExporter`
- `vtkX3DExporterWriter`
- `vtkGeoJSONWriter`
- `vtkDataWriter`
They are documented to ret...The `RegisterAndGetOutputString` methods on the following classes need help in some way:
- `vtkDelimitedTextWriter`
- `vtkX3DExporter`
- `vtkX3DExporterWriter`
- `vtkGeoJSONWriter`
- `vtkDataWriter`
They are documented to return memory which needs free'd (using `delete[]`), but the wrappers do not know this, so they end up being leaked if called from any wrapping language.
I think they'd be better off as `std::string` returns and removal of any memory management shenanigans instead (with new names and deprecations for the existing names since they cannot be changed compatibly).
Cc: @dgobbihttps://gitlab.kitware.com/vtk/vtk/-/issues/18335can't install with Python 3.102023-10-24T18:19:44-04:00Alexander Hegercan't install with Python 3.10Can't install vtk on poythin 3.10. Default pip find no compatible version, installing from git give
```
~>pip3 install vtk
ERROR: Could not find a version that satisfies the requirement vtk (from versions: none)
ERROR: No matching distr...Can't install vtk on poythin 3.10. Default pip find no compatible version, installing from git give
```
~>pip3 install vtk
ERROR: Could not find a version that satisfies the requirement vtk (from versions: none)
ERROR: No matching distribution found for vtk
~>pip3 install git+https://gitlab.kitware.com/vtk/vtk.git
Collecting git+https://gitlab.kitware.com/vtk/vtk.git
Cloning https://gitlab.kitware.com/vtk/vtk.git to /tmp/pip-req-build-c33xtydz
Running command git clone -q https://gitlab.kitware.com/vtk/vtk.git /tmp/pip-req-build-c33xtydz
Resolved https://gitlab.kitware.com/vtk/vtk.git to commit 2b4475008cdacb88831f2908f2017cd829db48f7
Running command git submodule update --init --recursive -q
ERROR: File "setup.py" not found for legacy project git+https://gitlab.kitware.com/vtk/vtk.git.
```
Maybe you want to update vtk install procedure.https://gitlab.kitware.com/vtk/vtk/-/issues/18336Same texture used in two renders window fails2021-10-26T05:39:55-04:00Timothee ChabatSame texture used in two renders window failsCreating a single texture used in multiple **render windows** does not work. Note that using the same texture in 2 different renderers but in the same render window works fine.
See below for a minimal example :
```cpp
#include <vtkActo...Creating a single texture used in multiple **render windows** does not work. Note that using the same texture in 2 different renderers but in the same render window works fine.
See below for a minimal example :
```cpp
#include <vtkActor.h>
#include <vtkCamera.h>
#include <vtkNew.h>
#include <vtkPolyDataMapper.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkSmartPointer.h>
#include <vtkPlaneSource.h>
#include <vtkTexture.h>
#include <vtkPNGReader.h>
#include <array>
int main(int, char*[])
{
std::array<vtkNew<vtkRenderWindow>, 2> renderWindows;
std::array<vtkNew<vtkRenderWindowInteractor>, 2> interactors;
// XXX: ---------------------------------
// Moving this into the for loop will make the program behave correctly
vtkNew<vtkPNGReader> texReader;
texReader->SetFileName("/home/timothee/Misc/Images/plain.png");
vtkNew<vtkTexture> texture;
texture->SetInputConnection(texReader->GetOutputPort());
texture->Update();
// ---------------------------------------
for (int i : {0, 1})
{
vtkNew<vtkPlaneSource> plane;
plane->Update();
renderWindows[i]->SetWindowName("ShareCamera");
renderWindows[i]->SetSize(400, 400);
interactors[i]->SetRenderWindow(renderWindows[i]);
vtkNew<vtkPolyDataMapper> mapper;
mapper->SetInputConnection(plane->GetOutputPort());
vtkNew<vtkActor> actor;
actor->SetMapper(mapper);
actor->SetTexture(texture);
vtkNew<vtkRenderer> renderer;
renderer->AddActor(actor);
renderer->SetBackground(0.2, 0.2, 0.2);
renderWindows[i]->AddRenderer(renderer);
vtkCamera* camera = nullptr;
if (i == 0)
{
camera = renderer->GetActiveCamera();
camera->Azimuth(30);
camera->Elevation(30);
}
else
{
renderer->SetActiveCamera(camera);
}
renderer->ResetCamera();
renderWindows[i]->Render();
}
interactors[0]->Start();
return EXIT_SUCCESS;
}
```https://gitlab.kitware.com/vtk/vtk/-/issues/18337vtkCollection API issues2021-11-15T16:27:43-05:00Ben BoeckelvtkCollection API issuesThere are a few issues with the API exposed by `vtkCollection`. Namely, that a `vtkXCollection` can end up containing objects that are not a `vtkX` using the available APIs.
### Type-unsafe APIs
First up is that every collection is exp...There are a few issues with the API exposed by `vtkCollection`. Namely, that a `vtkXCollection` can end up containing objects that are not a `vtkX` using the available APIs.
### Type-unsafe APIs
First up is that every collection is exposed to this via the `vtkCollection::AddItem(vtkObject*)` method. This allows simply inserting *any* `vtkObject` into any collection. Since not all `vtkObject` instances are instances of the expected collection type, this method is likely not something that can be supported (though each collection does overload it with its own type).
Note that `const vtkXCollection*` casting to `const vtkCollection*` *is* OK since all `const` APIs (should be) covariant in the collection type. With VTK's current `const`-correctness, this is the empty set.
### Type-unsafe casting
Even if we got rid of the type-unsafe `vtkCollection` APIs, we still have some collections that inherit other collections. These should probably be instead just be rebased onto `vtkCollection`, though some rendering APIs do expect to be passed a `vtkPropCollection` for insertion.
Example code:
```c++
// Create a collection of actors.
vtkNew<vtkActorCollection> actors;
{
// Cast to `vtkPropCollection` to call some API.
vtkPropCollection* props = actors;
// Make a 3D prop.
vtkNew<vtkVolume> prop;
props->AddItem(prop);
}
// Try and iterate through the actors.
actors->InitTraversal();
vtkObject* o;
while ((o = actors->GetNextItemAsObject()))
{
assert(o->IsA("vtkActor") && "How did a non-actor get into an actor collection?");
}
```
- `vtkConvertToPartitionedDataSetCollection` inherits `vtkPartitionedDataSetCollectionAlgorithm`
- `vtkActor2DCollection` inherits `vtkPropCollection`
- `vtkActorCollection` inherits `vtkPropCollection`
- `vtkProp3DCollection` inherits `vtkPropCollection`
- `vtkVolumeCollection` inherits `vtkPropCollection`
- `vtkImageSliceCollection` inherits `vtkPropCollection`
### Collections that aren't
There are a few `vtkXCollection` classes that do not inherit from `vtkCollection`. These are probably worth looking at.
- `vtkGenericAttributeCollection` inherits `vtkObject`
- `vtkPartitionedDataSetCollection` inherits `vtkDataObjectTree`
- `vtkLSDynaPartCollection` inherits `vtkObject`https://gitlab.kitware.com/vtk/vtk/-/issues/18338Streamline configuration of client project adding OpenVR_INCLUDE_DIR and Open...2022-05-11T00:49:19-04:00Jean-Christophe Fillion-RobinStreamline configuration of client project adding OpenVR_INCLUDE_DIR and OpenVR_LIBRARY to vtk-configTo streamline the configuration of project that do not directly use python but depends on a VTK build tree, it would be helpful to include these variables in the VTK configuration associated with the build tree.
Notes:
* These comments...To streamline the configuration of project that do not directly use python but depends on a VTK build tree, it would be helpful to include these variables in the VTK configuration associated with the build tree.
Notes:
* These comments only apply to a VTK build tree and **NOT** a VTK install tree.https://gitlab.kitware.com/vtk/vtk/-/issues/18339Export external dependencies CMake variables required by "find_package()" i...2022-05-11T00:49:19-04:00Jean-Christophe Fillion-RobinExport external dependencies CMake variables required by "find_package()" into vtk-config associated with VTK build-treeTo drastically streamline the configuration of project indirectly depending on VTK build tree having module like OpenVR enabled, including the relevant CMake variables in the `vtk-config` associated with the build tree should be implemen...To drastically streamline the configuration of project indirectly depending on VTK build tree having module like OpenVR enabled, including the relevant CMake variables in the `vtk-config` associated with the build tree should be implemented.
Two cases:
* For project providing a `<name>-config.cmake` file, the variable `<name>_DIR` should be included
* For project with a `Find<name>.cmake` module shipped with VTK, the relevant `<name>_INCLUDE_DIR`, `<name>_LIBRARY_NAME` and `<name>_OPTION1` should be exported.
Related issues:
* https://gitlab.kitware.com/vtk/vtk/-/issues/18338
* https://gitlab.kitware.com/vtk/vtk/-/issues/18328https://gitlab.kitware.com/vtk/vtk/-/issues/18340TestHyperTreeGridBitmask.cxx:141:12: error: narrowing conversion of '-1' from...2021-10-29T13:17:39-04:00Orion PoplawskiTestHyperTreeGridBitmask.cxx:141:12: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing]Trying to build vtk 9.1.0.rc1 on Fedora Rawhide, build fails on 32 and 64-bit arm:
```
/builddir/build/BUILD/VTK-9.1.0.rc1/Common/DataModel/Testing/Cxx/TestHyperTreeGridBitmask.cxx: In function 'int TestUniformHyperTreeOneRootCellSubdivi...Trying to build vtk 9.1.0.rc1 on Fedora Rawhide, build fails on 32 and 64-bit arm:
```
/builddir/build/BUILD/VTK-9.1.0.rc1/Common/DataModel/Testing/Cxx/TestHyperTreeGridBitmask.cxx: In function 'int TestUniformHyperTreeOneRootCellSubdivided()':
/builddir/build/BUILD/VTK-9.1.0.rc1/Common/DataModel/Testing/Cxx/TestHyperTreeGridBitmask.cxx:141:12: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing]
141 | subdivide(cursor, { 7, 2, -1, -1, 2, 7 });
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/VTK-9.1.0.rc1/Common/DataModel/Testing/Cxx/TestHyperTreeGridBitmask.cxx: In function 'int TestUniformHyperTreeSeveralRootCellsSubdivided()':
/builddir/build/BUILD/VTK-9.1.0.rc1/Common/DataModel/Testing/Cxx/TestHyperTreeGridBitmask.cxx:202:39: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing]
202 | initUniformHyperTreeSeveralRootCells(uhtg, { { 5, 0, -1, 2 }, { 7, 7, 7 }, { 4, -1, 6 }, { 4 } });
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [Common/DataModel/Testing/Cxx/CMakeFiles/vtkCommonDataModelCxxTests.dir/build.make:471: Common/DataModel/Testing/Cxx/CMakeFiles/vtkCommonDataModelCxxTests.dir/TestHyperTreeGridBitmask.cxx.o] Error 1
```Yohann Bearzi (Kitware)Yohann Bearzi (Kitware)https://gitlab.kitware.com/vtk/vtk/-/issues/18341Move Python tests from Common/Core to Wrapping/Python2021-10-11T12:11:16-04:00David GobbiMove Python tests from Common/Core to Wrapping/PythonMost of the tests in [Common/Core/Testing/Python](Common/Core/Testing/Python) are testing the functionality of the wrappers, rather than testing classes in the CommonCore module. These tests often use classes that are outside of CommonC...Most of the tests in [Common/Core/Testing/Python](Common/Core/Testing/Python) are testing the functionality of the wrappers, rather than testing classes in the CommonCore module. These tests often use classes that are outside of CommonCore. A better location would be [Wrapping/Python/Testing](Wrapping/Python/Testing/Python). The dependencies of the test should be considered when deciding where to move them.
The following Python tests should remain in Common/Core: TestArrays, TestSOADataArrays, and TestVariant.https://gitlab.kitware.com/vtk/vtk/-/issues/18342Quadratic cell point array (ab)use2021-10-13T15:15:20-04:00Ben BoeckelQuadratic cell point array (ab)useIn my attempted refactor of the `quadraticEvaluation` test, it exposed some memory shenanigans being performed within some cell types (no guarantee that this is an exhaustive list, just what AddressSanitizer/valgrind/glibc/gdb end up wit...In my attempted refactor of the `quadraticEvaluation` test, it exposed some memory shenanigans being performed within some cell types (no guarantee that this is an exhaustive list, just what AddressSanitizer/valgrind/glibc/gdb end up witnessing):
- `vtkQuadraticQuad`
- `vtkQuadraticTetra`
- `vtkQuadraticHexahedron`
- `vtkQuadraticWedge`
- `vtkQuadraticPyramid`
- `vtkQuadraticLinearWedge`
- `vtkBiQuadraticQuadraticWedge`
- `vtkBiQuadraticQuadraticHexahedron`
The patterns seems to be that the cell assumes that it "owns" the point array and resizes it on its own internally to store extra data (e.g., a center point). However, the point array can be some larger-scale storage of point data and all accesses should be mediated via the `PointIds` array. Any extra points needed should be stored locally within the class explicitly rather than trying to (ab)use direct access to the point array.
Exposed in refactoring of `quadraticEvaluation` in ben.boeckel/vtk@03ab8364fc968102b329094fd81036c8cab56b7b
Cc: @will.schroeder @spiros.tsalikis @dcthomp @yohann.bearziSpiros TsalikisSpiros Tsalikishttps://gitlab.kitware.com/vtk/vtk/-/issues/18343Config failure for python static build2021-10-28T18:10:25-04:00David GobbiConfig failure for python static buildOn ubuntu 20.04, the following config gives an error for the current release head:
```bash
cmake -G Ninja ../vtk-gitlab -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF \
-DVTK_BUILD_TESTING=OFF -DVTK_PYTHON_VERSION=3 -DVTK_WRAP...On ubuntu 20.04, the following config gives an error for the current release head:
```bash
cmake -G Ninja ../vtk-gitlab -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF \
-DVTK_BUILD_TESTING=OFF -DVTK_PYTHON_VERSION=3 -DVTK_WRAP_PYTHON=ON
```
```text
CMake Error at CMake/vtkModuleWrapPython.cmake:987 (target_link_libraries):
INTERFACE library can only be used with the INTERFACE keyword of
target_link_libraries
```
The cmake code in question:
```cmake
if (_vtk_python_UTILITY_TARGET)
target_link_libraries("${_vtk_python_TARGET_NAME}"
PRIVATE
"${_vtk_python_UTILITY_TARGET}")
endif ()
```
Tested with cmake 3.16.3 and with 3.21, both produced the same error.9.1Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/18344Destructor of vtkDataEncoder hangs with apparent deadlock2022-07-13T11:57:55-04:00Mark DickinsonDestructor of vtkDataEncoder hangs with apparent deadlockThis issue was cut down from a problem with the Mayavi package. With the Python "vtk" package, I'm able to easily hang the process simply by creating `vtkDataEncoder` instances and then allowing them to be garbage collected.
The followi...This issue was cut down from a problem with the Mayavi package. With the Python "vtk" package, I'm able to easily hang the process simply by creating `vtkDataEncoder` instances and then allowing them to be garbage collected.
The following simple script hangs for me on macOS 10.15.7 on an Intel MacBook Pro, Python 3.9.7, vtk 9.0.3:
```
import vtk
print("Version:", vtk.VTK_VERSION)
print("Starting loop")
for _ in range(100):
vtk.vtkDataEncoder()
print("Finished")
```
The output is just:
```
(mayavi) mdickinson@mirzakhani Desktop % python vtk_bug.py
Version: 9.0.3
Starting loop
```
Attaching lldb to the hanging process shows that it's locked at the point where it's trying to tear down the thread pool:
```
mdickinson@mirzakhani ~ % lldb -p 6292
(lldb) process attach --pid 6292
Process 6292 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
frame #0: 0x00007fff70dad55e libsystem_kernel.dylib`__ulock_wait + 10
libsystem_kernel.dylib`__ulock_wait:
-> 0x7fff70dad55e <+10>: jae 0x7fff70dad568 ; <+20>
0x7fff70dad560 <+12>: movq %rax, %rdi
0x7fff70dad563 <+15>: jmp 0x7fff70dac629 ; cerror_nocancel
0x7fff70dad568 <+20>: retq
Target 0: (Python) stopped.
Executable module set to "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python".
Architecture set to: x86_64h-apple-macosx-.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
* frame #0: 0x00007fff70dad55e libsystem_kernel.dylib`__ulock_wait + 10
frame #1: 0x00007fff70e705c2 libsystem_pthread.dylib`_pthread_join + 347
frame #2: 0x000000010a4f28a2 libvtkCommonCore-9.0.dylib`vtkMultiThreader::TerminateThread(int) + 226
frame #3: 0x000000010a8845cc libvtkWebCore-9.0.dylib`vtkDataEncoder::vtkInternals::TerminateAllWorkers() + 124
frame #4: 0x000000010a88467d libvtkWebCore-9.0.dylib`vtkDataEncoder::~vtkDataEncoder() + 29
frame #5: 0x000000010a283e3d libvtkWrappingPythonCore-9.0.dylib`vtkPythonUtil::RemoveObjectFromMap(_object*) + 157
frame #6: 0x000000010a268215 libvtkWrappingPythonCore-9.0.dylib`PyVTKObject_Delete + 37
frame #7: 0x000000010980fb57 Python`_PyEval_EvalFrameDefault + 2263
frame #8: 0x0000000109818be2 Python`_PyEval_EvalCode + 2008
frame #9: 0x000000010980f1c8 Python`PyEval_EvalCode + 57
frame #10: 0x000000010984a059 Python`run_eval_code_obj + 110
frame #11: 0x0000000109849230 Python`run_mod + 103
frame #12: 0x00000001098493ae Python`pyrun_file + 216
frame #13: 0x0000000109847a4e Python`PyRun_SimpleFileExFlags + 660
frame #14: 0x000000010985f7c7 Python`Py_RunMain + 1839
frame #15: 0x000000010985fb36 Python`pymain_main + 360
frame #16: 0x000000010985fb8b Python`Py_BytesMain + 42
frame #17: 0x00007fff70c6acc9 libdyld.dylib`start + 1
frame #18: 0x00007fff70c6acc9 libdyld.dylib`start + 1
```9.1Utkarsh AyachitUtkarsh Ayachithttps://gitlab.kitware.com/vtk/vtk/-/issues/18345vtk app CPU usage 100%.2021-10-18T05:53:50-04:00BeyondXinXinvtk app CPU usage 100%.After modify `vtkCubeAxesActor` `TitleText` colour,CPU usage 100%.
# Set the uniform color and everything is normal
```cpp
class Callback : public vtkCommand
{
public:
vtkTypeMacro(Callback, vtkCommand);
static Callback *New(...After modify `vtkCubeAxesActor` `TitleText` colour,CPU usage 100%.
# Set the uniform color and everything is normal
```cpp
class Callback : public vtkCommand
{
public:
vtkTypeMacro(Callback, vtkCommand);
static Callback *New();
void Execute(vtkObject *vtkNotUsed(caller), unsigned long vtkNotUsed(eventId),
void *vtkNotUsed(callData));
vtkRenderWindow *window_;
};
vtkStandardNewMacro(Callback);
void Callback::Execute(vtkObject *vtkNotUsed(caller),
unsigned long vtkNotUsed(eventId),
void *vtkNotUsed(callData))
{
window_->Render();
}
int main(int, char *[])
{
vtkNew<vtkRenderer> renderer;
vtkNew<vtkCubeAxesActor> cubeAxesActor;
cubeAxesActor->SetCamera(renderer->GetActiveCamera());
cubeAxesActor->GetTitleTextProperty(0)->SetColor(0.0, 1.0, 0.0);
cubeAxesActor->GetTitleTextProperty(1)->SetColor(0.0, 1.0, 0.0);
cubeAxesActor->GetTitleTextProperty(2)->SetColor(0.0, 1.0, 0.0);
renderer->AddActor(cubeAxesActor);
renderer->ResetCamera();
vtkNew<vtkRenderWindow> renderWindow;
renderWindow->AddRenderer(renderer);
renderWindow->SetSize(640, 480);
vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
renderWindowInteractor->SetRenderWindow(renderWindow);
renderWindow->Render();
renderer->GetActiveCamera()->Zoom(0.8);
vtkNew<Callback> callback;
callback->window_ = renderWindow;
renderWindowInteractor->CreateRepeatingTimer(10);
renderWindowInteractor->AddObserver(vtkCommand::TimerEvent, callback);
renderWindowInteractor->Start();
return EXIT_SUCCESS;
}
```
![image](/uploads/cf058a3d0930391e8e6d6765d8c64044/image.png)
# Set different colors,CPU usage 100%.
```cpp
class Callback : public vtkCommand
{
public:
vtkTypeMacro(Callback, vtkCommand);
static Callback *New();
void Execute(vtkObject *vtkNotUsed(caller), unsigned long vtkNotUsed(eventId),
void *vtkNotUsed(callData));
vtkRenderWindow *window_;
};
vtkStandardNewMacro(Callback);
void Callback::Execute(vtkObject *vtkNotUsed(caller),
unsigned long vtkNotUsed(eventId),
void *vtkNotUsed(callData))
{
window_->Render();
}
int main(int, char *[])
{
vtkNew<vtkRenderer> renderer;
vtkNew<vtkCubeAxesActor> cubeAxesActor;
cubeAxesActor->SetCamera(renderer->GetActiveCamera());
cubeAxesActor->GetTitleTextProperty(1)->SetColor(0.0, 1.0, 0.0);
renderer->AddActor(cubeAxesActor);
renderer->ResetCamera();
vtkNew<vtkRenderWindow> renderWindow;
renderWindow->AddRenderer(renderer);
renderWindow->SetSize(640, 480);
vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
renderWindowInteractor->SetRenderWindow(renderWindow);
renderWindow->Render();
renderer->GetActiveCamera()->Zoom(0.8);
vtkNew<Callback> callback;
callback->window_ = renderWindow;
renderWindowInteractor->CreateRepeatingTimer(10);
renderWindowInteractor->AddObserver(vtkCommand::TimerEvent, callback);
renderWindowInteractor->Start();
return EXIT_SUCCESS;
}
```
![image](/uploads/73c6fa57b5596303724597ca77e04d2c/image.png)
https://gitlab.kitware.com/vtk/vtk/-/blob/master/Rendering/Annotation/vtkCubeAxesActor.cxx
# Comment out these three lines. Everything is normal
https://gitlab.kitware.com/vtk/vtk/-/blob/master/Rendering/Annotation/vtkCubeAxesActor.cxx#L1668
![image](/uploads/dac55af0c62d63d4621587ca9e1ca364/image.png)https://gitlab.kitware.com/vtk/vtk/-/issues/18346vtkExtractParticlesOverTime filter output does not change over time2021-11-15T04:13:10-05:00Francois MazenvtkExtractParticlesOverTime filter output does not change over timeThe output of the `vtkExtractParticlesOverTime` filter does not change over time. The extracted particles are always at first time step whatever the requested time step.
Sample code to reproduce:
```cpp
vtkNew<vtkTimeSourceExample> t...The output of the `vtkExtractParticlesOverTime` filter does not change over time. The extracted particles are always at first time step whatever the requested time step.
Sample code to reproduce:
```cpp
vtkNew<vtkTimeSourceExample> timeSource;
timeSource->SetXAmplitude(10);
timeSource->SetYAmplitude(0);
vtkNew<vtkSphereSource> sphere;
sphere->SetCenter(10, 0, 0);
vtkNew<vtkDelaunay3D> delaunay;
delaunay->SetInputConnection(sphere->GetOutputPort());
vtkNew<vtkExtractParticlesOverTime> particleExtraction;
particleExtraction->SetInputConnection(0, timeSource->GetOutputPort());
particleExtraction->SetInputConnection(1, delaunay->GetOutputPort());
double initialTimeStep = 0.5;
particleExtraction->UpdateTimeStep(initialTimeStep);
auto* resultDataObject = particleExtraction->GetOutputDataObject(0);
auto* resultDataSet = vtkDataSet::SafeDownCast(resultDataObject);
double* firstPointCoordinates = resultDataSet->GetPoint(0);
// Expected point coordinate is [3.4202, 0, 0], whereas we get [0, 0, 0]
```
Introduced by https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8503https://gitlab.kitware.com/vtk/vtk/-/issues/18347Python: broken wxVTKRenderWindow and wxVTKRenderWindowInteractor2021-10-19T11:10:15-04:00Noè MurrPython: broken wxVTKRenderWindow and wxVTKRenderWindowInteractor## Problem
I'm trying to run the `wxVTKRenderWindowConeExample` function from the file `vtkmodules.wx.wxVTKRenderWindow` on ubuntu 20.04 and on windows 10.
The example is not working and it's just showing an empty window (black on linu...## Problem
I'm trying to run the `wxVTKRenderWindowConeExample` function from the file `vtkmodules.wx.wxVTKRenderWindow` on ubuntu 20.04 and on windows 10.
The example is not working and it's just showing an empty window (black on linux, white on windows).
![image](/uploads/ca06c0e1b9d4ffe9d9846f753e82911a/image.png) ![image](/uploads/ba3ec422cb18d079d3c97777d6afb225/image.png)
The same problem occurs with the example in wxVTKRenderWindowInteractor
## Observations
Both wxWidgets and VTK alone are working properly. I run examples from both the software and they are working properly.
I also tried to took the code inside the function `wxVTKRenderWindowConeExample` and commented everything a part from the definition of the window and of the class `wxVTKRendererWindow`:
```python
import wx
"""Like it says, just a simple example.
"""
from vtkmodules.wx.wxVTKRenderWindow import wxVTKRenderWindow
from vtkmodules.vtkFiltersSources import vtkConeSource
from vtkmodules.vtkRenderingCore import vtkActor, vtkPolyDataMapper, vtkRenderer
# every wx app needs an app
app = wx.App(False)
# create the widget
frame = wx.Frame(None, -1, "wxVTKRenderWindow", size=(400, 400))
widget = wxVTKRenderWindow(frame, -1)
#ren = vtkRenderer()
#widget.GetRenderWindow().AddRenderer(ren)
#cone = vtkConeSource()
#cone.SetResolution(8)
#coneMapper = vtkPolyDataMapper()
#coneMapper.SetInputConnection(cone.GetOutputPort())
#coneActor = vtkActor()
#coneActor.SetMapper(coneMapper)
#ren.AddActor(coneActor)
frame.Show()
app.MainLoop()
```
Since the result is equal with the commented code and without the commented code I think that the problem is that the renderer is not rendering the actor.https://gitlab.kitware.com/vtk/vtk/-/issues/18348Many textured vtkFollower failure2021-10-26T07:44:20-04:00Timothee ChabatMany textured vtkFollower failureWhen instanciating more than 32 textured vtkFollower, some errors are logged about too many textures being send to the GPU and final render is totally broken.
Replacing `vtkFollower` by `vtkActor` gives no errors and works fine even wit...When instanciating more than 32 textured vtkFollower, some errors are logged about too many textures being send to the GPU and final render is totally broken.
Replacing `vtkFollower` by `vtkActor` gives no errors and works fine even with 100+ textures.
Errors :
```shell
2021-10-18 16:55:26.100 ( 1.300s) [ EA38C780] vtkOpenGLState.cxx:1795 WARN| Hardware does not support the number of textures defined.
2021-10-18 16:55:26.100 ( 1.300s) [ EA38C780]vtkOpenGLPolyDataMapper:2648 ERR| vtkCompositeMapperHelper2 (0x55b142535840): failed after Render 1 OpenGL errors detected
0 : (1281) Invalid value
```
Program to reproduce :
```cpp
#include <vtkCell.h>
#include <vtkIdList.h>
#include <vtkNew.h>
#include <vtkRTAnalyticSource.h>
#include <vtkStaticCellLocator.h>
#include <vtkPlaneSource.h>
#include <vtkActor.h>
#include <vtkFollower.h>
#include <vtkRenderer.h>
#include <vtkCompositePolyDataMapper.h>
#include <vtkCompositePolyDataMapper2.h>
#include <vtkRenderWindow.h>
#include <vtkNew.h>
#include <vtkJPEGReader.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkTexture.h>
#include <vector>
//////////////////////////
constexpr int LOOP = 6;
const std::vector<const char*> TEXTURES = {
// list of texture name ...
};
//////////////////////////
int main(int, char *[])
{
vtkNew<vtkRenderer> renderer;
const std::string prefix = "/home/timothee/Data/materials/textures/";
for (int i = 0; i < LOOP; ++i)
{
for(int j = 0; j < LOOP; ++j)
{
vtkNew<vtkPlaneSource> source;
source->SetCenter(i, j, 0);
source->Update();
const std::string filename = prefix + TEXTURES[(i + LOOP *j) % TEXTURES.size()];
vtkNew<vtkJPEGReader> reader;
reader->SetFileName(filename.c_str());
vtkNew<vtkTexture> texture;
texture->SetInputConnection(reader->GetOutputPort());
vtkNew<vtkCompositePolyDataMapper2> mapper;
mapper->SetInputConnection(source->GetOutputPort());
vtkNew<vtkFollower> actor;
actor->SetCamera(renderer->GetActiveCamera());
actor->SetMapper(mapper);
actor->SetTexture(texture);
renderer->AddActor(actor);
}
}
renderer->ResetCamera(-1, LOOP + 1, -1, LOOP + 1, -1, 1);
vtkNew<vtkRenderWindow> window;
window->AddRenderer(renderer);
window->SetWindowName("Follower test");
vtkNew<vtkRenderWindowInteractor> interactor;
interactor->SetRenderWindow(window);
window->Render();
interactor->Start();
return 0;
}
```https://gitlab.kitware.com/vtk/vtk/-/issues/18349Import and export OFF or STL files to do mesh Boolean operations(Union, Diffe...2021-10-19T09:36:25-04:00Sumil SoodImport and export OFF or STL files to do mesh Boolean operations(Union, Difference, Intersection)Hi,
My name is Sumil and I work as an Engineer in Mathworks. My team is looking into libraries that can help in doing Boolean operations like union, difference or intersection on 3d meshes created in MATLAB. We are looking for something...Hi,
My name is Sumil and I work as an Engineer in Mathworks. My team is looking into libraries that can help in doing Boolean operations like union, difference or intersection on 3d meshes created in MATLAB. We are looking for something that is robust and has good performance.
I see that VTK works well for the application and want to check it for performance and robustness.
I compiled the example Implicit Boolean(https://kitware.github.io/vtk-examples/site/Cxx/Filtering/ImplicitBoolean/) and it works fine. However I want to import my own mesh data files which are in .OFF and STL format. I also want to export the result in the same format. Is there any example that can tell me how to do this using VTK? I have attached the data files for reference.[cube1.off](/uploads/fdf99424ef472cf17fb7dd74cda6154b/cube1.off)[cylinder1.off](/uploads/21abec5b94b3c7d70e7b7d157c70dddb/cylinder1.off)
Thank you
Sumilhttps://gitlab.kitware.com/vtk/vtk/-/issues/18350Old VTK modules aren't importing vtkRenderingOpenGL22022-02-08T07:55:45-05:00David GobbiOld VTK modules aren't importing vtkRenderingOpenGL2The vtk.wxVTKRenderWindow used to import "vtk" to bring in the OpenGL backend, but since the code was modified to use "vtkmodules", the vtkRenderWindow no longer has an implementation (See #18347). The same is probably true for other Py...The vtk.wxVTKRenderWindow used to import "vtk" to bring in the OpenGL backend, but since the code was modified to use "vtkmodules", the vtkRenderWindow no longer has an implementation (See #18347). The same is probably true for other Python modules that haven't been tested recently.
Adding this issue to remind myself to examine these modules (though I'm not set up to test all of them).
The fix is to add `import vtkRenderingOpenGL2`, `import vtkRenderingUI`, `import vtkRenderingFreeType`, and `import vtkInteractionStyle` where appropriate.https://gitlab.kitware.com/vtk/vtk/-/issues/18351Release 9.1.0.rc42023-06-01T00:54:42-04:00Ben BoeckelRelease 9.1.0.rc4# Update VTK
- Update the local copy of `release`.
- If `0.rc4` is `0.rc1`, update `master`
- Otherwise, update `release`
```
git fetch origin
git checkout release
git merge --ff-only origin/release # if this fails, there are ...# Update VTK
- Update the local copy of `release`.
- If `0.rc4` is `0.rc1`, update `master`
- Otherwise, update `release`
```
git fetch origin
git checkout release
git merge --ff-only origin/release # if this fails, there are local commits that need to be removed
git submodule update --recursive --init
```
- If `release` is not `master`, ensure merge requests which should be
in the release have been merged. The [`backport-mrs.py`][backport-mrs]
script can be used to find and ensure that merge requests assigned to the
associated milestone are available on the `release` branch.
- Make a commit for each of these changes on a single topic (suggested branch
name: `update-to-v9.1.0`):
- Assemble release notes into `Documentation/release/9.1.md`.
- [x] If `PATCH` is greater than 0, add items to the end of this file.
- [x] If `release` is `master`, update the non-patch version in a
separate commit (so that `master` gets it as well).
- [x] Remove old release note files
- [x] Update `.gitlab/ci/cdash-groups.json` to track the `release` CDash
groups
- [x] Update `CMake/vtkVersion.cmake` and tag the commit (tag this commit below)
```
$EDITOR CMake/vtkVersion.cmake
git commit -m 'Update version number to 9.1.0.rc4' CMake/vtkVersion.cmake
```
- Create a merge request targeting `release`
- [x] Obtain a GitLab API token for the `kwrobot.release.vtk` user (ask
@ben.boeckel if you do not have one)
- [x] Add the `kwrobot.release.vtk` user to your fork with at least
`Developer` privileges (so it can open MRs)
- [x] Use [the `release-mr`][release-mr] script to open the create the
Merge Request (see script for usage)
- Pull the script for each release; it may have been updated since it
was last used
- The script outputs the information it will be using to create the
merge request. Please verify that it is all correct before creating
the merge request. See usage at the top of the script to provide
information that is either missing or incorrect (e.g., if its data
extraction heuristics fail).
- [x] Get positive review
- [x] `Do: merge`
- [x] Push the tag to the main repository
- [x] `git tag -a -m 'VTK 9.1.0.rc4' v9.1.0.rc4 commit-that-updated-vtkVersion.cmake`
- [x] `git push origin v9.1.0.rc4`
- Gather release assets
- [x] Source (from the `build:source` CI job in the tag pipeline)
- [x] Documentation (from the `release-prep:documentation` CI job in the tag pipeline)
- [x] Wheels (from the `build:wheel-*` jobs).
- Upload assets to `vtk.org`
- [x] `rsync -rptv $tarballs $wheels user@host:vtk_release/9.1/`
- [x] Update `vtk.org/download` with the new release (email
`comm@kitware.com` with filenames and hashes)
- Software process updates (these can all be done independently)
- [x] Update kwrobot with the new `release` branch rules (@ben.boeckel)
- [x] Run [this script][cdash-update-groups] to update the CDash groups
- This must be done after a nightly run to ensure all builds are in the
`release` group
- See the script itself for usage documentation
- Deprecation updates (if `release` is `master`)
- [x] Update deprecation macros for the next release
- [x] Remove deprecated symbols from before the *prior* release
- [x] Update `VTK_MINIMUM_DEPRECATION_LEVEL` to be that of the *prior*
release
[backport-mrs]: https://gitlab.kitware.com/utils/release-utils/-/blob/master/backport-mrs.py
[release-mr]: https://gitlab.kitware.com/utils/release-utils/-/blob/master/release-mr.py
[cdash-update-groups]: https://gitlab.kitware.com/utils/cdash-utils/-/blob/master/cdash-update-groups.py
# Post-release
- [x] Post an announcement in the Announcements category on
[discourse.vtk.org](https://discourse.vtk.org/).
/cc @ben.boeckel
/cc @ken-martin
/cc @utkarsh.ayachit
/cc @vbolea9.1Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/18352Incomplete documentation (vtkRenderViewBase)2021-10-25T09:31:14-04:00Florent TOMIIncomplete documentation (vtkRenderViewBase)In **vtkRenderViewBase**:
- `SetRenderWindow` and `SetInteractor` refer to a specific handling in the 'detailed description' of vtkRenderViewBase which doesn't existsIn **vtkRenderViewBase**:
- `SetRenderWindow` and `SetInteractor` refer to a specific handling in the 'detailed description' of vtkRenderViewBase which doesn't existshttps://gitlab.kitware.com/vtk/vtk/-/issues/18353vtk x11 ProcessEvents inconsistent behaviour2021-10-25T03:46:13-04:00Jaswant Panchumartivtk x11 ProcessEvents inconsistent behaviourWhen I call ProcessEvents in my own loop, the joystick functionality: Dolly, Spin, Rotate do not work. However, zooming in/out works. This is not the case on windows or SDL2.
```c++
void callback(vtkObject* caller, unsigned long eid, vo...When I call ProcessEvents in my own loop, the joystick functionality: Dolly, Spin, Rotate do not work. However, zooming in/out works. This is not the case on windows or SDL2.
```c++
void callback(vtkObject* caller, unsigned long eid, void* callData)
{
... // cast caller to interactor
... // my event loop starts
interactor->ProcessEvents()
... // my event loop ends
}
interactor->AddObserver(vtkCommand::StartEvent, this, &callback);
interactor->Start()
```https://gitlab.kitware.com/vtk/vtk/-/issues/18354vtkObject::RemoveObserver from vtkCommand::Execute would crash2021-10-28T05:57:12-04:00Jose Luis Cercos-PitavtkObject::RemoveObserver from vtkCommand::Execute would crashIf during a vtkCommand::Execute you call vtkObject::RemoveObserver(vtkCommand*) to remove an observer (with some other vtkCommand), it would corrupt the linked list (see vtkSubjectHelper in vtkObject.cxx) and crash.
I did not checked an...If during a vtkCommand::Execute you call vtkObject::RemoveObserver(vtkCommand*) to remove an observer (with some other vtkCommand), it would corrupt the linked list (see vtkSubjectHelper in vtkObject.cxx) and crash.
I did not checked any other vtkObject::RemoveObserver/vtkObject::RemoveObservers function, but I expect the same behavior.
I really think this shall be fixed, although adding a warning to the documentation would be also acceptable.
If you decide to fix it, I suggest adding "a new event" called vtkCommand::DeleteObserverEvent, in such a way that vtkObject::RemoveObserver is not actually removing the observer, but binding it to such event. The next time vtkSubjectHelper::InvokeEvent is called, it will be safe to remove those observers at the end of the function. I can do that by myself and submit a PR, just let me know!https://gitlab.kitware.com/vtk/vtk/-/issues/18355vtkXMLWriter generates invalid file when encountering vtkVariantArray that ca...2021-11-04T22:12:42-04:00Lutz HofmannvtkXMLWriter generates invalid file when encountering vtkVariantArray that can cause vtkXMLReader to segfault* `vtkXMLWriter` generates incomplete array entry for `vtkVariantArray`s (it is missing a `type` attribute, but I suppose it should just skip them entirely):
```xml
<Array Name="data" NumberOfTuples="1" format="appended" offset="0" ...* `vtkXMLWriter` generates incomplete array entry for `vtkVariantArray`s (it is missing a `type` attribute, but I suppose it should just skip them entirely):
```xml
<Array Name="data" NumberOfTuples="1" format="appended" offset="0" />
```
* `vtkXMLReader` is missing a null-pointer check around line 536 (since CreateArray may return null): https://gitlab.kitware.com/vtk/vtk/-/blob/b0f350b9e556d4ec41bbe8fc3bc11d83e967ec0d/IO/XML/vtkXMLReader.cxx#L536
### Steps to reproduce
Run the following script (tested with VTK within ParaView v5.10.0-RC1, rev. b0f350b9e556d4ec41bbe8fc3bc11d83e967ec0d)
```python
import vtk
pd = vtk.vtkPolyData()
a = vtk.vtkVariantArray()
a.SetName('data')
a.InsertNextValue(vtk.vtkContourFilter())
pd.GetFieldData().AddArray(a)
writer = vtk.vtkXMLPolyDataWriter()
writer.SetFileName('temp.vtp')
writer.SetInputDataObject(pd)
writer.Update()
reader = vtk.vtkXMLPolyDataReader()
reader.SetFileName(writer.GetFileName())
reader.Update()
```
<details><summary>Output</summary>
```
( 0.333s) [paraview ] vtkXMLWriter.cxx:1563 WARN| vtkXMLPolyDataWriter (0x556de74cd830): Unsupported data type: 20
( 0.333s) [paraview ] vtkXMLWriter.cxx:1584 ERR| vtkXMLPolyDataWriter (0x556de74cd830): Data type size 0 not supported by VTK XML format.
( 0.333s) [paraview ] vtkXMLWriter.cxx:1475 WARN| vtkXMLPolyDataWriter (0x556de74cd830): Unsupported data type: 20
( 0.333s) [paraview ] vtkXMLWriter.cxx:1475 WARN| vtkXMLPolyDataWriter (0x556de74cd830): Unsupported data type: 20
( 0.333s) [paraview ] vtkXMLWriter.cxx:1475 WARN| vtkXMLPolyDataWriter (0x556de74cd830): Unsupported data type: 20
( 0.333s) [paraview ] vtkXMLWriter.cxx:1188 WARN| vtkXMLPolyDataWriter (0x556de74cd830): Not writing array 'data': Unsupported array type: vtkVariantArray
( 0.334s) [paraview ] vtkXMLDataElement.cxx:821 ERR| vtkXMLDataElement (0x556de74dce70): Missing word type attribute "type".
Loguru caught a signal: SIGSEGV
Stack trace:
24 0x556de4ff15ee /home/lhofmann/Libraries/paraview/ParaView-v5.10.0-RC1/bin/pvpython(+0x25ee) [0x556de4ff15ee]
23 0x7f5254dceb25 __libc_start_main + 213
22 0x556de4ff1f93 /home/lhofmann/Libraries/paraview/ParaView-v5.10.0-RC1/bin/pvpython(+0x2f93) [0x556de4ff1f93]
21 0x7f52532142e4 vtkPythonInterpreter::PyMain(int, char**) + 468
20 0x7f525211fae2 Py_Main + 60
19 0x7f52522c538a Py_RunMain + 986
18 0x7f525215bc79 PyRun_SimpleFileExFlags + 916
17 0x7f525215c893 /usr/lib/libpython3.9.so.1.0(+0x97893) [0x7f525215c893]
16 0x7f52522af55b /usr/lib/libpython3.9.so.1.0(+0x1ea55b) [0x7f52522af55b]
15 0x7f52522b3884 /usr/lib/libpython3.9.so.1.0(+0x1ee884) [0x7f52522b3884]
14 0x7f52522a3b13 PyEval_EvalCode + 35
13 0x7f52521ebe71 _PyEval_EvalCodeWithName + 81
12 0x7f52521ec489 /usr/lib/libpython3.9.so.1.0(+0x127489) [0x7f52521ec489]
11 0x7f52521f26f5 _PyEval_EvalFrameDefault + 21173
10 0x7f52521f6813 _PyObject_MakeTpCall + 739
9 0x7f525220e558 /usr/lib/libpython3.9.so.1.0(+0x149558) [0x7f525220e558]
8 0x7f520599bf21 /home/lhofmann/Libraries/paraview/ParaView-v5.10.0-RC1/lib/python3.9/site-packages/vtkmodules/vtkCommonExecutionModel.so(+0x2ef21) [0x7f520599bf21]
7 0x7f5252f11300 vtkStreamingDemandDrivenPipeline::Update(int, vtkInformationVector*) + 32
6 0x7f5252eaf609 vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 1257
5 0x7f5252f106d9 vtkStreamingDemandDrivenPipeline::ExecuteInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 41
4 0x7f5252eb27b0 vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) + 80
3 0x7f52530a0cb9 vtkXMLReader::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 249
2 0x7f525309759e vtkXMLReader::RequestInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*) + 46
1 0x7f52530a0653 vtkXMLReader::ReadXMLInformation() + 403
0 0x7f5254de3da0 /usr/lib/libc.so.6(+0x3cda0) [0x7f5254de3da0]
( 0.334s) [paraview ] :0 FATL| Signal: SIGSEGV
```
</details>https://gitlab.kitware.com/vtk/vtk/-/issues/18356vtkOpenGLRenderer (000001FB00382400): Resetting view-up since view plane norm...2021-11-02T04:48:42-04:00santosh kamblevtkOpenGLRenderer (000001FB00382400): Resetting view-up since view plane normal is parallelI am using vtk 9.0.3.
I am trying to set the lateral view using Roll and Pitch of vtkCamera.
When I use Pitch > 87 degree I get below warning and view gets reset.
**Warning: In ..\Rendering\Core\vtkRenderer.cxx, line 1164
vtkOpenGLRende...I am using vtk 9.0.3.
I am trying to set the lateral view using Roll and Pitch of vtkCamera.
When I use Pitch > 87 degree I get below warning and view gets reset.
**Warning: In ..\Rendering\Core\vtkRenderer.cxx, line 1164
vtkOpenGLRenderer (00000245253A2650): Resetting view-up since view plane normal is parallel**
Below is the code
```
import vtk
reader = vtk.vtkSTLReader()
reader.SetFileName("MiniHumanMandible.stl")
reader.Update()
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputData(reader.GetOutput())
actor = vtk.vtkActor()
actor.SetMapper(mapper)
actor.GetProperty().SetColor(1, 0, 0)
cam = vtk.vtkCamera()
cam.Roll(90)
cam.Pitch(90)
ren = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
ren.AddActor(actor)
ren.SetActiveCamera(cam)
ren.SetBackground(0,0,0)
renWin.AddRenderer(ren)
ren.ResetCamera()
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
style = vtk.vtkInteractorStyleTrackballCamera()
iren.SetInteractorStyle(style)
iren.Start()
```
I have attached images of default rendered stl file, with Roll 90 and pitch 90 and warning, with Roll 90 and Pitch 87 degree
Original View (Without any camera Roll or Pitch)
![originalview](/uploads/4ab38b6c6031f03471806850d20d19d0/originalview.PNG)
Lateral View (With Roll = 90, Pitch = 90) with warning
![warning_lateral_view](/uploads/4db246743b268b3f25ee1235a95f04b2/warning_lateral_view.PNG)
Lateral View (With Roll = 90, Pitch = 87) no warning
![87degree](/uploads/6eb47a5f857d35ca3f8550a2d9e9e3ef/87degree.PNG)
Please help me to resolve this issuehttps://gitlab.kitware.com/vtk/vtk/-/issues/18357VTK9.1.0 Build failed on jetson(ubuntu18.04)2021-10-31T21:45:28-04:00HypersenVTK9.1.0 Build failed on jetson(ubuntu18.04)**I try to compile VTK9.1.0-rc1 on a Jetson device, and the operating system is ubuntu18.04. In order to combine VTK with Qt, I turned on the Qt GUI Support options, but the compilation failed, indicating that OpenGL-related macro defini...**I try to compile VTK9.1.0-rc1 on a Jetson device, and the operating system is ubuntu18.04. In order to combine VTK with Qt, I turned on the Qt GUI Support options, but the compilation failed, indicating that OpenGL-related macro definitions are missing. I manually added <GL/gl.h>, after the error disappeared, "glPointParameteri was not declared in this scope of file vtkOpenGLContextDevice2D.cxx" appeared again. I still manually added the header file <GL/glext.h>, but it didn't work. I saw a related problem in the Issues column, saying that it can be solved by recompiling the Qt source code and turning on the OpenGL function. I tried to compile the Qt12.5.11 version of the source code and recompile the VTK after it was completed, but it didn’t work. In the same situation, I added -opengl desktop to my Qt configure option, because dynamic is invalid in Unix systems. How to solve this compilation problem? If you just turn off the rendering-related modules, then Qt will not be able to use VTK. This is for me It doesn't make sense, thank you.**
```
In file included from /home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:63:0:
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h: In member function ‘void vtkOpenGLContextDevice2D::Private::SaveGLState(vtkOpenGLState*, bool)’:
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h:312:32: error: ‘GL_DRAW_BUFFER’ was not declared in this scope
ostate->vtkglGetIntegerv(GL_DRAW_BUFFER, &this->SavedDrawBuffer);
^~~~~~~~~~~~~~
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2DPrivate.h:312:32: note: suggested alternative: ‘GL_DRAW_BUFFER0’
ostate->vtkglGetIntegerv(GL_DRAW_BUFFER, &this->SavedDrawBuffer);
^~~~~~~~~~~~~~
GL_DRAW_BUFFER0
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx: In member function ‘virtual void vtkOpenGLContextDevice2D::DrawPointSprites(vtkImageData*, float*, int, unsigned char*, int)’:
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1128:16: error: ‘GL_POINT_SPRITE’ was not declared in this scope
glEnable(GL_POINT_SPRITE);
^~~~~~~~~~~~~~~
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1128:16: note: suggested alternative: ‘GL_POINTS’
glEnable(GL_POINT_SPRITE);
^~~~~~~~~~~~~~~
GL_POINTS
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1129:34: error: ‘GL_COORD_REPLACE’ was not declared in this scope
glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE);
^~~~~~~~~~~~~~~~
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1129:34: note: suggested alternative: ‘GL_REPLACE’
glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE);
^~~~~~~~~~~~~~~~
GL_REPLACE
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1129:7: error: ‘glTexEnvi’ was not declared in this scope
glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE);
^~~~~~~~~
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1131:23: error: ‘GL_POINT_SPRITE_COORD_ORIGIN’ was not declared in this scope
glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1131:53: error: ‘GL_LOWER_LEFT’ was not declared in this scope
glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT);
^~~~~~~~~~~~~
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1131:53: note: suggested alternative: ‘GL_LOW_INT’
glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT);
^~~~~~~~~~~~~
GL_LOW_INT
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1131:5: error: ‘glPointParameteri’ was not declared in this scope
glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT);
^~~~~~~~~~~~~~~~~
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1131:5: note: suggested alternative: ‘glProgramParameteri’
glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT);
^~~~~~~~~~~~~~~~~
glProgramParameteri
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1137:17: error: ‘GL_POINT_SPRITE’ was not declared in this scope
glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_FALSE);
^~~~~~~~~~~~~~~
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1137:17: note: suggested alternative: ‘GL_POINTS’
glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_FALSE);
^~~~~~~~~~~~~~~
GL_POINTS
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1137:34: error: ‘GL_COORD_REPLACE’ was not declared in this scope
glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_FALSE);
^~~~~~~~~~~~~~~~
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1137:34: note: suggested alternative: ‘GL_REPLACE’
glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_FALSE);
^~~~~~~~~~~~~~~~
GL_REPLACE
/home/hypersen/vtk-v9.1.0.rc1/Rendering/ContextOpenGL2/vtkOpenGLContextDevice2D.cxx:1137:7: error: ‘glTexEnvi’ was not declared in this scope
glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_FALSE);
```https://gitlab.kitware.com/vtk/vtk/-/issues/18358VTK 9.1.0 rc1 with Qt App complie ERR: 'ReferenceCountModel' And 'vtkQtConnec...2021-11-02T04:47:49-04:00HypersenVTK 9.1.0 rc1 with Qt App complie ERR: 'ReferenceCountModel' And 'vtkQtConnection' Undefined referenceI use Qt With VTK 9.1.0 rc1 library, occus below errors while linking library:
```
moc_vtkQtConnection.o:In funtion ‘vtkQtConnection::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)’:
moc_vtkQtConnection.cpp:85:对‘vtkQtConne...I use Qt With VTK 9.1.0 rc1 library, occus below errors while linking library:
```
moc_vtkQtConnection.o:In funtion ‘vtkQtConnection::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)’:
moc_vtkQtConnection.cpp:85:对‘vtkQtConnection::deleteConnection()’Undefined reference
moc_vtkQtConnection.o:(.data.rel.ro._ZTV15vtkQtConnection[_ZTV15vtkQtConnection]+0x28):对‘vtkQtConnection::~vtkQtConnection()’Undefined reference
moc_vtkQtConnection.o:(.data.rel.ro._ZTV15vtkQtConnection[_ZTV15vtkQtConnection]+0x30):对‘vtkQtConnection::~vtkQtConnection()’Undefined reference
moc_vtkQtDebugLeaksModel.o:In funtion ‘ReferenceCountModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)’:
moc_vtkQtDebugLeaksModel.cpp:195:对‘ReferenceCountModel::updateReferenceCounts()’Undefined reference
moc_vtkQtDebugLeaksModel.o:(.data.rel.ro._ZTV19ReferenceCountModel[_ZTV19ReferenceCountModel]+0x28):‘ReferenceCountModel::~ReferenceCountModel()’Undefined reference
moc_vtkQtDebugLeaksModel.o:(.data.rel.ro._ZTV19ReferenceCountModel[_ZTV19ReferenceCountModel]+0x30):‘ReferenceCountModel::~ReferenceCountModel()’Undefined reference
moc_vtkQtDebugLeaksModel.o:(.data.rel.ro._ZTV19ReferenceCountModel[_ZTV19ReferenceCountModel]+0x140):‘ReferenceCountModel::flags(QModelIndex const&) const’Undefined reference
```https://gitlab.kitware.com/vtk/vtk/-/issues/18359VTK8.2+Qt5.15.2 QVTKOpenGLNativeWidget and vtkGenericOpenGLRenderWindow inte...2021-11-02T04:47:04-04:00MakmanfuVTK8.2+Qt5.15.2 QVTKOpenGLNativeWidget and vtkGenericOpenGLRenderWindow interrupted by signal 11: SIGSEGV**Debug info**
```
gdb ./test_qt_vtk
(gdb) r
Starting program: /home/frp/1-Code/test_qt_vtk/build/test_qt_vtk
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New...**Debug info**
```
gdb ./test_qt_vtk
(gdb) r
Starting program: /home/frp/1-Code/test_qt_vtk/build/test_qt_vtk
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe6059700 (LWP 8086)]
[New Thread 0x7fffdb7d3700 (LWP 8087)]
[New Thread 0x7fffdafd2700 (LWP 8088)]
[New Thread 0x7fffd9551700 (LWP 8089)]
[New Thread 0x7fffc7f5a700 (LWP 8090)]
[New Thread 0x7fffbffff700 (LWP 8091)]
[New Thread 0x7fffc7759700 (LWP 8092)]
[New Thread 0x7fffc6f58700 (LWP 8093)]
Thread 1 "test_qt_vtk" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0 0x0000000000000000 in ()
#1 0x00007ffff73cf3b0 in vtkOpenGLBufferObject::GenerateBuffer(vtkOpenGLBufferObject::ObjectType) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#2 0x00007ffff73cf3f4 in vtkOpenGLBufferObject::UploadInternal(void const*, unsigned long, vtkOpenGLBufferObject::ObjectType) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#3 0x00007ffff7472666 in vtkOpenGLVertexBufferObject::UploadDataArray(vtkDataArray*) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#4 0x00007ffff747923b in vtkOpenGLVertexBufferObjectGroup::BuildAllVBOs(vtkOpenGLVertexBufferObjectCache*) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#5 0x00007ffff742ce6a in vtkOpenGLPolyDataMapper::BuildBufferObjects(vtkRenderer*, vtkActor*) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#6 0x00007ffff741a662 in vtkOpenGLPolyDataMapper::RenderPieceStart(vtkRenderer*, vtkActor*) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#7 0x00007ffff742f184 in vtkOpenGLPolyDataMapper::RenderPiece(vtkRenderer*, vtkActor*) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#8 0x00007ffff6b55b0a in vtkPolyDataMapper::Render(vtkRenderer*, vtkActor*) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingCore-8.2.so.1
#9 0x00007ffff73cdeda in vtkOpenGLActor::Render(vtkRenderer*, vtkMapper*) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#10 0x00007ffff6abe47f in vtkActor::RenderOpaqueGeometry(vtkViewport*) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingCore-8.2.so.1
#11 0x00007ffff6b62936 in vtkRenderer::DeviceRenderOpaqueGeometry() [clone .localalias.51] ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingCore-8.2.so.1
#12 0x00007ffff7453b23 in vtkOpenGLRenderer::DeviceRenderOpaqueGeometry() ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#13 0x00007ffff7451629 in vtkOpenGLRenderer::UpdateGeometry() ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#14 0x00007ffff744da50 in vtkOpenGLRenderer::DeviceRender() ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#15 0x00007ffff6b6495f in vtkRenderer::Render() () at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingCore-8.2.so.1
#16 0x00007ffff6b6191f in vtkRendererCollection::Render() () at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingCore-8.2.so.1
#17 0x00007ffff6b6f60d in vtkRenderWindow::DoStereoRender() () at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingCore-8.2.so.1
#18 0x00007ffff6b6f8f0 in vtkRenderWindow::Render() () at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingCore-8.2.so.1
#19 0x00007ffff744cb39 in vtkOpenGLRenderWindow::Render() () at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#20 0x00007ffff73cb001 in vtkGenericOpenGLRenderWindow::Render() ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkRenderingOpenGL2-8.2.so.1
#21 0x0000555555558783 in MainWindow::update1() ()
---Type <return> to continue, or q <return> to quit---
#22 0x00005555555596ac in vtkObject::vtkClassMemberCallback<MainWindow>::operator()(vtkObject*, unsigned long, void*) ()
#23 0x00007ffff5ec75b9 in vtkSubjectHelper::InvokeEvent(unsigned long, void*, vtkObject*) ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkCommonCore-8.2.so.1
#24 0x00007ffff7776421 in QVTKOpenGLNativeWidget::recreateFBO() ()
at /home/frp/2-Third_libs/VTK-8.2.0/install_x86/lib/libvtkGUISupportQt-8.2.so.1
#25 0x00007ffff45acddf in doActivate<false>(QObject*, int, void**) (sender=0x55555597c250, signal_index=10, argv=0x7fffffffd640, argv@entry=0x0)
at kernel/qobject.cpp:3898
#26 0x00007ffff45a6479 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x55555597c250, m=m@entry=0x7ffff5c32d00 <QOpenGLWidget::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#27 0x00007ffff55bdd83 in QOpenGLWidget::resized() (this=this@entry=0x55555597c250) at .moc/moc_qopenglwidget.cpp:183
#28 0x00007ffff55be115 in QOpenGLWidgetPrivate::recreateFbo() (this=this@entry=0x5555558c2260) at kernel/qopenglwidget.cpp:764
#29 0x00007ffff55be828 in QOpenGLWidget::resizeEvent(QResizeEvent*) (this=0x55555597c250, e=<optimized out>) at kernel/qopenglwidget.cpp:1290
#30 0x00007ffff559fc6e in QWidget::event(QEvent*) (this=0x55555597c250, event=0x7fffffffda20) at kernel/qwidget.cpp:8809
#31 0x00007ffff556143c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55555597c250, e=0x7fffffffda20)
at kernel/qapplication.cpp:3632
#32 0x00007ffff5567f20 in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x55555597c250, e=0x7fffffffda20)
at kernel/qapplication.cpp:3378
#33 0x00007ffff4574808 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55555597c250, event=0x7fffffffda20)
at kernel/qcoreapplication.cpp:1063
#34 0x00007ffff45749be in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=receiver@entry=0x55555597c250, event=event@entry=0x7fffffffda20) at kernel/qcoreapplication.cpp:1458
#35 0x00007ffff5597f4d in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) (this=this@entry=0x5555558c2260, recursive=recursive@entry=false, disableUpdates=<optimized out>, disableUpdates@entry=false) at kernel/qwidget.cpp:7711
#36 0x00007ffff559c153 in QWidgetPrivate::show_helper() (this=this@entry=0x5555558c2260) at kernel/qwidget.cpp:7762
#37 0x00007ffff559f274 in QWidgetPrivate::setVisible(bool) (this=0x5555558c2260, visible=<optimized out>) at kernel/qwidget.cpp:8111
#38 0x00007ffff559c100 in QWidgetPrivate::showChildren(bool) (this=this@entry=0x5555558aa280, spontaneous=spontaneous@entry=false)
at kernel/qwidget.cpp:8183
#39 0x00007ffff559c16f in QWidgetPrivate::show_helper() (this=this@entry=0x5555558aa280) at kernel/qwidget.cpp:7768
#40 0x00007ffff559f274 in QWidgetPrivate::setVisible(bool) (this=0x5555558aa280, visible=<optimized out>) at kernel/qwidget.cpp:8111
#41 0x0000555555557f66 in main ()
(gdb)
```
**main.cpp**
```
#include <QApplication>
#include <QSurfaceFormat>
#include <vtkOpenGLRenderWindow.h>
#include <QVTKOpenGLWidget.h>
#include <QVTKOpenGLNativeWidget.h>
#include "mainwindow.h"
int main(int argc, char * argv[]) {
QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());
QApplication app( argc, argv );
MainWindow mainWindow;
mainWindow.show();
return app.exec();
}
```
**mainwindow.h**
```
#ifndef TEST_QT_VTK_MAINWINDOW_H
#define TEST_QT_VTK_MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class QTimer;
class QVTKOpenGLWidget;
class QVTKOpenGLNativeWidget;
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow() override;
protected:
void update1();
private:
Ui::MainWindow *ui;
QVTKOpenGLNativeWidget *centralWidget;
//QTimer *timer;
};
#endif //TEST_QT_VTK_MAINWINDOW_H
```
**mainwindow.cpp**
```
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTimer>
#include <vtkCamera.h>
#include <QVTKOpenGLNativeWidget.h>
#include <vtkCommand.h>
#include <vtkCubeSource.h>
#include <vtkDataObjectToTable.h>
#include <vtkElevationFilter.h>
#include <vtkGenericOpenGLRenderWindow.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkPolyDataMapper.h>
#include <vtkProperty.h>
#include <vtkQtTableView.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkSphereSource.h>
#include <vtkVersion.h>
#include <QVTKOpenGLWidget.h>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow),
centralWidget(new QVTKOpenGLNativeWidget(this))
{
ui->setupUi(this);
setCentralWidget(centralWidget);
vtkNew<vtkGenericOpenGLRenderWindow> renderWindow;
centralWidget->SetRenderWindow(renderWindow);
vtkNew<vtkNamedColors> colors;
// Sphere
vtkNew<vtkSphereSource> sphereSource;
sphereSource->Update();
vtkNew<vtkPolyDataMapper> sphereMapper;// centralWidget->GetRenderWindow()->Render();
sphereMapper->SetInputConnection(sphereSource->GetOutputPort());
vtkNew<vtkActor> sphereActor;
sphereActor->SetMapper(sphereMapper);
sphereActor->GetProperty()->SetColor(colors->GetColor4d("Tomato").GetData());
// VTK Renderer
vtkNew<vtkRenderer> leftRenderer;
leftRenderer->AddActor(sphereActor);
leftRenderer->SetBackground(colors->GetColor3d("LightSteelBlue").GetData());
centralWidget->GetRenderWindow()->AddRenderer(leftRenderer);
leftRenderer->ResetCamera();
// centralWidget->GetRenderWindow()->Render(); //this is ok!!!
renderWindow->AddObserver(vtkCommand::ModifiedEvent, this, &MainWindow::update1);
}
MainWindow::~MainWindow() {
centralWidget->GetRenderWindow()->RemoveAllObservers();
delete ui;
}
void MainWindow::update1() {
centralWidget->GetRenderWindow()->Render(); //this is Segmentation fault.??? why???
}
```
**mainwindow.ui**
```
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="windowModality">
<enum>Qt::NonModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>553</width>
<height>448</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QStatusBar" name="statusBar"/>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>553</width>
<height>28</height>
</rect>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>
```https://gitlab.kitware.com/vtk/vtk/-/issues/18360QML QQuick Support problem with multi renderwindow2021-12-11T05:20:17-05:00Mohammad NaghizadehQML QQuick Support problem with multi renderwindowCreating two instance of QQuickVTKRenderWindow in one page of qml make the previous one black.
I did some test also with QML Loader and it look when you clear the loader of second, first one gets fixed and you can see the renderer.
![Ca...Creating two instance of QQuickVTKRenderWindow in one page of qml make the previous one black.
I did some test also with QML Loader and it look when you clear the loader of second, first one gets fixed and you can see the renderer.
![Capture1](/uploads/fad7b82c4d926ca1f7ae14eb805a209e/Capture1.PNG)https://gitlab.kitware.com/vtk/vtk/-/issues/18361Release 9.1.02023-06-01T00:54:49-04:00Ben BoeckelRelease 9.1.0# Update VTK
- Update the local copy of `release`.
- If `0` is `0.rc1`, update `master`
- Otherwise, update `release`
```
git fetch origin
git checkout release
git merge --ff-only origin/release # if this fails, there are loca...# Update VTK
- Update the local copy of `release`.
- If `0` is `0.rc1`, update `master`
- Otherwise, update `release`
```
git fetch origin
git checkout release
git merge --ff-only origin/release # if this fails, there are local commits that need to be removed
git submodule update --recursive --init
```
- If `release` is not `master`, ensure merge requests which should be
in the release have been merged. The [`backport-mrs.py`][backport-mrs]
script can be used to find and ensure that merge requests assigned to the
associated milestone are available on the `release` branch.
- Make a commit for each of these changes on a single topic (suggested branch
name: `update-to-v9.1.0`):
- Assemble release notes into `Documentation/release/9.1.md`.
- [x] If `PATCH` is greater than 0, add items to the end of this file.
- [x] If `release` is `master`, update the non-patch version in a
separate commit (so that `master` gets it as well).
- [x] Remove old release note files
- [x] Update `.gitlab/ci/cdash-groups.json` to track the `release` CDash
groups
- [x] Update `CMake/vtkVersion.cmake` and tag the commit (tag this commit below)
```
$EDITOR CMake/vtkVersion.cmake
git commit -m 'Update version number to 9.1.0' CMake/vtkVersion.cmake
```
- Create a merge request targeting `release`
- [x] Obtain a GitLab API token for the `kwrobot.release.vtk` user (ask
@ben.boeckel if you do not have one)
- [x] Add the `kwrobot.release.vtk` user to your fork with at least
`Developer` privileges (so it can open MRs)
- [x] Use [the `release-mr`][release-mr] script to open the create the
Merge Request (see script for usage)
- Pull the script for each release; it may have been updated since it
was last used
- The script outputs the information it will be using to create the
merge request. Please verify that it is all correct before creating
the merge request. See usage at the top of the script to provide
information that is either missing or incorrect (e.g., if its data
extraction heuristics fail).
- [x] Get positive review
- [x] `Do: merge`
- [x] Push the tag to the main repository
- [x] `git tag -a -m 'VTK 9.1.0' v9.1.0 commit-that-updated-vtkVersion.cmake`
- [x] `git push origin v9.1.0`
- Gather release assets
- [x] Source (from the `build:source` CI job in the tag pipeline)
- [x] Documentation (from the `release-prep:documentation` CI job in the tag pipeline)
- [x] Wheels (from the `build:wheel-*` jobs).
- Upload assets to `vtk.org`
- [x] `rsync -rptv $tarballs $wheels user@host:vtk_release/9.1/`
- [x] Update `vtk.org/download` with the new release (email
`comm@kitware.com` with filenames and hashes)
- Software process updates (these can all be done independently)
- [x] Update kwrobot with the new `release` branch rules (@ben.boeckel)
- [x] Run [this script][cdash-update-groups] to update the CDash groups
- This must be done after a nightly run to ensure all builds are in the
`release` group
- See the script itself for usage documentation
[backport-mrs]: https://gitlab.kitware.com/utils/release-utils/-/blob/master/backport-mrs.py
[release-mr]: https://gitlab.kitware.com/utils/release-utils/-/blob/master/release-mr.py
[cdash-update-groups]: https://gitlab.kitware.com/utils/cdash-utils/-/blob/master/cdash-update-groups.py
# Post-release
- [x] Post an announcement in the Announcements category on
[discourse.vtk.org](https://discourse.vtk.org/).
/cc @ben.boeckel
/cc @ken-martin
/cc @utkarsh.ayachit9.1Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/18362vtkDebugLeaks attempts to lock mutex twice when printing error msg for the fi...2021-12-10T20:03:11-05:00Shreeraj JadhavvtkDebugLeaks attempts to lock mutex twice when printing error msg for the first time### The Problem
`vtkDebugLeaks` locks and unlocks the `std::mutex* CriticalSection` explicitly. It also reports error and warning messages before unlocking the mutex. If a failure occurs, for example in [`void vtkDebugLeaks::DestructClas...### The Problem
`vtkDebugLeaks` locks and unlocks the `std::mutex* CriticalSection` explicitly. It also reports error and warning messages before unlocking the mutex. If a failure occurs, for example in [`void vtkDebugLeaks::DestructClass(const char* className)`](https://gitlab.kitware.com/vtk/vtk/-/blob/master/Common/Core/vtkDebugLeaks.cxx#L246), the function tries to report the error using `vtkGenericWarningMacro`. This macro will construct a `vtkWin32OutputWindow` if being called for the first time. Since `VTK_DEBUG_LEAKS` is defined, the construction causes [another call to `vtkDebugLeaks` here](https://gitlab.kitware.com/vtk/vtk/-/blob/master/Common/Core/vtkObjectBase.cxx#L167):
```
void vtkObjectBase::InitializeObjectBase()
{
#ifdef VTK_DEBUG_LEAKS
vtkDebugLeaks::ConstructClass(this);
#endif // VTK_DEBUG_LEAKS
}
```
which tries to lock the mutex for a second time.
### Proposed solution:
`vtkDebugLeaks` class should avoid using explicit calls to `std::mutex::lock()` and `std::mutex::unlock()`. It should use `std::lock_guard` and set the scope to release the lock before attempting to print errors or do anything else that does not belong to a "CriticalSection".
Example shown below:
#### Before
```
void vtkDebugLeaks::DestructClass(const char* className)
{
vtkDebugLeaks::CriticalSection->lock();
// Due to globals being deleted, this table may already have
// been deleted.
if (vtkDebugLeaks::MemoryTable && !vtkDebugLeaks::MemoryTable->DecrementCount(className))
{
vtkGenericWarningMacro("Deleting unknown object: " << className);
}
vtkDebugLeaks::CriticalSection->unlock();
}
```
#### After (Solution)
```
void vtkDebugLeaks::DestructClass(const char* className)
{
bool failure = false;
{
const std::lock_guard<std::mutex> lock(*(vtkDebugLeaks::CriticalSection));
failure = vtkDebugLeaks::MemoryTable && !vtkDebugLeaks::MemoryTable->DecrementCount(className);
}
if (failure)
{
vtkGenericWarningMacro("Deleting unknown object: " << className);
}
}
```Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/18363vtkExtractPolyDataGeometry does not copy cell data array properly with mixed ...2021-11-09T04:07:41-05:00Tiffany ChhimvtkExtractPolyDataGeometry does not copy cell data array properly with mixed cell typesWhen extracting cells using the filter `vtkExtractPolyDataGeometry`, if the input polydata data set contains different cell types (vertices, lines, polygons, stripes), the output cell data arrays are not indexed properly.
The indexing i...When extracting cells using the filter `vtkExtractPolyDataGeometry`, if the input polydata data set contains different cell types (vertices, lines, polygons, stripes), the output cell data arrays are not indexed properly.
The indexing is based on the ID of each inserted cell. Therefore, when treating a new type of cell, the indexing starts over from 0 instead of being incremented.Tiffany ChhimTiffany Chhimhttps://gitlab.kitware.com/vtk/vtk/-/issues/18364SMP backend OpenMP: awkward destructor shows Clang compiler warning.2021-11-10T20:03:11-05:00Jaswant PanchumartiSMP backend OpenMP: awkward destructor shows Clang compiler warning.```bash
/src/vtk/Common/Core/SMP/OpenMP/vtkSMPThreadLocalBackend.h:89:29: warning: class with destructor marked
'final' cannot be inherited from [-Wfinal-dtor-non-final-class]
virtual ~ThreadSpecific() final;
```
This is not a breaki...```bash
/src/vtk/Common/Core/SMP/OpenMP/vtkSMPThreadLocalBackend.h:89:29: warning: class with destructor marked
'final' cannot be inherited from [-Wfinal-dtor-non-final-class]
virtual ~ThreadSpecific() final;
```
This is not a breaking issue. It is just a bit awkward. What is the intent here? virtual and final are opposing each other's purpose..https://gitlab.kitware.com/vtk/vtk/-/issues/18365Importing one python module loads all others2023-02-21T08:05:11-05:00Darrell EnnsImporting one python module loads all othersWhen a single python module is imported, it attempts vtk attempts to load all of the python modules. If the shared library dependency for any single module is unavailable, this causes the import to fail (even if that module is not being ...When a single python module is imported, it attempts vtk attempts to load all of the python modules. If the shared library dependency for any single module is unavailable, this causes the import to fail (even if that module is not being used).
For example, if I try to load vtkCommonCore on a system where liblas is not installed:
```
Python 3.9.7 (default, Oct 10 2021, 15:13:22)
[GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtk.vtkCommonCore
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.9/site-packages/vtk.py", line 30, in <module>
all_m = importlib.import_module('vtkmodules.all')
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/usr/lib/python3.9/site-packages/vtkmodules/all.py", line 92, in <module>
from .vtkIOLAS import *
ImportError: liblas.so.3: cannot open shared object file: No such file or directory
>>> from vtk import vtkCommonCore
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.9/site-packages/vtk.py", line 30, in <module>
all_m = importlib.import_module('vtkmodules.all')
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/usr/lib/python3.9/site-packages/vtkmodules/all.py", line 92, in <module>
from .vtkIOLAS import *
ImportError: liblas.so.3: cannot open shared object file: No such file or directory
```
This creates a problem for distributions that would like to have optional dependencies for some functionality. For example, liblas is now a required dependency for all installations, even if the end user does not require any of the LAS functionality. The same is the case for other modules that use shared libraries - for example, vtkIOExportPDF or vtkIOODBC. All users would need to install PDF and ODBC libraries, even if they are not using any PDF or ODBC functions.
Maybe this could be solved by some changes to the import logic to avoid unnecessarily loading modules? Or perhaps just some ImportError exception handling in vtkmodules/all.py?https://gitlab.kitware.com/vtk/vtk/-/issues/18366External rapidjson?2022-03-23T08:31:40-04:00Bruno PaganiExternal rapidjson?Since fides seems to allow it, I’ve tried to build with `-DFIDES_USE_EXTERNAL_RAPIDJSON=ON`. However it fails as such:
```
CMake Error at CMake/vtkModule.cmake:3530 (add_library):
Target "fides" links to target "RapidJSON::RapidJSON" b...Since fides seems to allow it, I’ve tried to build with `-DFIDES_USE_EXTERNAL_RAPIDJSON=ON`. However it fails as such:
```
CMake Error at CMake/vtkModule.cmake:3530 (add_library):
Target "fides" links to target "RapidJSON::RapidJSON" but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
Call Stack (most recent call first):
ThirdParty/fides/vtkfides/fides/CMakeLists.txt:42 (vtk_module_add_module)
```
Not sure what the issue is exactly, this is beyond my knowledge of CMake.Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/18367External zfp?2023-04-24T09:35:04-04:00Bruno PaganiExternal zfp?`-DVTK_USE_EXTERNAL=ON` does not set `-DVTK_MODULE_USE_EXTERNAL_VTK_zfp=ON`, which is not a recognized variable anyway. Even setting directly `-DVTK_MODULE_USE_EXTERNAL_vtkzfp=ON` seems without any effect. I guess this is because https:/...`-DVTK_USE_EXTERNAL=ON` does not set `-DVTK_MODULE_USE_EXTERNAL_VTK_zfp=ON`, which is not a recognized variable anyway. Even setting directly `-DVTK_MODULE_USE_EXTERNAL_vtkzfp=ON` seems without any effect. I guess this is because https://gitlab.kitware.com/vtk/vtk/-/blob/master/ThirdParty/zfp/CMakeLists.txt has the `_internal` suffix, but not sure why this is that way.https://gitlab.kitware.com/vtk/vtk/-/issues/18368JOGL gets stuck when taking a screenshot with vtkWindowToImageFilter2021-11-08T04:19:13-05:00Alex W.JOGL gets stuck when taking a screenshot with vtkWindowToImageFilterJOGL based rendering for Java wrapping is stuck during window screenshot :
```
vtkAbstractJoglComponent<?> joglWidget = new vtkJoglPanelComponent() // or new vtkJoglCanvasComponent();
....
vtkWindowToImageFilter windowToImageFilter =...JOGL based rendering for Java wrapping is stuck during window screenshot :
```
vtkAbstractJoglComponent<?> joglWidget = new vtkJoglPanelComponent() // or new vtkJoglCanvasComponent();
....
vtkWindowToImageFilter windowToImageFilter = new vtkWindowToImageFilter();
windowToImageFilter.SetInput(joglWidget.getRenderWindow());
windowToImageFilter.Update(); // gets stuck
....
```
the attached program [JoglConeRendering.java](/uploads/b699db6444b00304ec1e60fbd12e0c73/JoglConeRendering.java) is the sample program JoglConeRendering.java modified to take a screenshot by pressing the s key. It gets stuck when trying to get a capture.https://gitlab.kitware.com/vtk/vtk/-/issues/18369vtkExtractCells2021-11-07T00:15:44-04:00beijihuohu1vtkExtractCells When i used the new version vtk(9.1.0) for new application,the linker give a tips as follow:unresolved external symbol "__declspec(dllimport) public: static class vtkExtractCells * __cdecl vtkExtractCells::New(void)" (__imp_?New@vtkE... When i used the new version vtk(9.1.0) for new application,the linker give a tips as follow:unresolved external symbol "__declspec(dllimport) public: static class vtkExtractCells * __cdecl vtkExtractCells::New(void)" (__imp_?New@vtkExtractCells@@SAPEAV1@XZ) referenced in function.
In the VTK(8.2),i linked the vtkFilterExtraction.lib,but we can only linded the vtkFilter-9.1.lib with the 9.1.0 version and it faild.https://gitlab.kitware.com/vtk/vtk/-/issues/18370Transient data with vtkEnSightGoldBinaryReader() does not update time value2021-11-10T07:35:02-05:00Max ElfnerTransient data with vtkEnSightGoldBinaryReader() does not update time valueI am trying to read in transient data from a simulation using Ensight format using the Python wrappers. The data is extracted as a case file with the time steps specified and then a file for each timestamp and each data variable.
FWIW i...I am trying to read in transient data from a simulation using Ensight format using the Python wrappers. The data is extracted as a case file with the time steps specified and then a file for each timestamp and each data variable.
FWIW in advance: I can read in the dat into Paraview correctly.
My first try was quite simple
```python
case_foam = 'filename.case'
reader_foam = vtk.vtkEnSightGoldBinaryReader()
reader_foam.SetCaseFileName(case_foam)
reader_foam.Update()
time_steps = vtk_to_numpy(reader_foam.GetTimeSets().GetItem(0))
transient_data = dict()
for tv in time_steps:
reader_foam.SetTimeValue(tv)
reader_foam.Update()
transient_data[tv] = reader_foam.GetOutput(0)
```
which results in the same data being read for all dict elements, e.g. a print of the dict yields (see memory location, plotting the data confirms the equality)
```
{30000.0: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20,
30000.1: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20,
30000.2: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20,
30000.3: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20,
30000.4: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20,
30000.5: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20,
30000.6: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20,
30000.7: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20,
30000.8: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20,
30000.9: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20,
30001.0: (vtkmodules.vtkCommonDataModel.vtkMultiBlockDataSet)0x15a412e20}
```
I did find the `.UpdateTimeStep(double timeValue)` method which I tried before and after `.Update()` to no avail.
```python
for tv in time_steps:
reader_foam.SetTimeValue(tv)
# reader_foam.UpdateTimeStep(tv)
reader_foam.Update()
reader_foam.UpdateTimeStep(tv)
transient_data[tv] = reader_foam.GetOutput(0)
```
Can someone pinpoint me in the right direction here?
Besthttps://gitlab.kitware.com/vtk/vtk/-/issues/18371Misplaced labels in side-by-side graphs2021-11-10T07:34:06-05:00Paweł GajewskiMisplaced labels in side-by-side graphsWhen showing labels in side-by-side graphs, they appear somewhere close to the center of the window instead of the center of their designated viewport.
![Screen_Shot_2021-11-08_at_22.37.37](/uploads/789b5d068a278783c982e2026211ad4e/Scre...When showing labels in side-by-side graphs, they appear somewhere close to the center of the window instead of the center of their designated viewport.
![Screen_Shot_2021-11-08_at_22.37.37](/uploads/789b5d068a278783c982e2026211ad4e/Screen_Shot_2021-11-08_at_22.37.37.png)
VTK version 9.0.3, installed with brew on macOS.
Below is the program that demonstrates the issue:
```
#include <vtkDataSetAttributes.h>
#include <vtkForceDirectedLayoutStrategy.h>
#include <vtkGraphLayoutView.h>
#include <vtkGraphToPolyData.h>
#include <vtkMutableUndirectedGraph.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkProperty.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkCircularLayoutStrategy.h>
#include <vtkDataSetAttributes.h>
#include <vtkDoubleArray.h>
#include <vtkGraphLayoutView.h>
#include <vtkIntArray.h>
#include <vtkMutableUndirectedGraph.h>
#include <vtkNamedColors.h>
#include <vtkNew.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderedGraphRepresentation.h>
#include <vtkRenderer.h>
#include <vtkTextProperty.h>
int main(int, char*[])
{
vtkNew<vtkNamedColors> colors;
// Create the first graph
vtkNew<vtkMutableUndirectedGraph> g0;
{
vtkIdType v1 = g0->AddVertex();
vtkIdType v2 = g0->AddVertex();
vtkIdType v3 = g0->AddVertex();
g0->AddEdge(v1, v2);
g0->AddEdge(v2, v3);
g0->AddEdge(v1, v3);
// Create points
vtkNew<vtkPoints> points;
points->InsertNextPoint(0.0, 0.0, 0.0);
points->InsertNextPoint(1.0, 0.0, 0.0);
points->InsertNextPoint(0.0, 1.0, 0.0);
// Add the coordinates of the points to the graph
g0->SetPoints(points);
// Create the edge weight array
vtkNew<vtkDoubleArray> weights;
weights->SetNumberOfComponents(1);
weights->SetName("Weights");
// Set the edge weights
weights->InsertNextValue(1.0);
weights->InsertNextValue(1.0);
weights->InsertNextValue(2.0);
// Create an array for the vertex labels
vtkNew<vtkIntArray> vertexIDs;
vertexIDs->SetNumberOfComponents(1);
vertexIDs->SetName("VertexIDs");
// Set the vertex labels
vertexIDs->InsertNextValue(0);
vertexIDs->InsertNextValue(1);
vertexIDs->InsertNextValue(2);
// Add the edge weight array to the graph
g0->GetEdgeData()->AddArray(weights);
g0->GetVertexData()->AddArray(vertexIDs);
}
// Create the second graph
vtkNew<vtkMutableUndirectedGraph> g1;
vtkIdType v1 = g1->AddVertex();
vtkIdType v2 = g1->AddVertex();
g1->AddEdge(v1, v2);
// Create points
vtkNew<vtkPoints> points;
points->InsertNextPoint(0.0, 0.0, 0.0);
points->InsertNextPoint(1.0, 0.0, 0.0);
// Add the coordinates of the points to the graph
g1->SetPoints(points);
// There will be one render window
vtkNew<vtkRenderWindow> renderWindow;
renderWindow->SetSize(600, 300);
renderWindow->SetWindowName("SideBySideGraphs");
vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
// Define viewport ranges
// (xmin, ymin, xmax, ymax)
double leftViewport[4] = {0.0, 0.0, 0.5, 1.0};
double rightViewport[4] = {0.5, 0.0, 1.0, 1.0};
vtkNew<vtkForceDirectedLayoutStrategy> forceDirected;
vtkNew<vtkGraphLayoutView> graphLayoutView0;
// If we create a layout object directly, just set the pointer to this method.
// graphLayoutView0->SetLayoutStrategy(forceDirected);
graphLayoutView0->SetLayoutStrategyToForceDirected();
graphLayoutView0->SetVertexLabelVisibility(true);
graphLayoutView0->SetEdgeLabelVisibility(true);
graphLayoutView0->SetEdgeLabelArrayName("Weights"); // default is "labels"
graphLayoutView0->SetVertexLabelArrayName("VertexIDs"); // default is "labels"
graphLayoutView0->SetRenderWindow(renderWindow);
graphLayoutView0->SetInteractor(renderWindowInteractor);
graphLayoutView0->GetRenderer()->SetViewport(leftViewport);
graphLayoutView0->AddRepresentationFromInput(g0);
graphLayoutView0->GetRenderer()->SetBackground(
colors->GetColor3d("Navy").GetData());
graphLayoutView0->GetRenderer()->SetBackground2(
colors->GetColor3d("MidnightBlue").GetData());
graphLayoutView0->Render();
graphLayoutView0->ResetCamera();
vtkNew<vtkGraphLayoutView> graphLayoutView1;
// If we create a layout object directly, just set the pointer to this method.
// graphLayoutView1->SetLayoutStrategy(forceDirected);
graphLayoutView1->SetLayoutStrategyToForceDirected();
graphLayoutView1->SetRenderWindow(renderWindow);
graphLayoutView1->SetInteractor(renderWindowInteractor);
graphLayoutView1->GetRenderer()->SetViewport(rightViewport);
graphLayoutView1->AddRepresentationFromInput(g1);
graphLayoutView1->GetRenderer()->SetBackground(
colors->GetColor3d("DarkGreen").GetData());
graphLayoutView1->GetRenderer()->SetBackground2(
colors->GetColor3d("ForestGreen").GetData());
graphLayoutView1->Render();
graphLayoutView1->ResetCamera();
// graphLayoutView0->GetInteractor()->Start();
renderWindowInteractor->Start();
return EXIT_SUCCESS;
}
```https://gitlab.kitware.com/vtk/vtk/-/issues/18372Crash on window close with vtkXRenderWindowInteractor2022-03-30T04:25:35-04:00David GobbiCrash on window close with vtkXRenderWindowInteractorThis is an issue in VTK 9.0 and 9.1 (and possibly earlier?)
The `vtkXRenderWindowInteractor` will crash when the window is closed, if the window called `XOpenDisplay()` before the interactor was attached to it. The problem is that, if...This is an issue in VTK 9.0 and 9.1 (and possibly earlier?)
The `vtkXRenderWindowInteractor` will crash when the window is closed, if the window called `XOpenDisplay()` before the interactor was attached to it. The problem is that, if the window thinks it owns the `DisplayId` handle (if `win->OwnDisplay == 1`), then closing the window will call `XCloseDisplay(win->DisplayId)`, which leaves the `iren->DisplayId` dangling.
Conversely, if the interactor calls `XOpenDisplay()` then there is no crash when the window closes, but there is a resource leak since the interactor never calls `XCloseDisplay()`. See `vtkXRenderWindowInteractor::Initialize()`:
```c++
this->DisplayId = static_cast<Display*>(renWin->GetGenericDisplayId());
if (!this->DisplayId)
{
vtkDebugMacro("opening display");
this->DisplayId = XOpenDisplay(nullptr);
vtkDebugMacro("opened display");
renWin->SetDisplayId(this->DisplayId);
}
```
Test code for reproducing the crash:
```python
from vtkmodules.vtkRenderingCore import (
vtkRenderer,
vtkRenderWindow,
vtkRenderWindowInteractor,
)
import vtkmodules.vtkRenderingUI
import vtkmodules.vtkRenderingOpenGL2
import vtkmodules.vtkInteractionStyle
ren = vtkRenderer()
ren.SetBackground(0.5, 0.2, 0.2)
renWin = vtkRenderWindow()
renWin.AddRenderer(ren)
# this line causes renWin->DisplayId and renWin->OwnDisplay to be set
renWin.Render()
iren = vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
# this line causes iren->DisplayId to be set to renWin->DisplayId
iren.Initialize()
# here we start the main loop, but when we close the window, renWin closes
# its DisplayId, and iren->DisplayId is left dangling (segfault!)
iren.Start()
```https://gitlab.kitware.com/vtk/vtk/-/issues/18373vtkImageFlip filter broken on Apple Silicon2021-11-09T16:52:43-05:00Daniel SchwenvtkImageFlip filter broken on Apple SiliconThe `vtkImageFlip` filter produces curious off by one artifacts on Apple Silicon (mac mini M1). Below is the output of
```
for (std::size_t y = 0; y < 20; ++y)
{
for (std::size_t x = 0; x < 20; ++x)
std::cout << _data->Ge...The `vtkImageFlip` filter produces curious off by one artifacts on Apple Silicon (mac mini M1). Below is the output of
```
for (std::size_t y = 0; y < 20; ++y)
{
for (std::size_t x = 0; x < 20; ++x)
std::cout << _data->GetScalarComponentAsDouble(x, y, 0, _component) << ' ';
std::cout << '\n';
}
```
performed on a 20x20 image read in from the attached PNG, before and after application of the `vtkImageFlip` filter on an M1 mac mini
### before `vtkImageFlip`
```
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 0 0 0 0 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 0 0 0 0 0 0 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 0 0 0 0 0 0 0 0 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 0 0 0 0 0 0 0 0 0 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 0 0 0 0 0 0 0 0 0 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 0 0 0 0 0 0 0 0 0 0 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 0 0 0 0 0 0 0 0 0 0 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 0 0 0 0 0 0 0 0 0 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 0 0 0 0 0 0 0 0 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 0 0 0 0 0 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
```
### after `vtkImageFlip`
```
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 0 0 0 0 62734 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 0 0 0 0 0 0 62734 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 0 0 0 0 0 0 0 0 62734 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 0 0 0 0 0 0 0 0 0 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 0 0 0 0 0 0 0 0 0 62734 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 0 0 0 0 0 0 0 0 0 0 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 1 0 0 0 0 0 0 0 0 0 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 0 0 0 0 0 0 0 0 0 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 1 0 0 0 0 0 0 0 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 1 0 0 0 0 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735 62735
```
Pay attention to the `1`s and `62734`s in the flipped data, which are not present in the unflipped data. On intel machines the flip produces the expected result.!
### PNG image used in the test
[test_00](/uploads/f6974e4155f32ef91cfb1f5a915fa2b0/test_00.png)https://gitlab.kitware.com/vtk/vtk/-/issues/18374vtkCamera ShallowCopy and DeepCopy may need a call to Modified2021-11-10T07:33:31-05:00Andreas BuykxvtkCamera ShallowCopy and DeepCopy may need a call to ModifiedThere is a subtle issue with vtkCamera::ShallowCopy and vtkCamera::DeepCopy, I think it is caused by [this](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8411) merge request.
When these copy methods are called various matrices are...There is a subtle issue with vtkCamera::ShallowCopy and vtkCamera::DeepCopy, I think it is caused by [this](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8411) merge request.
When these copy methods are called various matrices are shallow or deep copied, but the camera's modified flag is not set. However vtkRenderer compares the vtkCamera MTime to cached MTime values so a change in camera matrices due to its ShallowCopy or DeepCopy may go unnoticed. In our case this led to vtkLabeledDataMapper's vtkTextMapper instances rendering labels using the first shallow-copied viewpoint when subsequent camera positions were shallow copied but did not cause an update in the matrices cached in the vtkRenderer.
Attached script shows a cube with elevation and two accompanying labels, first with view-up in Z direction and then with view-up in X direction. The following images are displayed on screen, as expected:
![screen_viewup_z](/uploads/904eed1e64f833925c2569f204dcd4f3/screen_viewup_z.png)
![screen_viewup_x](/uploads/86307cd0099e981e621b45b0a9673898/screen_viewup_x.png)
and the following images off-screen:
![viewup_z](/uploads/7ef0af1b3910130a27db564e4af53434/viewup_z.png)
![viewup_x](/uploads/7e0313a9d4efaad905d63cecc70d109d/viewup_x.png)
[camera_shallowcopy.py](/uploads/574f9974326cd414b97ff3a04195b794/camera_shallowcopy.py)
I can make the change but I'm not sure whether adding a call to Modified at the end of ShallowCopy and DeepCopy is the preferred solution.https://gitlab.kitware.com/vtk/vtk/-/issues/18375VTK 9.1 with Qt 5.15.22022-03-14T08:30:57-04:00Himanshu SharmaVTK 9.1 with Qt 5.15.2Attempting to build VTK 9.1 with Qt 5.15.2. However it runs into following error:
```
CMake Error at GUISupport/QtQuick/qml/CMakeLists.txt:74 (message):
qmlplugindump executable not found.
It is required to generate the qmltypes ...Attempting to build VTK 9.1 with Qt 5.15.2. However it runs into following error:
```
CMake Error at GUISupport/QtQuick/qml/CMakeLists.txt:74 (message):
qmlplugindump executable not found.
It is required to generate the qmltypes file for VTK Qml plugin.
Configuring incomplete, errors occurred!
```
I was able to build VTK 9.1 with Qt 6.2 where I understand that the above qmlplugin is available.
Is there a way to build VTK 9.1 with Qt 5.15.2 ?https://gitlab.kitware.com/vtk/vtk/-/issues/18376VTK v9.1.0 Error reporting is introduced on the Android platform2022-04-22T09:33:56-04:00shixiangVTK v9.1.0 Error reporting is introduced on the Android platform```
CMake Error at /Users/sdk/android_sdk/cmake/3.18.1/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
Could NOT find OpenGL (missing: OPENGL_INCLUDE_DIR)
Call Stack (most recent call first):
/Users/sdk/androi...```
CMake Error at /Users/sdk/android_sdk/cmake/3.18.1/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
Could NOT find OpenGL (missing: OPENGL_INCLUDE_DIR)
Call Stack (most recent call first):
/Users/sdk/android_sdk/cmake/3.18.1/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
/Users/Desktop/vtk_9.1.0/android-buid/CMakeExternals/Install/vtk-android/lib/cmake/vtk-9.1/patches/99/FindOpenGL.cmake:495 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
/Users/Desktop/vtk_9.1.0/android-buid/CMakeExternals/Install/vtk-android/lib/cmake/vtk-9.1/VTK-vtk-module-find-packages.cmake:162 (find_package)
/Users/Desktop/vtk_9.1.0/android-buid/CMakeExternals/Install/vtk-android/lib/cmake/vtk-9.1/vtk-config.cmake:150 (include)
CMakeLists.txt:13 (find_package)
```https://gitlab.kitware.com/vtk/vtk/-/issues/18377openfoam reader chokes on empty dimension field2023-05-04T05:53:33-04:00olesenopenfoam reader chokes on empty dimension fieldDimensionless volume fields have this type of content
```
dimensions [];
internalField ...;
```
However, the internal parser chokes since the first token is a non-digit instead of treating as being equivalent to `[0 0 0 0 0]`
cross-...Dimensionless volume fields have this type of content
```
dimensions [];
internalField ...;
```
However, the internal parser chokes since the first token is a non-digit instead of treating as being equivalent to `[0 0 0 0 0]`
cross-reference: https://develop.openfoam.com/Development/ThirdParty-common/-/issues/61
This could also be considered a RFE, since it seems to be related to symbolic output only, which probably isn't supported very well (or at all?) in the reader.olesenolesenhttps://gitlab.kitware.com/vtk/vtk/-/issues/18378Leak in vtkInformation*Key::MakeKey Python wrapping2021-11-23T10:37:48-05:00Ben BoeckelLeak in vtkInformation*Key::MakeKey Python wrappingI'm seeing this from `clang-tidy`:
```
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:202:10: warning: Potential leak of memory pointed to by 'tempr' [clang-analyzer-cplusplus.NewDele...I'm seeing this from `clang-tidy`:
```
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:202:10: warning: Potential leak of memory pointed to by 'tempr' [clang-analyzer-cplusplus.NewDeleteLeaks]
return result;
^
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:185:7: note: Left side of '&&' is true
if (ap.CheckArgCount(2) &&
^
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:186:7: note: Assuming the condition is true
ap.GetValue(temp0) &&
^
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:185:7: note: Left side of '&&' is true
if (ap.CheckArgCount(2) &&
^
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:187:7: note: Assuming the condition is true
ap.GetValue(temp1))
^
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:185:3: note: Taking true branch
if (ap.CheckArgCount(2) &&
^
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:189:50: note: Calling 'vtkInformationDataObjectMetaDataKey::MakeKey'
vtkInformationDataObjectMetaDataKey *tempr = vtkInformationDataObjectMetaDataKey::MakeKey(temp0, temp1);
^
/build/src/VTK/Common/ExecutionModel/vtkInformationDataObjectMetaDataKey.h:49:12: note: Memory is allocated
return new vtkInformationDataObjectMetaDataKey(name, location);
^
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:189:50: note: Returned allocated memory
vtkInformationDataObjectMetaDataKey *tempr = vtkInformationDataObjectMetaDataKey::MakeKey(temp0, temp1);
^
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:191:5: note: Taking false branch
if (!ap.ErrorOccurred())
^
/build/build/CMakeFiles/vtkCommonExecutionModelPython/vtkInformationDataObjectMetaDataKeyPython.cxx:202:10: note: Potential leak of memory pointed to by 'tempr'
return result;
^
```
And it is indeed true that if `ap.ErrorOccurred()`, the `MakeKey` return value is leaked. It needs a `delete` if that's not the case.
I tried using `VTK_NEWINSTANCE`, but that didn't work.https://gitlab.kitware.com/vtk/vtk/-/issues/18379VTK 9.1.0 does not compile with Qt52022-01-10T05:28:03-05:00Billy AraujoVTK 9.1.0 does not compile with Qt5GUISupport/QtQuick/QQuickVTKInteractorAdapter.cxx does not compile with Qt5.11.2.
```
//-------------------------------------------------------------------------------------------------
void QQuickVTKInteractorAdapter::QueueWheelEvent(...GUISupport/QtQuick/QQuickVTKInteractorAdapter.cxx does not compile with Qt5.11.2.
```
//-------------------------------------------------------------------------------------------------
void QQuickVTKInteractorAdapter::QueueWheelEvent(QQuickItem* item, QWheelEvent* e)
{
QPointF p, gp;
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
p = e->position();
gp = e->globalPosition();
#else
p = e->posF();
gp = e->globalPosF();
#endif
QWheelEvent* newEvent = new QWheelEvent(this->mapEventPosition(item, p),
this->mapEventPosition(item, gp), e->pixelDelta(), e->angleDelta(), e->buttons(),
e->modifiers(), e->phase(), e->inverted(), e->source());
QueueEvent(newEvent);
}
```
This seems to only work for Qt 6 as this is the signature of the new constructor.
`QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, bool inverted, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())`
In Qt 5 it was:
`QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source, bool inverted)`
So I doubt this compiles on any Qt5 version. All VTK compiles on Qt5 except for this line so this should be fixed as many people are not using Qt6.
Also shouldn't this type of thing be caught by the CI system? Doesn't it build and test with Qt5 and Qt6?https://gitlab.kitware.com/vtk/vtk/-/issues/18380Vtk build error can't close file , too big2021-11-17T07:38:55-05:00Lalit KumarVtk build error can't close file , too bigFatal error can't close Common/Misc....vtkExprTkFunctionParser.cxx.obj file too big.
Using code block mingw 64 bit
Ninja generator also not working.
It's show error
vtkMath.h
inline vtkTypeBool vtkMath::IsNan(double x){}Fatal error can't close Common/Misc....vtkExprTkFunctionParser.cxx.obj file too big.
Using code block mingw 64 bit
Ninja generator also not working.
It's show error
vtkMath.h
inline vtkTypeBool vtkMath::IsNan(double x){}https://gitlab.kitware.com/vtk/vtk/-/issues/18381VTK python module crashes on import in conda2021-11-24T14:53:10-05:00Timofey MukhaVTK python module crashes on import in condaHello!
For a long while, conda has been a real life-saver in terms of installing VTK. But as of some time now, there seems to be some issue leading VTK behaving incorrectly in conda. Just installing VTK from the default conda channel app...Hello!
For a long while, conda has been a real life-saver in terms of installing VTK. But as of some time now, there seems to be some issue leading VTK behaving incorrectly in conda. Just installing VTK from the default conda channel appears to always lead to a module, which crashes on import. There are reports on the internet like this one:
https://discourse.vtk.org/t/no-module-named-vtkcommoncorepython-import-vtk/7039
Also, from users of my package turbulucid, that relies on vtk, see e.g. this issue:
https://github.com/timofeymukha/turbulucid/issues/6
I have experienced the same problem, typically a crash in `vtkIOParallelPython`, or some other VTK submodule. A workaround seems to be to create an environment, where everything is installed from the `conda forge` channel instead of the default one. What makes matters worse, though, is that the issues somehow transcends conda environments, and e.g. accidentally installing a new VTK in a new environment will break the VTK that was working in the `forge` environment and the import issue would reappear.
I realize this is not a perfect bug report, and maybe it has more to do with conda than VTK itself. But I would really appreciate if this could be solved, and would try to provide additional information upon request.https://gitlab.kitware.com/vtk/vtk/-/issues/18382vtkRenderer accesses some uninitialized cached values2021-12-01T16:03:52-05:00Andreas BuykxvtkRenderer accesses some uninitialized cached valuesThe new cache values `vtkRenderer::LastCompositeProjectionTransformationMatrixTiledAspectRatio` and `vtkRenderer::LastProjectionTransformationMatrixTiledAspectRatio` are accessed uninitialized. Also the cached matrices are uninitialized ...The new cache values `vtkRenderer::LastCompositeProjectionTransformationMatrixTiledAspectRatio` and `vtkRenderer::LastProjectionTransformationMatrixTiledAspectRatio` are accessed uninitialized. Also the cached matrices are uninitialized but they are written to before being accessed.https://gitlab.kitware.com/vtk/vtk/-/issues/18383vtkSmartVolumeMapper inconsistant results with independent components2022-01-25T14:50:35-05:00Allen SandersonvtkSmartVolumeMapper inconsistant results with independent componentsON VTK Master I am using the vtkSmartVolumeMapper to render vtkImageData with the following
dims : 128 1024 8
extent : 0 127 0 1023 0 7
bounds : 0 .10 0 .50 0 0.005
spacing : 0.000787402 0.000488759 0.000714286
...ON VTK Master I am using the vtkSmartVolumeMapper to render vtkImageData with the following
dims : 128 1024 8
extent : 0 127 0 1023 0 7
bounds : 0 .10 0 .50 0 0.005
spacing : 0.000787402 0.000488759 0.000714286
data range : 0.000139062 0.00055625
opacity range : 0.000139062 0.00055625
This volume does not appear when the number of components is 1. This volume does appear when the number of components is 2. However, the color mapping is not correct.
By appear the volume is rendered but the opacity sampling is such that appears totally translucent.
Original volume with one component, totally translucent.
![Screen_Shot_2021-11-15_at_4.44.28_PM](/uploads/5d9ce23280eb042ac4d070621e434643/Screen_Shot_2021-11-15_at_4.44.28_PM.png)
Original volume with two components - both component values are the same, incorrect color mapping.
![Screen_Shot_2021-11-15_at_4.44.57_PM](/uploads/90ccaad95e859a4931fc41fee984364f/Screen_Shot_2021-11-15_at_4.44.57_PM.png)
If I scale the image grid by 100 to have the following:
bounds : 0 10 0 50 0 0.5
spacing : 0.0787402 0.0488759 0.0714286
This volume does appear when the number of components is 1. This volume does appear when the number of components is 2. And, the color mapping is correct.
Scaled x100 volume with one component, correct color mapping.
![Screen_Shot_2021-11-16_at_10.38.45_AM](/uploads/45f128a5b6f40f95bc1426fc14cf1a44/Screen_Shot_2021-11-16_at_10.38.45_AM.png)
Scaled x100 volume with two components - both component values are the same, correct color mapping and consistent with the one component scaled volume.
![Screen_Shot_2021-11-16_at_10.39.23_AM](/uploads/c5cee68962fc5f07183eb23841cfcd80/Screen_Shot_2021-11-16_at_10.39.23_AM.png)
These images are from using TestOSPRayVolumeRenderer with the following changes:
- Use a vtkSmartVolumeMapper instead of vtkOSPRayVolumeMapper
- The clipping is not done. // ren->AddActor(dssActor);
- Read in my data volume
1. Original volume with one component.
1. Original volume with two component (both being the same)
1. Scaled x100 volume with one component.
1. Scaled x100 volume with two component (both being the same)
- For 2 and 4 volumeProperty->SetIndependentComponents( false );
My expectation is that the rendered images would be the same as the rendering paths should be the same regardless if there is one or two components. Obviously they are not the same paths and the results are greatly affected by the volume size. While reasonable that some volumes may not render well one would expect that the poor rendering would be consistent.
I can supply my test image data and my modified TestOSPRayVolumeRenderer file.
I should also note that if I switch to the vtkOSPRayVolumeMapper the volume does not appear. However if I scale the image grid by 1000, then it appears. There are some slight color differences that I would expect. But here again I would not have expected to have been forced to scale the grid.
vtkOSPRayVolumeMapper with Scaled x100 volume with one component, correct color mapping, but nearly translucent. Note the nearly horizontal faint green line.
![Screen_Shot_2021-11-16_at_11.23.10_AM](/uploads/fb50b250d9d21e2cc74b768ec6b0e34b/Screen_Shot_2021-11-16_at_11.23.10_AM.png)
Additional observations via my application. When rendering the original volume with one component both my colormap and opacity had 256 entries. The opacity was a ramp from 0 to .9999. Both were clamped. If I made the last two opacity entries 1.0 the volume would render. However, the resulting image was not correct in that all other areas were the opacity was less than 1 were fully translucent. If only the last opacity value was 1.0 then it was fully translucent.
I can replicate this issue with other data that has similar spacing but with dims of 256 64 64. Thus the issue is not related to be a thin plate.https://gitlab.kitware.com/vtk/vtk/-/issues/18384Link Error vtkCommonDataModel-9.1d.lib(vtkDataAssembly.obj) : error LNK2019: ...2021-11-19T07:05:46-05:00Andreas-SchniertshauerLink Error vtkCommonDataModel-9.1d.lib(vtkDataAssembly.obj) : error LNK2019: unresolved external symbol "public: __cdecl vtkpugixml::xml_attribute::operator ...Issue occurred when updating from 9.0.3 to 9.1.0 on Windows 10 21H2 Professional with Visual Studio 2019 16.11.6 Professional.
I am using only the following subset of the VTK libraries in my application compiled as static libs (Debug/Rel...Issue occurred when updating from 9.0.3 to 9.1.0 on Windows 10 21H2 Professional with Visual Studio 2019 16.11.6 Professional.
I am using only the following subset of the VTK libraries in my application compiled as static libs (Debug/Release):
```
vtkCommonCore-9.0(d).lib
vtkCommonDataModel-9.0(d).lib
vtkCommonExecutionModel-9.0(d).lib
vtkCommonMath-9.0(d).lib
vtkCommonMisc-9.0(d).lib
vtkCommonSystem-9.0(d).lib
vtkCommonTransforms-9.0(d).lib
vtkImagingHybrid-9.0(d).lib
vtkInfovisLayout-9.0(d).lib
vtksys-9.0(d).lib
```
Now when I link the new 9.1.0 libraries to my application I get various link errors:
```
1>vtkCommonDataModel-9.1d.lib(vtkDataAssembly.obj) : error LNK2019: unresolved external symbol "public: __cdecl vtkpugixml::xml_attribute::operator void (__cdecl*)(class vtkpugixml::xml_attribute * * *)(void)const " (??Bxml_attribute@vtkpugixml@@QEBAP6AXPEAPEAPEAV01@@ZXZ) referenced in function "public: bool __cdecl vtkDataAssembly::HasAttribute(int,char const *)const " (?HasAttribute@vtkDataAssembly@@QEBA_NHPEBD@Z)
1>vtkCommonDataModel-9.1d.lib(vtkDataAssembly.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl vtkpugixml::xml_attribute::operator!(void)const " (??7xml_attribute@vtkpugixml@@QEBA_NXZ) referenced in function "public: void __cdecl vtkDataAssembly::SetAttribute(int,char const *,char const *)" (?SetAttribute@vtkDataAssembly@@QEAAXHPEBD0@Z)
1>vtkCommonDataModel-9.1d.lib(vtkDataAssembly.obj) : error LNK2019: unresolved external symbol "public: char const * __cdecl vtkpugixml::xml_attribute::value(void)const " (?value@xml_attribute@vtkpugixml@@QEBAPEBDXZ) referenced in function "public: virtual bool __cdecl `anonymous namespace'::ValidationAndInitializationWalker::for_each(class vtkpugixml::xml_node &)" (?for_each@ValidationAndInitializationWalker@?A0x93ac3df4@@UEAA_NAEAVxml_node@vtkpugixml@@@Z)
...
```
It seems that I must also link vtkpugixml-9.1(d).lib now, but in VTK\Common\DataModel\vtk.module VTK::pugixml is listed as PRIVATE_DEPENDS.
How can I use the vtkCommonDataModel without explicitly linking my application to vtkpugixml?
Thanks for the help,
Andreas.https://gitlab.kitware.com/vtk/vtk/-/issues/18385vtkHexahedron EvaluatePosition fails in release build2021-12-05T03:11:16-05:00Andreas BuykxvtkHexahedron EvaluatePosition fails in release buildThe VTK 9.1.0 release build (icpc version 2021.3.0 (gcc version 8.5.0 compatibility)) causes a failure in vtkHexahedron::EvaluatePosition
The attached [script](/uploads/66efd995e1b7ccdbdf76a1d1d2e24e2e/cell-locator.py) demonstrates how ...The VTK 9.1.0 release build (icpc version 2021.3.0 (gcc version 8.5.0 compatibility)) causes a failure in vtkHexahedron::EvaluatePosition
The attached [script](/uploads/66efd995e1b7ccdbdf76a1d1d2e24e2e/cell-locator.py) demonstrates how vtkCellLocator is used to find the closest point in or on the surface of a bar of 5 vtkHexahedrons. The [debug build](/uploads/c5b92aae75dab98e6b5512b9e9ea5f8e/cell-locator_v9.1.0-debug.out) properly finds the expected positions whereas the [release build](/uploads/c0e2a4b7387e1437916cdddd720d1301/cell-locator_v9.1.0-release.out) fails in almost all cases. Is is demonstrated that this is caused by vtkHexahedron::EvaluatePosition.
In VTK 8.1.1 the release build is OK.https://gitlab.kitware.com/vtk/vtk/-/issues/18386Improve documentation clarity for vtkCamera::GetProjectionTransformMatrix(vtk...2023-06-08T00:00:55-04:00Connor BowleyImprove documentation clarity for vtkCamera::GetProjectionTransformMatrix(vtkRenderer* ren)`vtkMatrix4x4* vtkCamera::GetProjectionTransformMatrix(vtkRenderer* ren)`(see [here][1]) has different return semantics than its counterpart `vtkMatrix4x4* vtkCamera::GetProjectionTransformMatrix(double aspect, double nearz, double farz)...`vtkMatrix4x4* vtkCamera::GetProjectionTransformMatrix(vtkRenderer* ren)`(see [here][1]) has different return semantics than its counterpart `vtkMatrix4x4* vtkCamera::GetProjectionTransformMatrix(double aspect, double nearz, double farz)` (see [here][2] and [here][3])
One would expect that the returned pointer is non-owning in both functions, as there is nothing in the documentation to the contrary. However, the first version that takes a `vtkRenderer*` as parameter returns an owning pointer and requires the user to delete said pointer. The second version that takes the three `double`s returns a non-owning pointer and requires the user not delete it. This difference should be specified in the documentation.
In addition, possibly the VTK_NEWINSTANCE macro should be used on the first version.
[1]: https://gitlab.kitware.com/vtk/vtk/-/blob/33519ffc861b46b3d780bc2ed47100af91b64dd3/Rendering/Core/vtkCamera.cxx#L1139-1166
[2]: https://gitlab.kitware.com/vtk/vtk/-/blob/33519ffc861b46b3d780bc2ed47100af91b64dd3/Rendering/Core/vtkCamera.cxx#L1170-1176
[3]: https://gitlab.kitware.com/vtk/vtk/-/blob/33519ffc861b46b3d780bc2ed47100af91b64dd3/Rendering/Core/vtkCamera.cxx#L1045-1136https://gitlab.kitware.com/vtk/vtk/-/issues/18387`vtkImageReader2` overflows o 2 GB files on Windows2022-01-03T12:11:07-05:00Yohann Bearzi (Kitware)`vtkImageReader2` overflows o 2 GB files on WindowsThis issue stems from this discourse [post](https://discourse.vtk.org/t/reading-raw-data-using-memcpy/7215).
`vtkImageReader2` and its subclasses index positions in the input file using `long` and `unsigned long`, which are only guaran...This issue stems from this discourse [post](https://discourse.vtk.org/t/reading-raw-data-using-memcpy/7215).
`vtkImageReader2` and its subclasses index positions in the input file using `long` and `unsigned long`, which are only guaranteed to be 4 bytes by C++ standard. On windows, they are defined on 4 bytes, which causes this class to not be able to open files larger than 2 GB.
All indexing in these class need to be replaced by `vtkTypeUInt64`.
@ben.boeckel FYIYohann Bearzi (Kitware)Yohann Bearzi (Kitware)https://gitlab.kitware.com/vtk/vtk/-/issues/18388Fallback to GlobalID when unknown ID Channel Array in vtkExtractParticlesOver...2021-11-22T10:49:56-05:00Francois MazenFallback to GlobalID when unknown ID Channel Array in vtkExtractParticlesOverTime does not workWhen setting an unknown array via `vtkExtractParticlesOverTime::SetIdChannelArray` then the fallback to Global ID does not work and the filter produces no output.
Sample code to reproduce the issue:
```cpp
vtkNew<vtkTimeSourceExample> t...When setting an unknown array via `vtkExtractParticlesOverTime::SetIdChannelArray` then the fallback to Global ID does not work and the filter produces no output.
Sample code to reproduce the issue:
```cpp
vtkNew<vtkTimeSourceExample> timeSource;
timeSource->SetXAmplitude(10);
timeSource->SetYAmplitude(0);
vtkNew<vtkSphereSource> sphere;
sphere->SetCenter(10, 0, 0);
vtkNew<vtkDelaunay3D> delaunay;
delaunay->SetInputConnection(sphere->GetOutputPort());
vtkNew<vtkExtractParticlesOverTime> particleExtraction;
particleExtraction->SetInputConnection(0, delaunay->GetOutputPort());
particleExtraction->SetInputConnection(1, delaunay->GetOutputPort());
particleExtraction->SetIdChannelArray("unknown_channel_name");
particleExtraction->Update();
// Check output of the filter, it should contains 1 point.
```https://gitlab.kitware.com/vtk/vtk/-/issues/18389VTK 9.1 build Fail With Qt 6.2.12022-05-16T10:09:13-04:00qu710458643VTK 9.1 build Fail With Qt 6.2.1When Compile VTK 9.1.0 With Qt 6.2.1,I get this error message:
```
qmlplugindump is deprecated.
Please declare your types using QML_ELEMENT and related macros.
Then utilize the build system to invoke qmltyperegistrar in order to
generate...When Compile VTK 9.1.0 With Qt 6.2.1,I get this error message:
```
qmlplugindump is deprecated.
Please declare your types using QML_ELEMENT and related macros.
Then utilize the build system to invoke qmltyperegistrar in order to
generate qmltypes files.
QQmlComponent: Component is not ready
file:///D:/SourceCode/VTK/build/lib/qml/typelist.qml:3:1: module "VTK" plugin "qmlvtkplugin" not found
mingw32-make[2]: *** [Imaging\GUISupport\QtQuick\qml\CMakeFiles\qmlvtkplugin.dir\build.make:149: lib/qml/VTK.9.1/libqmlvtkplugin.dll] Error 3
mingw32-make[2]: *** Deleting file 'lib/qml/VTK.9.1/libqmlvtkplugin.dll'
mingw32-make[1]: *** [CMakeFiles\Makefile2:17595: Imaging/GUISupport/QtQuick/qml/CMakeFiles/qmlvtkplugin.dir/all] Error 2
```
My Build Environment is:
```
OS: Windows 10
GCC:11.2(Mingw64)
Qt:6.2.1
Cmake:3.21.3
```https://gitlab.kitware.com/vtk/vtk/-/issues/18390Missing libm link library for vtkkissfft2021-11-23T10:10:38-05:00StefanBruensMissing libm link library for vtkkissfftkissfft uses sincos and sqrt and thus should be linked with libm under "UNIX".
```
[ 40s] /var/lib/build/ccache/bin/gcc -fPIC -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-...kissfft uses sincos and sqrt and thus should be linked with libm under "UNIX".
```
[ 40s] /var/lib/build/ccache/bin/gcc -fPIC -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG -O2 -g -DNDEBUG -Wl,-lc -flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now -shared -Wl,-soname,libvtkkissfft.so.1 -o ../../../lib64/libvtkkissfft.so.9.1.0 CMakeFiles/kissfft.dir/kiss_fft.c.o CMakeFiles/kissfft.dir/tools/kiss_fastfir.c.o CMakeFiles/kissfft.dir/tools/kiss_fftnd.c.o CMakeFiles/kissfft.dir/tools/kiss_fftndr.c.o CMakeFiles/kissfft.dir/tools/kiss_fftr.c.o
[ 40s] /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: /tmp/ccwYefBl.ltrans0.ltrans.o: in function `vtkkissfft_fft_alloc':
[ 40s] /home/abuild/rpmbuild/BUILD/VTK-9.1.0/ThirdParty/kissfft/vtkkissfft/kiss_fft.c:351: undefined reference to `sincos'
[ 40s] /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/VTK-9.1.0/ThirdParty/kissfft/vtkkissfft/kiss_fft.c:307: undefined reference to `sqrt'
[ 40s] /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: /tmp/ccwYefBl.ltrans0.ltrans.o: in function `vtkkissfft_fftr_alloc':
[ 40s] /home/abuild/rpmbuild/BUILD/VTK-9.1.0/ThirdParty/kissfft/vtkkissfft/tools/kiss_fftr.c:51: undefined reference to `sincos'
```Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/183919.1.0: Fails to build: ThirdParty/hdf5/vtkhdf5/src/H5make_libsettings.c inclu...2021-11-23T12:38:42-05:00yurivict9.1.0: Fails to build: ThirdParty/hdf5/vtkhdf5/src/H5make_libsettings.c includes sys/file.h which isn't defined by POSIX-1.2008 but is compiled with -D_POSIX_C_SOURCE=200809LThis command fails:
> /usr/bin/cc -D_POSIX_C_SOURCE=200809L -I/disk-samsung/freebsd-ports/math/vtk9/work/VTK-9.1.0/ThirdParty/hdf5/vtkhdf5/src -I/disk-samsung/freebsd-ports/math/vtk9/work/.build/ThirdParty/hdf5/vtkhdf5/src -std=c99 -O2 -...This command fails:
> /usr/bin/cc -D_POSIX_C_SOURCE=200809L -I/disk-samsung/freebsd-ports/math/vtk9/work/VTK-9.1.0/ThirdParty/hdf5/vtkhdf5/src -I/disk-samsung/freebsd-ports/math/vtk9/work/.build/ThirdParty/hdf5/vtkhdf5/src -std=c99 -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -O2 -pipe -fno-omit-frame-pointer -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -fPIE -std=gnu99 -MD -MT ThirdParty/hdf5/vtkhdf5/src/CMakeFiles/H5make_libsettings.dir/H5make_libsettings.c.o -c /disk-samsung/freebsd-ports/math/vtk9/work/VTK-9.1.0/ThirdParty/hdf5/vtkhdf5/src/H5make_libsettings.c
```
/usr/include/sys/file.h:233:2: error: unknown type name 'u_int'
u_int xf_flag; /* flags (see fcntl.h) */
^
1 error generated.
```
Downstream bug report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259975
Version: 9.1.0
OS: FreeBSD 13https://gitlab.kitware.com/vtk/vtk/-/issues/18392Please add SONAMEs to all installed shared libraries2021-11-22T21:36:22-05:00yurivictPlease add SONAMEs to all installed shared librariesThe ports framework complains:
```
Warning: /disk-samsung/freebsd-ports/math/vtk9/work/stage/usr/local/lib/libvtkGeovisCore-9.1.so.9.1.0 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: ...The ports framework complains:
```
Warning: /disk-samsung/freebsd-ports/math/vtk9/work/stage/usr/local/lib/libvtkGeovisCore-9.1.so.9.1.0 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.
Warning: /disk-samsung/freebsd-ports/math/vtk9/work/stage/usr/local/lib/libvtkRenderingQt-9.1.so.9.1.0 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.
Warning: /disk-samsung/freebsd-ports/math/vtk9/work/stage/usr/local/lib/libvtkGUISupportQt-9.1.so.9.1.0 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.
Warning: /disk-samsung/freebsd-ports/math/vtk9/work/stage/usr/local/lib/libvtkInteractionWidgets-9.1.so.9.1.0 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.
Warning: /disk-samsung/freebsd-ports/math/vtk9/work/stage/usr/local/lib/libvtkIOExportGL2PS-9.1.so.9.1.0 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.
Warning: /disk-samsung/freebsd-ports/math/vtk9/work/stage/usr/local/lib/libvtkViewsQt-9.1.so.9.1.0 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.
Warning: /disk-samsung/freebsd-ports/math/vtk9/work/stage/usr/local/lib/libvtkGUISupportQtQuick-9.1.so.9.1.0 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.
Warning: /disk-samsung/freebsd-ports/math/vtk9/work/stage/usr/local/lib/libvtkGUISupportQtSQL-9.1.so.9.1.0 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.
Warning: /disk-samsung/freebsd-ports/math/vtk9/work/stage/usr/local/lib/libvtkViewsInfovis-9.1.so.9.1.0 doesn't have a SONAME.
Warning: pkg(8) will not register it as being provided by the port.
Warning: If another port depend on it, pkg will not be able to know where it comes from.
Warning: It is directly in /usr/local/lib, it is probably used by other ports.
```
Version: 9.1.0
OS: FreeBSD 13https://gitlab.kitware.com/vtk/vtk/-/issues/18393[question] How to force VTK to use a specific Python version ?2021-11-22T05:16:04-05:00yurivict[question] How to force VTK to use a specific Python version ?There's the ```vtk_python_min_version``` variable in ```Utilities/Python/CMakeLists.txt``` but it only sets the version minimum.
There's ```VTK_PYTHON_VERSION``` but it is expected to be '2' or '3'.There's the ```vtk_python_min_version``` variable in ```Utilities/Python/CMakeLists.txt``` but it only sets the version minimum.
There's ```VTK_PYTHON_VERSION``` but it is expected to be '2' or '3'.https://gitlab.kitware.com/vtk/vtk/-/issues/18394Parallel build issue2021-11-29T11:45:30-05:00Orion PoplawskiParallel build issueTrying to build VTK 9.1.0 for Fedora I'm getting the following build failure:
```
Wrapping/Java/CMakeFiles/vtkInteractionWidgetsJava.dir/build.make:3236: warning: overriding recipe for target 'Wrapping/Java/CMakeFiles/vtkInteractionWidge...Trying to build VTK 9.1.0 for Fedora I'm getting the following build failure:
```
Wrapping/Java/CMakeFiles/vtkInteractionWidgetsJava.dir/build.make:3236: warning: overriding recipe for target 'Wrapping/Java/CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTexturedButtonRepresentation2DJava.cxx.o'
Wrapping/Java/CMakeFiles/vtkInteractionWidgetsJava.dir/build.make:3228: warning: ignoring old recipe for target 'Wrapping/Java/CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTexturedButtonRepresentation2DJava.cxx.o'
```
```
/usr/bin/g++ -fPIC -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_UNICODE -DHAVE_UINTPTR_T -g -Wl,-lc -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -shared -Wl,-soname,libvtkInteractionWidgetsJava.so -o ../../lib/vtk/libvtkInteractionWidgetsJava.so CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtk3DWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAbstractPolygonalHandleRepresentation3DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAbstractSplineRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAbstractWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAffineRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAffineRepresentation2DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAffineWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAngleRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAngleRepresentation2DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAngleRepresentation3DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAngleWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAxesTransformRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkAxesTransformWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBalloonRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBalloonWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBezierContourLineInterpolatorJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBiDimensionalRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBiDimensionalRepresentation2DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBiDimensionalWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBorderRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBorderWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBoundedPlanePointPlacerJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBoxRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBoxWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBoxWidget2Java.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkBrokenLineWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkButtonRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkButtonWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCameraHandleSourceJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCameraOrientationWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCameraOrientationRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCameraPathRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCameraPathWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCameraRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCameraWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCaptionRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCaptionWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCellCentersPointPlacerJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCenteredSliderRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCenteredSliderWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCheckerboardRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCheckerboardWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkClosedSurfacePointPlacerJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkConstrainedPointHandleRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkContinuousValueWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkContinuousValueWidgetRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkContourLineInterpolatorJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkContourRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkContourWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkCurveRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkDijkstraImageContourLineInterpolatorJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkDistanceRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkDistanceRepresentation2DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkDistanceRepresentation3DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkDistanceWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkEllipsoidTensorProbeRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkEqualizerContextItemJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkEventJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkFinitePlaneRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkFinitePlaneWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkFixedSizeHandleRepresentation3DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkFocalPlaneContourRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkFocalPlanePointPlacerJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkHandleRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkHandleWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkHoverWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImageActorPointPlacerJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImageCroppingRegionsWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImageOrthoPlanesJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImagePlaneWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImageTracerWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImplicitCylinderRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImplicitCylinderWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImplicitImageRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImplicitPlaneRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImplicitPlaneWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkImplicitPlaneWidget2Java.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkLightRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkLightWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkLinearContourLineInterpolatorJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkLineRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkLineWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkLineWidget2Java.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkLogoRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkLogoWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkMagnifierRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkMagnifierWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkMeasurementCubeHandleRepresentation3DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkOrientationMarkerWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkOrientedGlyphContourRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkOrientedGlyphFocalPlaneContourRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkOrientedPolygonalHandleRepresentation3DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkParallelopipedRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkParallelopipedWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPlaneWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPlaybackRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPlaybackWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPointCloudRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPointCloudWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPointHandleRepresentation2DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPointHandleRepresentation3DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPointPlacerJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPointWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPolyDataContourLineInterpolatorJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPolyDataPointPlacerJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPolyDataSourceWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPolygonalHandleRepresentation3DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPolygonalSurfaceContourLineInterpolatorJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPolygonalSurfacePointPlacerJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPolyLineRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkPolyLineWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkProgressBarRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkProgressBarWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkProp3DButtonRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkRectilinearWipeRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkRectilinearWipeWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkResliceCursorJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkResliceCursorActorJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkResliceCursorLineRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkResliceCursorPickerJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkResliceCursorPolyDataAlgorithmJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkResliceCursorRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkResliceCursorThickLineRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkResliceCursorWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkScalarBarRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkScalarBarWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSeedRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSeedWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSliderRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSliderRepresentation2DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSliderRepresentation3DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSliderWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSphereHandleRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSphereRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSphereWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSphereWidget2Java.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSplineRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSplineWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkSplineWidget2Java.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTensorProbeRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTensorProbeWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTensorRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTensorWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTerrainContourLineInterpolatorJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTerrainDataPointPlacerJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTextRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTexturedButtonRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTexturedButtonRepresentation2DJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTextWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkWidgetCallbackMapperJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkWidgetEventJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkWidgetEventTranslatorJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkWidgetRepresentationJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkWidgetSetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkXYPlotWidgetJava.cxx.o CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkInteractionWidgetsModuleJava.cxx.o -Wl,-rpath,"\$ORIGIN/../:\$ORIGIN:/usr/lib64/openmpi/lib:/usr/lib/jvm/java/lib:/usr/lib/jvm/java/lib/server:" ../../lib/libvtkInteractionWidgets.so.9.1.0 ../../lib/vtk/libvtkFiltersGeneralJava.so ../../lib/vtk/libvtkFiltersSourcesJava.so ../../lib/vtk/libvtkRenderingContext2DJava.so ../../lib/vtk/libvtkRenderingCoreJava.so ../../lib/vtk/libvtkCommonExecutionModelJava.so ../../lib/libvtkRenderingContext2D.so.9.1.0 ../../lib/libvtkRenderingCore.so.9.1.0 ../../lib/libvtkFiltersSources.so.9.1.0 ../../lib/libvtkFiltersGeneral.so.9.1.0 ../../lib/libvtkFiltersCore.so.9.1.0 ../../lib/libvtkCommonExecutionModel.so.9.1.0 ../../lib/libvtkCommonDataModel.so.9.1.0 ../../lib/libvtkCommonMisc.so.9.1.0 ../../lib/libvtkCommonTransforms.so.9.1.0 ../../lib/vtk/libvtkCommonCoreJava.so ../../lib/libvtkJava.so.9.1.0 /usr/lib/jvm/java/lib/libjawt.so /usr/lib/jvm/java/lib/server/libjvm.so ../../lib/libvtkCommonMath.so.9.1.0 ../../lib/libvtkCommonCore.so.9.1.0 ../../lib/libvtksys.so.9.1.0 -ldl ../../lib/libvtkkissfft.so.9.1.0 -Wl,-rpath-link,/builddir/build/BUILD/VTK-9.1.0/build-openmpi/lib:/usr/lib64/openmpi/lib:/builddir/build/BUILD/VTK-9.1.0/build-openmpi/lib/vtk
/usr/bin/ld: cannot find CMakeFiles/vtkInteractionWidgetsJava.dir/CMakeFiles/vtkInteractionWidgetsJava/vtkTexturedButtonRepresentation2DJava.cxx.o: No such file or directory
```
Full build log: https://kojipkgs.fedoraproject.org//work/tasks/6411/79166411/build.log
I'm pretty sure this is arising due to a parallel build issue, but perhaps not. This is with -j6. At the moment I seem to be seeing it only on x86_64 only in one of the mpi builds.Ben BoeckelBen Boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/18395No GTK example works with Python32021-11-25T01:07:38-05:00ifelseifisfakeNo GTK example works with Python3Hello,
I am following the examples provided under the vtkmodules/gtk: https://gitlab.kitware.com/vtk/vtk/-/tree/master/Wrapping/Python/vtkmodules/gtk
It seems that those examples are very outdated and work only with Python2. I have tri...Hello,
I am following the examples provided under the vtkmodules/gtk: https://gitlab.kitware.com/vtk/vtk/-/tree/master/Wrapping/Python/vtkmodules/gtk
It seems that those examples are very outdated and work only with Python2. I have tried to run them on Ubuntu 20.04 with Python 3.8.10 and nothing works!
Compared to Qt, Gtk is considered as a third-class citizen.
I look forward to your response.https://gitlab.kitware.com/vtk/vtk/-/issues/18396Build documentation should link to groups and modules list2023-06-07T23:59:57-04:00yurivictBuild documentation should link to groups and modules list[Build documentation](https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/build.md) talks about modules and groups but doesn't define them. It should probably hyperlink to the relevant documentation pages.[Build documentation](https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/build.md) talks about modules and groups but doesn't define them. It should probably hyperlink to the relevant documentation pages.https://gitlab.kitware.com/vtk/vtk/-/issues/18397[feature suggestion] cmake should print all groups/modules that are enabled o...2021-11-24T07:16:31-05:00yurivict[feature suggestion] cmake should print all groups/modules that are enabled or disabledOtherwise there's no easy visibility of what is being built and what isn't being built.Otherwise there's no easy visibility of what is being built and what isn't being built.https://gitlab.kitware.com/vtk/vtk/-/issues/18398Malformatted error message: 'Error glEnable/Disable1 OpenGL errors detected' ...2021-11-24T05:00:03-05:00yurivictMalformatted error message: 'Error glEnable/Disable1 OpenGL errors detected' instead of 'Error glEnable/Disable 1 OpenGL errors detected'9.1.09.1.0https://gitlab.kitware.com/vtk/vtk/-/issues/18399Please check hardware capabilities and fail with a meaningful error message b...2021-11-24T04:59:45-05:00yurivictPlease check hardware capabilities and fail with a meaningful error message before performing OpenGL operations and then failing with a cryptic messageThe f3d project fails with the cryptic error message, see [this message](https://github.com/f3d-app/f3d/issues/80).
Please check upfront that the hardware supports features needed and fail with a descriptive error message.The f3d project fails with the cryptic error message, see [this message](https://github.com/f3d-app/f3d/issues/80).
Please check upfront that the hardware supports features needed and fail with a descriptive error message.https://gitlab.kitware.com/vtk/vtk/-/issues/18400VTK 9.1.0 ninja build failure on ppc64le2021-11-29T08:48:47-05:00Orion PoplawskiVTK 9.1.0 ninja build failure on ppc64leI'm trying switching to the ninja generator to resolve a build failure on x86_64 (see #18394). This results in a build failure on ppc64le not seen with the default make generator:
```
[20437/25379] /usr/bin/javac -classpath /builddir/b...I'm trying switching to the ninja generator to resolve a build failure on x86_64 (see #18394). This results in a build failure on ppc64le not seen with the default make generator:
```
[20437/25379] /usr/bin/javac -classpath /builddir/build/BUILD/VTK-9.1.0/build/share/java/vtk.jar -source 1.7 -target 1.7 /builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java -d Wrapping/Java/Testing/Java/CMakeFiles/vtkjava_tests.dir
FAILED: Wrapping/Java/Testing/Java/CMakeFiles/vtkjava_tests.dir/vtk/test/Regression.class
/usr/bin/javac -classpath /builddir/build/BUILD/VTK-9.1.0/build/share/java/vtk.jar -source 1.7 -target 1.7 /builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java -d Wrapping/Java/Testing/Java/CMakeFiles/vtkjava_tests.dir
warning: [options] bootstrap class path not set in conjunction with -source 7
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:19: error: cannot find symbol
import vtk.vtkActor;
^
symbol: class vtkActor
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:20: error: cannot find symbol
import vtk.vtkConeSource;
^
symbol: class vtkConeSource
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:21: error: cannot find symbol
import vtk.vtkImageData;
^
symbol: class vtkImageData
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:22: error: cannot find symbol
import vtk.vtkImageDifference;
^
symbol: class vtkImageDifference
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:23: error: cannot find symbol
import vtk.vtkJavaTesting;
^
symbol: class vtkJavaTesting
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:24: error: cannot find symbol
import vtk.vtkObject;
^
symbol: class vtkObject
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:25: error: cannot find symbol
import vtk.vtkPNGWriter;
^
symbol: class vtkPNGWriter
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:26: error: cannot find symbol
import vtk.vtkPolyDataMapper;
^
symbol: class vtkPolyDataMapper
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:27: error: cannot find symbol
import vtk.vtkRenderWindow;
^
symbol: class vtkRenderWindow
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:28: error: cannot find symbol
import vtk.vtkRenderWindowInteractor;
^
symbol: class vtkRenderWindowInteractor
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:29: error: cannot find symbol
import vtk.vtkRenderer;
^
symbol: class vtkRenderer
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:30: error: cannot find symbol
import vtk.vtkShortArray;
^
symbol: class vtkShortArray
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:31: error: cannot find symbol
import vtk.vtkUnsignedCharArray;
^
symbol: class vtkUnsignedCharArray
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:32: error: cannot find symbol
import vtk.vtkUnsignedShortArray;
^
symbol: class vtkUnsignedShortArray
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:33: error: cannot find symbol
import vtk.vtkWindowToImageFilter;
^
symbol: class vtkWindowToImageFilter
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:40: error: cannot find symbol
vtkJavaTesting.Initialize(args, true);
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:41: error: cannot find symbol
vtkShortArray array = new vtkShortArray();
^
symbol: class vtkShortArray
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:41: error: cannot find symbol
vtkShortArray array = new vtkShortArray();
^
symbol: class vtkShortArray
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:68: error: cannot find symbol
vtkUnsignedShortArray narray = new vtkUnsignedShortArray();
^
symbol: class vtkUnsignedShortArray
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:68: error: cannot find symbol
vtkUnsignedShortArray narray = new vtkUnsignedShortArray();
^
symbol: class vtkUnsignedShortArray
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:77: error: cannot find symbol
vtkRenderWindow renWin = new vtkRenderWindow();
^
symbol: class vtkRenderWindow
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:77: error: cannot find symbol
vtkRenderWindow renWin = new vtkRenderWindow();
^
symbol: class vtkRenderWindow
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:78: error: cannot find symbol
vtkRenderer ren1 = new vtkRenderer();
^
symbol: class vtkRenderer
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:78: error: cannot find symbol
vtkRenderer ren1 = new vtkRenderer();
^
symbol: class vtkRenderer
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:80: error: cannot find symbol
vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor();
^
symbol: class vtkRenderWindowInteractor
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:80: error: cannot find symbol
vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor();
^
symbol: class vtkRenderWindowInteractor
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:82: error: cannot find symbol
vtkConeSource cone = new vtkConeSource();
^
symbol: class vtkConeSource
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:82: error: cannot find symbol
vtkConeSource cone = new vtkConeSource();
^
symbol: class vtkConeSource
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:84: error: cannot find symbol
vtkPolyDataMapper coneMapper = new vtkPolyDataMapper();
^
symbol: class vtkPolyDataMapper
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:84: error: cannot find symbol
vtkPolyDataMapper coneMapper = new vtkPolyDataMapper();
^
symbol: class vtkPolyDataMapper
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:87: error: cannot find symbol
vtkActor coneActor = new vtkActor();
^
symbol: class vtkActor
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:87: error: cannot find symbol
vtkActor coneActor = new vtkActor();
^
symbol: class vtkActor
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:92: error: cannot find symbol
vtkWindowToImageFilter w2i = new vtkWindowToImageFilter();
^
symbol: class vtkWindowToImageFilter
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:92: error: cannot find symbol
vtkWindowToImageFilter w2i = new vtkWindowToImageFilter();
^
symbol: class vtkWindowToImageFilter
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:97: error: cannot find symbol
vtkImageData image = w2i.GetOutput();
^
symbol: class vtkImageData
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:99: error: cannot find symbol
vtkUnsignedCharArray da = (vtkUnsignedCharArray) image.GetPointData().GetScalars();
^
symbol: class vtkUnsignedCharArray
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:99: error: cannot find symbol
vtkUnsignedCharArray da = (vtkUnsignedCharArray) image.GetPointData().GetScalars();
^
symbol: class vtkUnsignedCharArray
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:104: error: cannot find symbol
vtkUnsignedCharArray nda = new vtkUnsignedCharArray();
^
symbol: class vtkUnsignedCharArray
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:104: error: cannot find symbol
vtkUnsignedCharArray nda = new vtkUnsignedCharArray();
^
symbol: class vtkUnsignedCharArray
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:107: error: cannot find symbol
vtkImageData nimage = new vtkImageData();
^
symbol: class vtkImageData
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:107: error: cannot find symbol
vtkImageData nimage = new vtkImageData();
^
symbol: class vtkImageData
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:112: error: cannot find symbol
vtkUnsignedCharArray nida = (vtkUnsignedCharArray) nimage.GetPointData().GetScalars();
^
symbol: class vtkUnsignedCharArray
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:112: error: cannot find symbol
vtkUnsignedCharArray nida = (vtkUnsignedCharArray) nimage.GetPointData().GetScalars();
^
symbol: class vtkUnsignedCharArray
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:115: error: cannot find symbol
int retVal0 = vtkJavaTesting.PASSED;
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:124: error: cannot find symbol
retVal0 = vtkJavaTesting.FAILED;
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:130: error: cannot find symbol
retVal0 = vtkJavaTesting.FAILED;
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:134: error: cannot find symbol
retVal0 = vtkJavaTesting.FAILED;
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:138: error: cannot find symbol
vtkImageDifference imgDiff = new vtkImageDifference();
^
symbol: class vtkImageDifference
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:138: error: cannot find symbol
vtkImageDifference imgDiff = new vtkImageDifference();
^
symbol: class vtkImageDifference
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:143: error: cannot find symbol
int retVal1 = vtkJavaTesting.PASSED;
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:146: error: cannot find symbol
vtkPNGWriter wr = new vtkPNGWriter();
^
symbol: class vtkPNGWriter
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:146: error: cannot find symbol
vtkPNGWriter wr = new vtkPNGWriter();
^
symbol: class vtkPNGWriter
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:156: error: cannot find symbol
retVal1 = vtkJavaTesting.FAILED;
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:159: error: cannot find symbol
int retVal2 = vtkJavaTesting.PASSED;
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:160: error: cannot find symbol
if (vtkJavaTesting.IsInteractive()) {
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:163: error: cannot find symbol
retVal2 = vtkJavaTesting.RegressionTest(renWin, 10);
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:166: error: package vtkObject does not exist
vtkObject.JAVA_OBJECT_MANAGER.deleteAll();
^
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:168: error: cannot find symbol
if (retVal0 != vtkJavaTesting.PASSED) {
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:169: error: cannot find symbol
vtkJavaTesting.Exit(retVal0);
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:171: error: cannot find symbol
if (retVal1 != vtkJavaTesting.PASSED) {
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:172: error: cannot find symbol
vtkJavaTesting.Exit(retVal1);
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/Regression.java:174: error: cannot find symbol
vtkJavaTesting.Exit(retVal2);
^
symbol: variable vtkJavaTesting
62 errors
1 warning
[20438/25379] cd /builddir/build/BUILD/VTK-9.1.0/build/Wrapping/Java && /builddir/build/BUILD/VTK-9.1.0/build/bin/vtkWrapJava @/builddir/build/BUILD/VTK-9.1.0/build/Wrapping/Java/CMakeFiles/vtkParallelCoreJava/vtkParallelCore-java.Debug.args -o /builddir/build/BUILD/VTK-9.1.0/build/Wrapping/Java/CMakeFiles/vtkParallelCoreJava/vtkDummyCommunicatorJava.cxx /builddir/build/BUILD/VTK-9.1.0/Parallel/Core/vtkDummyCommunicator.h
[20439/25379] /usr/bin/javac -classpath /builddir/build/BUILD/VTK-9.1.0/build/share/java/vtk.jar -source 1.7 -target 1.7 /builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java -d Wrapping/Java/Testing/Java/CMakeFiles/vtkjava_tests.dir
FAILED: Wrapping/Java/Testing/Java/CMakeFiles/vtkjava_tests.dir/vtk/test/ConcurrencyGC.class
/usr/bin/javac -classpath /builddir/build/BUILD/VTK-9.1.0/build/share/java/vtk.jar -source 1.7 -target 1.7 /builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java -d Wrapping/Java/Testing/Java/CMakeFiles/vtkjava_tests.dir
warning: [options] bootstrap class path not set in conjunction with -source 7
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:6: error: cannot find symbol
import vtk.vtkJavaGarbageCollector;
^
symbol: class vtkJavaGarbageCollector
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:7: error: cannot find symbol
import vtk.vtkJavaTesting;
^
symbol: class vtkJavaTesting
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:8: error: cannot find symbol
import vtk.vtkPoints;
^
symbol: class vtkPoints
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:9: error: cannot find symbol
import vtk.vtkUnstructuredGrid;
^
symbol: class vtkUnstructuredGrid
location: package vtk
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:24: error: cannot find symbol
vtkJavaTesting.Initialize(args, true);
^
symbol: variable vtkJavaTesting
location: class ConcurrencyGC
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:30: error: cannot find symbol
vtkUnstructuredGrid grid = new vtkUnstructuredGrid();
^
symbol: class vtkUnstructuredGrid
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:30: error: cannot find symbol
vtkUnstructuredGrid grid = new vtkUnstructuredGrid();
^
symbol: class vtkUnstructuredGrid
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:31: error: cannot find symbol
grid.SetPoints(new vtkPoints());
^
symbol: class vtkPoints
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:32: error: cannot find symbol
vtkPoints p;
^
symbol: class vtkPoints
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:45: error: cannot find symbol
vtkJavaTesting.Exit(vtkJavaTesting.FAILED);
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:45: error: cannot find symbol
vtkJavaTesting.Exit(vtkJavaTesting.FAILED);
^
symbol: variable vtkJavaTesting
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:59: error: cannot find symbol
vtkJavaGarbageCollector gc = vtkJavaTesting.StartGCInEDT(10, TimeUnit.MILLISECONDS); // Start periodic GC in EDT
^
symbol: class vtkJavaGarbageCollector
location: class ConcurrencyGC
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:59: error: cannot find symbol
vtkJavaGarbageCollector gc = vtkJavaTesting.StartGCInEDT(10, TimeUnit.MILLISECONDS); // Start periodic GC in EDT
^
symbol: variable vtkJavaTesting
location: class ConcurrencyGC
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:66: error: cannot find symbol
vtkJavaTesting.Exit(vtkJavaTesting.PASSED);
^
symbol: variable vtkJavaTesting
location: class ConcurrencyGC
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:66: error: cannot find symbol
vtkJavaTesting.Exit(vtkJavaTesting.PASSED);
^
symbol: variable vtkJavaTesting
location: class ConcurrencyGC
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:70: error: cannot find symbol
vtkJavaTesting.Exit(vtkJavaTesting.FAILED);
^
symbol: variable vtkJavaTesting
location: class ConcurrencyGC
/builddir/build/BUILD/VTK-9.1.0/Wrapping/Java/Testing/Java/vtk/test/ConcurrencyGC.java:70: error: cannot find symbol
vtkJavaTesting.Exit(vtkJavaTesting.FAILED);
^
symbol: variable vtkJavaTesting
location: class ConcurrencyGC
17 errors
1 warning
```
Build info here: https://koji.fedoraproject.org/koji/taskinfo?taskID=79207852https://gitlab.kitware.com/vtk/vtk/-/issues/18401vtkDataAssembly.SelectNodes() fails to return expected node IDs2021-11-30T12:51:20-05:00Douglas BrennanvtkDataAssembly.SelectNodes() fails to return expected node IDsI’m using Python 3.9 and vtk 9.1.0 on Windows and find that vtkDataAssembly.SelectNodes() is not working correctly.
The below example populates an assembly from XML
The assembly has a root node named "Model_26", with a single child name...I’m using Python 3.9 and vtk 9.1.0 on Windows and find that vtkDataAssembly.SelectNodes() is not working correctly.
The below example populates an assembly from XML
The assembly has a root node named "Model_26", with a single child named "Assembly_1" which in turn has 19 children.
The example then make tqo SelectNodes calls - the first is epected to return the ID of the "Assembly_1" node and the second is expected to return the IDs of the 19 children of "Assembly_1"
The first selection behaves as expected but the second returns nothing
Further testing shows that any selection path with a trailing '/' returns nothing instead of returning the childern of the last node in the path
```
import vtk
data_assembly_xml="""<?xml version="1.0"?>
<Model_26 type="vtkDataAssembly" version="1.0" id="0">
<Assembly_1 id="1">
<Part_462 id="2">
<Solid_1 id="3">
<dataset id="0" />
</Solid_1>
</Part_462>
<Part_463 id="4">
<Mesh_1 id="5">
<dataset id="1" />
<dataset id="2" />
</Mesh_1>
<Solid_2 id="6" />
</Part_463>
<Part_464 id="7">
<Solid_3 id="8">
<dataset id="3" />
</Solid_3>
</Part_464>
<Part_465 id="9">
<Solid_4 id="10">
<dataset id="4" />
</Solid_4>
</Part_465>
<Part_466 id="11">
<Solid_5 id="12">
<dataset id="5" />
</Solid_5>
</Part_466>
<Part_467 id="13">
<Solid_6 id="14">
<dataset id="6" />
</Solid_6>
</Part_467>
<Part_468 id="15">
<Solid_7 id="16">
<dataset id="7" />
</Solid_7>
</Part_468>
<Part_469 id="17">
<Mesh_2 id="18">
<dataset id="8" />
<dataset id="9" />
</Mesh_2>
<Solid_8 id="19" />
</Part_469>
<Part_470 id="20">
<Solid_9 id="21">
<dataset id="10" />
</Solid_9>
</Part_470>
<Part_471 id="22">
<Solid_10 id="23">
<dataset id="11" />
</Solid_10>
</Part_471>
<Part_479 id="24">
<Solid_18 id="25">
<dataset id="12" />
</Solid_18>
</Part_479>
<Part_484 id="26">
<Solid_23 id="27">
<dataset id="13" />
</Solid_23>
</Part_484>
<Part_485 id="28">
<Solid_24 id="29">
<dataset id="14" />
</Solid_24>
</Part_485>
<Part_488 id="30">
<Solid_27 id="31">
<dataset id="15" />
</Solid_27>
</Part_488>
<Part_490 id="32">
<Solid_29 id="33">
<dataset id="16" />
</Solid_29>
</Part_490>
<Part_517 id="34">
<Solid_56 id="35">
<dataset id="17" />
</Solid_56>
</Part_517>
<Part_518 id="36">
<Solid_57 id="37">
<dataset id="18" />
</Solid_57>
</Part_518>
<Part_519 id="38">
<Solid_58 id="39">
<dataset id="19" />
</Solid_58>
</Part_519>
<Part_520 id="40">
<Solid_59 id="41">
<dataset id="20" />
</Solid_59>
</Part_520>
</Assembly_1>
</Model_26>"""
das = vtk.vtkDataAssembly()
das.InitializeFromXML(data_assembly_xml)
print(das.SelectNodes(['/Model_26/Assembly_1']))
print(das.SelectNodes(['/Model_26/Assembly_1/']))
```
This produces the following output,
```
(1,)
()
```https://gitlab.kitware.com/vtk/vtk/-/issues/18402OpenVR module is failing to build: ‘struct vr::InputBindingInfo_t’ has no mem...2021-11-29T12:54:13-05:00Bane SullivanOpenVR module is failing to build: ‘struct vr::InputBindingInfo_t’ has no member named ‘rchInputSourceType’I'm getting the following error when trying to build VTK with VR module enabled:
```
FAILED: Rendering/OpenVR/CMakeFiles/RenderingOpenVR.dir/vtkOpenVRRenderWindowInteractor.cxx.o
/usr/bin/c++ -DRenderingOpenVR_EXPORTS -DVTK_IN_VTK -Dk...I'm getting the following error when trying to build VTK with VR module enabled:
```
FAILED: Rendering/OpenVR/CMakeFiles/RenderingOpenVR.dir/vtkOpenVRRenderWindowInteractor.cxx.o
/usr/bin/c++ -DRenderingOpenVR_EXPORTS -DVTK_IN_VTK -Dkiss_fft_scalar=double -DvtkRenderingCore_AUTOINIT_INCLUDE=\"/home/local/KHQ/bane.sullivan/Software/Kitware/vtk/build/CMakeFiles/vtkModuleAutoInit_1a291450dcdb0ede7da8203975a53d2b.h\" -DvtkRenderingVolume_AUTOINIT_INCLUDE=\"/home/local/KHQ/bane.sullivan/Software/Kitware/vtk/build/CMakeFiles/vtkModuleAutoInit_1a291450dcdb0ede7da8203975a53d2b.h\" -IRendering/OpenVR -I../Rendering/OpenVR -IRendering/VR -I../Rendering/VR -ICommon/Core -I../Common/Core -IIO/Image -I../IO/Image -ICommon/ExecutionModel -I../Common/ExecutionModel -ICommon/DataModel -I../Common/DataModel -ICommon/Math -I../Common/Math -IThirdParty/kissfft/vtkkissfft -I../ThirdParty/kissfft/vtkkissfft -ICommon/Transforms -I../Common/Transforms -IImaging/Core -I../Imaging/Core -IIO/XMLParser -I../IO/XMLParser -IInteraction/Style -I../Interaction/Style -IRendering/Core -I../Rendering/Core -IFilters/Core -I../Filters/Core -ICommon/Misc -I../Common/Misc -IInteraction/Widgets -I../Interaction/Widgets -IFilters/General -I../Filters/General -IFilters/Sources -I../Filters/Sources -IRendering/Context2D -I../Rendering/Context2D -IRendering/OpenGL2 -I../Rendering/OpenGL2 -IRendering/UI -I../Rendering/UI -IThirdParty/glew/vtkglew -I../ThirdParty/glew/vtkglew -IRendering/VolumeOpenGL2 -I../Rendering/VolumeOpenGL2 -IImaging/Math -I../Imaging/Math -IRendering/Volume -I../Rendering/Volume -ICommon/System -I../Common/System -IIO/XML -I../IO/XML -IImaging/Sources -I../Imaging/Sources -isystem Utilities/KWIML -isystem ../Utilities/KWIML -isystem Utilities/KWSys -isystem ../Utilities/KWSys -isystem ThirdParty/kissfft -isystem ../ThirdParty/kissfft -isystem ThirdParty/glew -isystem ../ThirdParty/glew -isystem /usr/include/openvr -g -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++11 -MD -MT Rendering/OpenVR/CMakeFiles/RenderingOpenVR.dir/vtkOpenVRRenderWindowInteractor.cxx.o -MF Rendering/OpenVR/CMakeFiles/RenderingOpenVR.dir/vtkOpenVRRenderWindowInteractor.cxx.o.d -o Rendering/OpenVR/CMakeFiles/RenderingOpenVR.dir/vtkOpenVRRenderWindowInteractor.cxx.o -c ../Rendering/OpenVR/vtkOpenVRRenderWindowInteractor.cxx
../Rendering/OpenVR/vtkOpenVRRenderWindowInteractor.cxx: In member function ‘virtual void vtkOpenVRRenderWindowInteractor::DoOneEvent(vtkVRRenderWindow*, vtkRenderer*)’:
../Rendering/OpenVR/vtkOpenVRRenderWindowInteractor.cxx:279:49: error: ‘struct vr::InputBindingInfo_t’ has no member named ‘rchInputSourceType’
279 | std::string inputSource = inBindingInfo.rchInputSourceType;
| ^~~~~~~~~~~~~~~~~~
[7526/10041] Building CXX object Rende...OpenVR.dir/vtkOpenVRRenderWindow.cxx.o
ninja: build stopped: subcommand failed.
```
I'm on Ubuntu 20.04 and trying to build from both 9.1.0 and `master` (same error)
My build command:
```bash
$ cmake -GNinja \
-DVTK_BUILD_TESTING=OFF \
-DVTK_WHEEL_BUILD=ON \
-DVTK_PYTHON_VERSION=3 \
-DVTK_WRAP_PYTHON=ON \
-DVTK_MODULE_ENABLE_VTK_RenderingOpenVR=YES ..
$ ninja
```
Not sure if this is related but during configuration, I got this error:
```
Performing Test CHECK_HAVE_STAT64_STRUCT - Failed
```
cc @ken-martin, any help here would be greatly appreciated!https://gitlab.kitware.com/vtk/vtk/-/issues/18403Run test failed after successful compilation by msvc on the windows x64 platform2022-07-08T03:54:58-04:00TheshyiscomingRun test failed after successful compilation by msvc on the windows x64 platform**Describe the bug**
Run test failed When I used the code compiled by msbuild for testing. The specific failure is as follows:
```
121/257 Test #121: VTK::IOIOSSCxx-TestIOSSAssemblies ....................................***Exception: S...**Describe the bug**
Run test failed When I used the code compiled by msbuild for testing. The specific failure is as follows:
```
121/257 Test #121: VTK::IOIOSSCxx-TestIOSSAssemblies ....................................***Exception: SegFault 0.34 sec
Exodus Library Warning/Error: [vtkexodusII_ex__check_file_type]
ERROR: Could not open file 'F:/vtk/vtk/build_amd64/ExternalData/Testing/Data/Exodus/Assembly-Example.g', error = No such file or directory.
Exodus Library Warning/Error: [vtkexodusII_ex_open_int]
ERROR: failed to open F:/vtk/vtk/build_amd64/ExternalData/Testing/Data/Exodus/Assembly-Example.g of type 0 for reading. Either the file does not exist,
or there is a permission or file format issue.
IOSS WARNING: ERROR: Unable to open input database 'F:/vtk/vtk/build_amd64/ExternalData/Testing/Data/Exodus/Assembly-Example.g' of type 'exodusII'
( 0.003s) [main thread ] vtkIOSSReader.cxx:934 ERR| vtkIOSSReader (000001998BAB8560): Error in UpdateTimeInformation:
Failed to open database F:/vtk/vtk/build_amd64/ExternalData/Testing/Data/Exodus/Assembly-Example.g
( 0.034s) [main thread ] vtkExecutive.cxx:753 ERR| vtkCompositeDataPipeline (000001998BAB6370): Algorithm vtkIOSSReader(000001998BAB8560) returned failure for request: vtkInformation (000001998BAFC950)
Debug: Off
Modified Time: 96
Reference Count: 1
Registered Events: (none)
Request: REQUEST_INFORMATION
FORWARD_DIRECTION: 0
ALGORITHM_AFTER_FORWARD: 1
Exodus Library Warning/Error: [vtkexodusII_ex__check_file_type]
ERROR: Could not open file 'F:/vtk/vtk/build_amd64/ExternalData/Testing/Data/Exodus/Assembly-Example.g', error = No such file or directory.
Exodus Library Warning/Error: [vtkexodusII_ex_open_int]
ERROR: failed to open F:/vtk/vtk/build_amd64/ExternalData/Testing/Data/Exodus/Assembly-Example.g of type 0 for reading. Either the file does not exist,
or there is a permission or file format issue.
IOSS WARNING: ERROR: Unable to open input database 'F:/vtk/vtk/build_amd64/ExternalData/Testing/Data/Exodus/Assembly-Example.g' of type 'exodusII'
( 0.048s) [main thread ] vtkExecutive.cxx:753 ERR| vtkCompositeDataPipeline (000001998BAB6370): Algorithm vtkIOSSReader(000001998BAB8560) returned failure for request: vtkInformation (000001998BAFC950)
Debug: Off
Modified Time: 96
Reference Count: 1
Registered Events: (none)
Request: REQUEST_INFORMATION
FORWARD_DIRECTION: 0
ALGORITHM_AFTER_FORWARD: 1
( 0.064s) [main thread ]vtkWindowsTestUtilities:32 ERR| Error: EXCEPTION_ACCESS_VIOLATION
( 0.127s) [main thread ]vtkWindowsTestUtilities:98 ERR| at �,�
at �,�
at �,�
at UnhandledExceptionFilter
at memset
at _C_specific_handler
at _chkstk
at RtlWalkFrameChain
at KiUserExceptionDispatcher
at KiUserExceptionDispatcher
at KiUserExceptionDispatcher
at KiUserExceptionDispatcher
at KiUserExceptionDispatcher
at KiUserExceptionDispatcher
at BaseThreadInitThunk
at RtlUserThreadStart
```
**To Reproduce**
Steps to reproduce the behavior:
1. git clone https://gitlab.kitware.com/vtk/vtk
git -C "F:\vtk\vtk" rev-parse --git-dir
git -C "F:\vtk\vtk" clean -xdf
git -C "F:\vtk\vtk" fetch --recurse-submodules=no --force
git -C "F:\vtk\vtk" reset --hard a6d4c9d
git -C "F:\vtk\vtk" remote prune origin
git -C "F:\vtk\vtk" submodule sync
git -C "F:\vtk\vtk" submodule foreach git reset --hard
git -C "F:\vtk\vtk" submodule foreach git clean -xdf
git -C "F:\vtk\vtk" submodule update --init --recursive
1. set VSCMD_SKIP_SENDTELEMETRY=1 & "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64
cd F:\vtk\vtk\build_amd64
cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_SYSTEM_VERSION=10.0.18362.0 -DBUILD_SHARED_LIBS=OFF -DVTK_BUILD_TESTING=WANT -DVTK_BUILD_EXAMPLES=OFF -DVTK_IGNORE_CMAKE_CXX11_CHECKS=TRUE -DVTK_DATA_EXCLUDE_FROM_ALL=ON ..
1. set VSCMD_SKIP_SENDTELEMETRY=1 & "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64
cd F:\vtk\vtk\build_amd64
msbuild /m /p:Platform=x64 /p:Configuration=Release All_BUILD.vcxproj /t:Rebuild
1. set VSCMD_SKIP_SENDTELEMETRY=1 & "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=amd64
cd F:\vtk\vtk\build_amd64
ctest --build-config Release --output-on-failure -E "vtkChartsCoreCxx|vtkCommonDataModelCxx|vtkDomainsChemistryCxx|vtkDomainsChemistryOpenGL2Cxx|vtkFilters*|vtkImaging*|vtkInfovis*|vtkInteractionWidgetsCxx|vtkIOExodusCxx|vtkIOGeometryCxx|vtkIOImageCxx|vtkIOImportCxx|vtkIOExportCxx|vtkIOInfovisCxx|vtkIOLegacyCxx|vtkIOPLYCxx|vtkIOSQLCxx|vtkIOXMLCxx|vtkRendering*|vtkViewsInfovisCxx|vtkIOSegYCxx|vtkIOCityGMLCxx-TestCityGMLReader|ViewsInfovisCxx|RenderingVolumeOpenGL2Cxx|RenderingLabelCxx|IOSegYCxx|IOPLYCxx|IOMotionFXCxx|IOImportCxx|IOGeometryCxx|IOExportCxx|IOCityGMLCxx|GeovisCoreCxx|InfovisLayoutCxx|InteractionWidgetsCxx|RenderingVolumeCxx|RenderingAnnotationCxx|RenderingImageCxx|IOExodusCxx|ImagingMorphologicalCxx|ImagingHybridCxx|FiltersProgrammableCxx|FiltersPointsCxx|FiltersHyperTreeCxx|FiltersHybridCxx|FiltersGenericCxx|FiltersFlowPathsCxx|IOXMLCxx|FiltersModelingCxx|IOImageCxx|RenderingOpenGL2Cxx|DomainsChemistryCxx|IOLegacyCxx|ChartsCoreCxx|InfovisCoreCxx|FiltersExtractionCxx|RenderingContext2DCxx|RenderingCoreCxx|FiltersSourcesCxx|ImagingCoreCxx|FiltersGeometryCxx|FiltersGeneralCxx|FiltersCoreCxx|CommonDataModelCxx|RenderingLODCxx-TestLODActor|IOParallelCxx-TestPOpenFOAMReader|FiltersAMRCxx-TestAMRSliceFilterCellData|FiltersAMRCxx-TestAMRSliceFilterPointData|FiltersParallelCxx-TestAngularPeriodicFilter|RenderingSceneGraphCxx-UnitTests|TestDataArrayValueRange|RenderingFreeTypeCxx*|VTK::IOTecplotTableCxx-TestTecplotTableReader|VTK::IOParallelXMLCxx-TestXMLReaderChangingBlocksOverTime|VTK::IOParallelCxx-TestBigEndianPlot3D|VTK::IOInfovisCxx*|VTK::IOCONVERGECFDCxx-TestCONVERGECFDReader|VTK::IOCGNSReaderCxx*|VTK::IOAMRCxx*|VTK::IOSQLCxx-TestSQLiteTableReadWrite|VTK::ImagingColorCxx-ImageQuantizeToIndex|VTK::FiltersTopologyCxx-TestFiberSurface|VTK::FiltersSelectionCxx*|VTK::FiltersVerdictCxx*|VTK::CommonColorCxx-TestColorSeries|VTK::CommonExecutionModelCxx-TestMultiOutputSimpleFilter|VTK::CommonCoreCxx-TestDataArrayTupleRange|VTK::RenderingFreeTypeCxx*|VTK::RenderingSceneGraphCxx-UnitTests|VTK::IOChemistryCxx*|VTK::DomainsChemistryOpenGL2Cxx*|VTK::IOHDFCxx-TestHDFReader|VTK::IOIossCxx-TestIossAssemblies|VTK::IOIossCxx-TestIossCGNS|VTK::IOIossCxx-TestIossApplyDisplacementsCGNS|VTK::IOIossCxx-TestIossExodusRestarts|VTK::IOIossCxx-TestIossExodus|VTK::IOIossCxx-TestIossAttributes|VTK::IOIossCxx-TestIossNoElementBlocks|VTK::IOIossCxx-TestIossTri6"
**Expected behavior**
All test pass.
**Observed Behavior**
Test failed.
**Environment**
OS: Windows Server 2019
CPU: AMD EPYC 7452 32-Core Processor
Compiler: MSVC 14.29.30133
Language: ENU
**Note**
You can also check build error messages from attached file
[test.log](/uploads/ae898c60124effd73df6b8d29e48864f/test.log)https://gitlab.kitware.com/vtk/vtk/-/issues/18404Generating VTK 8.2.0 fails when VTK_Group_MPI is Checked2021-11-29T07:11:38-05:00Bibhuti BeheraGenerating VTK 8.2.0 fails when VTK_Group_MPI is Checked[CMakeCache.txt](/uploads/7f94cfa7fe0c82ad852c5434d14a60e3/CMakeCache.txt)[CMakeCache.txt](/uploads/7f94cfa7fe0c82ad852c5434d14a60e3/CMakeCache.txt)https://gitlab.kitware.com/vtk/vtk/-/issues/18405Returning a vector of new instances into wrappers2021-12-07T06:08:43-05:00Ben BoeckelReturning a vector of new instances into wrappersShould the following be supported in some way by the wrappers?
```
class vtkBlah : public vtkObject
{
// skipping boilerplate
// Maybe `std::vector<VTK_NEWINSTANCE vtkFoo*>`?
std::vector<vtkFoo*> GetFoos() const
{
std::vector...Should the following be supported in some way by the wrappers?
```
class vtkBlah : public vtkObject
{
// skipping boilerplate
// Maybe `std::vector<VTK_NEWINSTANCE vtkFoo*>`?
std::vector<vtkFoo*> GetFoos() const
{
std::vector<vtkFoo*> foos;
foos.push_back(vtkFoo::New()); // Is this leaked in wrappers?
return foos;
}
};
```
Cc: @dgobbihttps://gitlab.kitware.com/vtk/vtk/-/issues/18406vtkArrayListTemplate holds vtkDataArray instead of vtkAbstractArray2021-12-08T20:03:31-05:00Yohann Bearzi (Kitware)vtkArrayListTemplate holds vtkDataArray instead of vtkAbstractArray`vtkArrayListTemplate`, a helper class to `vtkDataSetAttributes`, holds `vtkDataArray` pointers instead of `vtkAbstractArray`. This makes that some filters are incapable to pass `vtkStringArray` in VTK 9.1 (see [here](https://discourse.v...`vtkArrayListTemplate`, a helper class to `vtkDataSetAttributes`, holds `vtkDataArray` pointers instead of `vtkAbstractArray`. This makes that some filters are incapable to pass `vtkStringArray` in VTK 9.1 (see [here](https://discourse.vtk.org/t/vtkgeometryfilter-not-passing-vtkstringarray/7245)).Yohann Bearzi (Kitware)Yohann Bearzi (Kitware)