VTK issueshttps://gitlab.kitware.com/vtk/vtk/-/issues2023-12-14T07:41:55-05:00https://gitlab.kitware.com/vtk/vtk/-/issues/19193vtkContourWidget: contourwidget crashes when deleting nodes of the contour2023-12-14T07:41:55-05:00Sai Chaitanya RoddavtkContourWidget: contourwidget crashes when deleting nodes of the contourvtk crashes when deleting nodes in a vtkContourWidget. This will happen only if the last node is picked while deleting it. For example, let's say I have 3 nodes in a contour. I keep deleting the nodes with the exisiting key binding "DELE...vtk crashes when deleting nodes in a vtkContourWidget. This will happen only if the last node is picked while deleting it. For example, let's say I have 3 nodes in a contour. I keep deleting the nodes with the exisiting key binding "DELETE". When I reach the last node and if that node is picked while deleting. It will cause a crash.
Sample code:
```
#!/usr/bin/python3
import math
import sys
# noinspection PyUnresolvedReferences
import vtkmodules.vtkInteractionStyle
# noinspection PyUnresolvedReferences
import vtkmodules.vtkRenderingOpenGL2
from vtkmodules.vtkCommonColor import vtkNamedColors
from vtkmodules.vtkCommonCore import (
vtkCommand,
vtkPoints
)
from vtkmodules.vtkCommonDataModel import (
vtkCellArray,
vtkPolyData
)
from vtkmodules.vtkInteractionWidgets import (
vtkContourWidget,
vtkOrientedGlyphContourRepresentation,
vtkWidgetEvent
)
from vtkmodules.vtkRenderingCore import (
vtkRenderWindow,
vtkRenderWindowInteractor,
vtkRenderer
)
def main():
colors = vtkNamedColors()
# colors.SetColor('bkg', [0.1, 0.2, 0.4, 1.0])
# Create the RenderWindow, Renderer and both Actors
renderer = vtkRenderer()
renderer.SetBackground(colors.GetColor3d('MidnightBlue'))
renderWindow = vtkRenderWindow()
renderWindow.AddRenderer(renderer)
renderWindow.SetWindowName('ContourWidget')
renderWindow.SetSize(600, 600)
interactor = vtkRenderWindowInteractor()
interactor.SetRenderWindow(renderWindow)
contourRep = vtkOrientedGlyphContourRepresentation()
contourRep.GetLinesProperty().SetColor(colors.GetColor3d('Red'))
contourWidget = vtkContourWidget()
contourWidget.SetInteractor(interactor)
contourWidget.SetRepresentation(contourRep)
contourWidget.On()
contourWidget.SetFollowCursor(1)
contourWidget.SetAllowNodePicking(1)
contourWidget.Render()
renderer.ResetCamera()
renderWindow.Render()
interactor.Initialize()
interactor.Start()
if __name__ == '__main__':
main()
```https://gitlab.kitware.com/vtk/vtk/-/issues/19192VTKHDF: Can't retrieve special vtk array2024-02-06T09:36:55-05:00Lucas GivordVTKHDF: Can't retrieve special vtk array## Context
Any dataset in VTK can contains some special array recognize by the library like `Normals`, `Tangents`...
Currently, the vtkHDF File Format (vtkHDF 2.1 and below) provides a way to specify such array by adding an additional ...## Context
Any dataset in VTK can contains some special array recognize by the library like `Normals`, `Tangents`...
Currently, the vtkHDF File Format (vtkHDF 2.1 and below) provides a way to specify such array by adding an additional attribut on `PointData`, `CellData`. However the documentation could be improved to list all supported "special" array, it mentions only `Scalars` and `Vectors`.
Also the implementation, `vtkHDFReader` doesn't check it at all.
## Possible solution
- Create a dedicate section about it in the `design_document` about VTKHDF. List all possible possible "special" array.
- check it in the related reader/writer.
In the meantime, an example about how to create such attribute can be find here: https://gitlab.kitware.com/danlipsa/vtkxml-to-vtkhdf/-/blob/main/vtkxml-to-vtkhdf.py?ref_type=heads#L297
cc: @louis.gombert @mwestphal @danlipsahttps://gitlab.kitware.com/vtk/vtk/-/issues/19191mouse move event is not processed when using QML2023-12-13T04:56:23-05:00woosung chomouse move event is not processed when using QMLI am using VTK version 9.1.0 and QT 6.4.2. I found the function onMouseMove of vtkInteractorStyle doesn't work when not pressing any buttons. and I traced the root cause as below:
In QQuickVTKRenderItem. when moving a mouse, QQuickItem ...I am using VTK version 9.1.0 and QT 6.4.2. I found the function onMouseMove of vtkInteractorStyle doesn't work when not pressing any buttons. and I traced the root cause as below:
In QQuickVTKRenderItem. when moving a mouse, QQuickItem raised a event HoverMove, not Mouse Move. and the event transfers to interactor adapter.
![image](/uploads/81fd28ebe60b257e30cc37e1f34c2e43/image.png)
if a user moves a mouse pressed any button. QQuickItem raised mouse move event.https://gitlab.kitware.com/vtk/vtk/-/issues/19190python - qml: vtkOpenGLRenderWindow => GLEW could not be initialized: Missing...2023-12-13T16:24:18-05:00NewPonypython - qml: vtkOpenGLRenderWindow => GLEW could not be initialized: Missing GL versionI tried to update this [QML-VTK project](https://github.com/dao-duc-tung/qml-vtk-python) from Dao Duc Tung to the current `VTK 9.3.0` & `Pyide 6.6.0` versions [fork](https://github.com/NewPony007/qml-vtk9-python310-PySide6). \
I run the...I tried to update this [QML-VTK project](https://github.com/dao-duc-tung/qml-vtk-python) from Dao Duc Tung to the current `VTK 9.3.0` & `Pyide 6.6.0` versions [fork](https://github.com/NewPony007/qml-vtk9-python310-PySide6). \
I run the script on two machines (NVIDIA GTX 4060Ti & NVIDIA RTX A500) with `Python 3.11.6`. \
The error: `[C2873040]vtkOpenGLRenderWindow.c:704 ERR| vtkGenericOpenGLRenderWindow (0x2d71030): GLEW could not be initialized: Missing GL version` is always shown but
- On Linux the project works (content is rendered) with the `vtk.vtkExternalOpenGLRenderWindow()`, but not with the `vtk.vtkGenericOpenGLRenderWindow()`.
- On Windows the RenderWindow does not show the content at all.
The error appeares when the RenderWindow wanted to call the [OpenGLInitContext()](https://github.com/NewPony007/qml-vtk9-python310-PySide6/blob/98cad89714375dde1cb708d3bbf01cd6297f331c/src/graphics/engines/fboRenderer.py#L35C36-L35C36).
I also tried to use the `QVTKRenderWindowInteractor()`as RenderWindowInteractor, but the same behaviorDavid GobbiDavid Gobbihttps://gitlab.kitware.com/vtk/vtk/-/issues/19189Compile error: ‘std::enable_if_t’ has not been declared2023-12-06T05:26:13-05:00Kevin TeeCompile error: ‘std::enable_if_t’ has not been declaredI am updating Flatpak package of ParaView on Linux. I failed to compile ParaView v5.11.2 on Linux.
From my understanding,
`std::enable_if_t` is in C++14 standard but the compile flag is set to -std=c++11 an cause an error as seen in the...I am updating Flatpak package of ParaView on Linux. I failed to compile ParaView v5.11.2 on Linux.
From my understanding,
`std::enable_if_t` is in C++14 standard but the compile flag is set to -std=c++11 an cause an error as seen in the log below.
I don't know what set -std=c++11.
I tried putting -DCMAKE_CXX_STANDARD=14 below but same error.
Compile options
```
- -DCMAKE_BUILD_TYPE:STRING=Release
- -DPARAVIEW_BUILD_DEVELOPER_DOCUMENTATION:BOOL=OFF
- -DPARAVIEW_BUILD_LEGACY_REMOVE:BOOL=OFF
- -DPARAVIEW_BUILD_LEGACY_SILENT:BOOL=OFF
- -DPARAVIEW_BUILD_SHARED_LIBS:BOOL=ON
- -DPARAVIEW_BUILD_TESTING:STRING=OFF
- -DPARAVIEW_BUILD_WITH_EXTERNAL:BOOL=OFF
- -DPARAVIEW_BUILD_WITH_KITS:BOOL=OFF
- -DPARAVIEW_ENABLE_ADIOS2:BOOL=ON
- -DPARAVIEW_ENABLE_CATALYST:BOOL=ON
- -DPARAVIEW_ENABLE_EXAMPLES:BOOL=ON
- -DPARAVIEW_ENABLE_FFMPEG:BOOL=ON
- -DPARAVIEW_ENABLE_FIDES:BOOL=ON
- -DPARAVIEW_ENABLE_GDAL:BOOL=ON
- -DPARAVIEW_ENABLE_LAS:BOOL=ON
- -DPARAVIEW_ENABLE_LOOKINGGLASS:BOOL=OFF
- -DPARAVIEW_ENABLE_MOMENTINVARIANTS:BOOL=OFF
- -DPARAVIEW_ENABLE_MOTIONFX:BOOL=ON
- -DPARAVIEW_ENABLE_NVPIPE:BOOL=OFF
- -DPARAVIEW_ENABLE_OPENTURNS:BOOL=ON
- -DPARAVIEW_ENABLE_OPENVDB:BOOL=OFF
- -DPARAVIEW_ENABLE_PDAL:BOOL=ON
- -DPARAVIEW_ENABLE_RAYTRACING:BOOL=ON
- -DPARAVIEW_ENABLE_VISITBRIDGE:BOOL=ON
- -DPARAVIEW_ENABLE_XDMF2:BOOL=ON
- -DPARAVIEW_ENABLE_XDMF3:BOOL=ON
- -DPARAVIEW_PLUGINS_DEFAULT:BOOL=ON
- -DPARAVIEW_PLUGIN_DISABLE_XML_DOCUMENTATION:BOOL=OFF
- -DPARAVIEW_PLUGIN_ENABLE_AcceleratedAlgorithms:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_AnalyzeNIfTIReaderWriter:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_ArrowGlyph:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_BagPlotViewsAndFilters:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_CAVEInteraction:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_CDIReader:BOOL=OFF
- -DPARAVIEW_PLUGIN_ENABLE_Datamine:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_DigitalRockPhysics:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_EmbossingRepresentations:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_ExplicitStructuredGrid:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_FlipBookPlugin:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_GMVReader:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_GeodesicMeasurement:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_GeographicalMap:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_GmshIO:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_GmshReader:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_HyperTreeGridADR:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_InSituExodus:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_LANLX3DReader:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_LagrangianParticleTracker:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_LegacyExodusReader:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_LookingGlass:BOOL=OFF
- -DPARAVIEW_PLUGIN_ENABLE_Moments:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_MooseXfemClip:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_NodeEditor:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_NonOrthogonalSource:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_PanoramicProjectionView:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_ParFlow:BOOL=OFF
- -DPARAVIEW_PLUGIN_ENABLE_ParametricSurfaces:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_SLACTools:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_SaveStateAndScreenshot:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_SpaceMouseInteractor:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_StreamLinesRepresentation:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_StreamingParticles:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_SurfaceLIC:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_ThickenLayeredCells:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_VDFReaderPlugin:BOOL=OFF
- -DPARAVIEW_PLUGIN_ENABLE_VTKmFilters:BOOL=ON
- -DPARAVIEW_PLUGIN_ENABLE_XRInterface:BOOL=OFF
- -DPARAVIEW_PLUGIN_ENABLE_pvNVIDIAIndeX:BOOL=OFF
- -DPARAVIEW_PLUGIN_ENABLE_zSpace:BOOL=OFF
- -DPARAVIEW_USE_CUDA:BOOL=OFF
- -DPARAVIEW_USE_HIP:BOOL=OFF
- -DPARAVIEW_USE_MEMKIND:BOOL=ON
- -DPARAVIEW_USE_MPI:BOOL=ON
- -DPARAVIEW_USE_PYTHON:BOOL=ON
- -DPARAVIEW_USE_QT:BOOL=ON
- -DPARAVIEW_USE_QTHELP:BOOL=ON
- -DPARAVIEW_USE_QTWEBENGINE:BOOL=ON
- -DPARAVIEW_USE_VTKM:BOOL=ON
- -DBUILD_EXAMPLES:BOOL=ON
- -DPARAVIEW_PLUGINS_DEFAULT:BOOL=ON
- -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=OFF
- -DGmsh_INCLUDE_DIR=/app/include
- -DGmsh_PRIVATE_INCLUDE_DIR=/app/include/gmsh
- -DCMAKE_CXX_STANDARD=14
```
```
cmake version 3.27.7
gcc (GCC) 13.2.0
g++ (GCC) 13.2.0
Operating System: openSUSE Tumbleweed 20231114
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.112.0
Qt Version: 5.15.11
Kernel Version: 6.6.1-1-default (64-bit)
Graphics Platform: X11
Processors: 12 × AMD Ryzen 5 4600H with Radeon Graphics
Memory: 7.6 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 1650 Ti/PCIe/SSE2
Manufacturer: LENOVO
Product Name: 82B5
System Version: Lenovo Legion 5 15ARH05
```
```
[8712/22948] Building CXX object VTK/IO/PDAL/CMakeFiles/IOPDAL.dir/vtkPDALReader.cxx.o
FAILED: VTK/IO/PDAL/CMakeFiles/IOPDAL.dir/vtkPDALReader.cxx.o
/usr/bin/c++ -DIOPDAL_EXPORTS -Dkiss_fft_scalar=double -I/run/build/Paraview/_flatpak_build/VTK/IO/PDAL -I/run/build/Paraview/VTK/IO/PDAL -I/run/build/Paraview/_flatpak_build/VTK/Common/Core -I/run/build/Paraview/VTK/Common/Core -I/run/build/Paraview/_flatpak_build/VTK/Common/ExecutionModel -I/run/build/Paraview/VTK/Common/ExecutionModel -I/run/build/Paraview/_flatpak_build/VTK/Common/DataModel -I/run/build/Paraview/VTK/Common/DataModel -I/run/build/Paraview/_flatpak_build/VTK/Common/Math -I/run/build/Paraview/VTK/Common/Math -I/run/build/Paraview/_flatpak_build/VTK/ThirdParty/kissfft/vtkkissfft -I/run/build/Paraview/VTK/ThirdParty/kissfft/vtkkissfft -I/run/build/Paraview/_flatpak_build/VTK/Common/Transforms -I/run/build/Paraview/VTK/Common/Transforms -I/run/build/Paraview/_flatpak_build/VTK/Filters/General -I/run/build/Paraview/VTK/Filters/General -I/run/build/Paraview/_flatpak_build/VTK/Common/Misc -I/run/build/Paraview/VTK/Common/Misc -I/run/build/Paraview/_flatpak_build/VTK/Filters/Core -I/run/build/Paraview/VTK/Filters/Core -isystem /run/build/Paraview/_flatpak_build/VTK/Utilities/KWIML -isystem /run/build/Paraview/VTK/Utilities/KWIML -isystem /run/build/Paraview/_flatpak_build/VTK/Utilities/KWSys -isystem /run/build/Paraview/VTK/Utilities/KWSys -isystem /run/build/Paraview/_flatpak_build/VTK/ThirdParty/kissfft -isystem /run/build/Paraview/VTK/ThirdParty/kissfft -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -O3 -DNDEBUG -std=c++11 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT VTK/IO/PDAL/CMakeFiles/IOPDAL.dir/vtkPDALReader.cxx.o -MF VTK/IO/PDAL/CMakeFiles/IOPDAL.dir/vtkPDALReader.cxx.o.d -o VTK/IO/PDAL/CMakeFiles/IOPDAL.dir/vtkPDALReader.cxx.o -c /run/build/Paraview/VTK/IO/PDAL/vtkPDALReader.cxx
In file included from /app/include/pdal/DimUtil.hpp:40,
from /app/include/pdal/Dimension.hpp:9,
from /app/include/pdal/Stage.hpp:39,
from /app/include/pdal/Reader.hpp:37,
from /run/build/Paraview/VTK/IO/PDAL/vtkPDALReader.cxx:45:
/app/include/pdal/util/Utils.hpp:975:31: error: ‘std::enable_if_t’ has not been declared
975 | template<typename T, std::enable_if_t<!std::is_integral<T>::value>* = nullptr>
| ^~~~~~~~~~~
/app/include/pdal/util/Utils.hpp:975:42: error: expected ‘>’ before ‘<’ token
975 | template<typename T, std::enable_if_t<!std::is_integral<T>::value>* = nullptr>
| ^
/app/include/pdal/util/Utils.hpp:994:31: error: ‘std::enable_if_t’ has not been declared
994 | template<typename T, std::enable_if_t<std::is_integral<T>::value>* = nullptr>
| ^~~~~~~~~~~
/app/include/pdal/util/Utils.hpp:994:42: error: expected ‘>’ before ‘<’ token
994 | template<typename T, std::enable_if_t<std::is_integral<T>::value>* = nullptr>
| ^
/app/include/pdal/util/Utils.hpp:995:22: error: redefinition of ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
995 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’ previously declared here
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:1012:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, std::string&)’ does not match any template declaration
1012 | inline StatusWithReason fromString(const std::string& from, std::string& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:1026:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, char&)’ does not match any template declaration
1026 | inline StatusWithReason fromString(const std::string& s, char& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:1057:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, unsigned char&)’ does not match any template declaration
1057 | inline StatusWithReason fromString(const std::string& s, unsigned char& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:1089:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, signed char&)’ does not match any template declaration
1089 | inline StatusWithReason fromString(const std::string& s, signed char& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:1120:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, double&)’ does not match any template declaration
1120 | inline StatusWithReason fromString(const std::string& s, double& d)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
In file included from /app/include/pdal/Dimension.hpp:10:
/app/include/pdal/pdal_types.hpp: In member function ‘bool pdal::XForm::XFormComponent::set(const std::string&)’:
/app/include/pdal/pdal_types.hpp:156:48: error: no matching function for call to ‘fromString(const std::string&, double&)’
156 | failed = !Utils::fromString(sval, m_val);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: candidate: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: template argument deduction/substitution failed:
/app/include/pdal/pdal_types.hpp:156:48: note: mismatched types ‘T*’ and ‘double’
156 | failed = !Utils::fromString(sval, m_val);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidate: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: template argument deduction/substitution failed:
/app/include/pdal/pdal_types.hpp:156:48: note: couldn’t deduce template parameter ‘<anonymous>’
156 | failed = !Utils::fromString(sval, m_val);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
In file included from /app/include/pdal/Metadata.hpp:39,
from /app/include/pdal/Stage.hpp:42:
/app/include/pdal/util/Bounds.hpp: At global scope:
/app/include/pdal/util/Bounds.hpp:738:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, pdal::BOX2D&)’ does not match any template declaration
738 | inline StatusWithReason fromString(const std::string& s, BOX2D& bounds)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/app/include/pdal/util/Bounds.hpp:755:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, pdal::BOX3D&)’ does not match any template declaration
755 | inline StatusWithReason fromString(const std::string& s, BOX3D& bounds)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/app/include/pdal/util/Bounds.hpp:772:29: error: template-id ‘fromString<>’ for ‘pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, pdal::Bounds&)’ does not match any template declaration
772 | inline StatusWithReason fromString(const std::string& s, Bounds& bounds)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidates are: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/app/include/pdal/Metadata.hpp: In function ‘T pdal::MetadataDetail::value(const std::string&, const std::string&) [with T = bool; std::string = std::__cxx11::basic_string<char>]’:
/app/include/pdal/Metadata.hpp:398:27: error: no matching function for call to ‘fromString(const std::string&, bool&)’
398 | if (!Utils::fromString(value, b))
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: candidate: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: template argument deduction/substitution failed:
/app/include/pdal/Metadata.hpp:398:27: note: mismatched types ‘T*’ and ‘bool’
398 | if (!Utils::fromString(value, b))
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidate: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: template argument deduction/substitution failed:
/app/include/pdal/Metadata.hpp:398:27: note: couldn’t deduce template parameter ‘<anonymous>’
398 | if (!Utils::fromString(value, b))
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from /app/include/pdal/Kernel.hpp:46,
from /app/include/pdal/PluginHelper.hpp:43,
from /app/include/pdal/Stage.hpp:45:
/app/include/pdal/util/ProgramArgs.hpp: In instantiation of ‘void pdal::TArg<T>::setValue(const std::string&) [with T = std::__cxx11::basic_string<char>; std::string = std::__cxx11::basic_string<char>]’:
/app/include/pdal/util/ProgramArgs.hpp:400:18: required from here
/app/include/pdal/util/ProgramArgs.hpp:414:40: error: no matching function for call to ‘fromString(const std::string&, std::__cxx11::basic_string<char>&)’
414 | auto status = Utils::fromString(s, m_var);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: candidate: ‘template<class T> pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T*&)’
953 | StatusWithReason fromString(const std::string& from, T* & to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:953:22: note: template argument deduction/substitution failed:
/app/include/pdal/util/ProgramArgs.hpp:414:40: note: mismatched types ‘T*’ and ‘std::__cxx11::basic_string<char>’
414 | auto status = Utils::fromString(s, m_var);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: candidate: ‘template<class T, <typeprefixerror><anonymous> > pdal::Utils::StatusWithReason pdal::Utils::fromString(const std::string&, T&)’
976 | StatusWithReason fromString(const std::string& from, T& to)
| ^~~~~~~~~~
/app/include/pdal/util/Utils.hpp:976:22: note: template argument deduction/substitution failed:
/app/include/pdal/util/ProgramArgs.hpp:414:40: note: couldn’t deduce template parameter ‘<anonymous>’
414 | auto status = Utils::fromString(s, m_var);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
[8715/22948] Building C object VTK/ThirdParty/theora/vtktheora/CMakeFiles/theora.dir/lib/decode.c.o
In function ‘oc_dec_init’,
inlined from ‘vtktheora_th_decode_alloc’ at /run/build/Paraview/VTK/ThirdParty/theora/vtktheora/lib/decode.c:1957:17:
/run/build/Paraview/VTK/ThirdParty/theora/vtktheora/lib/decode.c:400:49: warning: iteration 2 invokes undefined behavior [-Waggressive-loop-optimizations]
400 | qsum+=_dec->state.dequant_tables[qti][pli][qi][12]+
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/run/build/Paraview/VTK/ThirdParty/theora/vtktheora/lib/decode.c:396:14: note: within this loop
396 | for(qi=0;qi<64;qi++){
| ~~^~~
[8723/22948] Building CXX object VTK/IO/Exodus/CMakeFiles/IOExodus.dir/vtkExodusIIReader.cxx.o
ninja: build stopped: subcommand failed.
```https://gitlab.kitware.com/vtk/vtk/-/issues/19188vtkXMLUnstructuredGridReader double update creates inconsistent dataset2023-12-04T10:17:10-05:00Louis GombertvtkXMLUnstructuredGridReader double update creates inconsistent datasetThe following script shows an inconsistency in the XML VTU reader
```cpp
#include <string>
#include "vtkNew.h"
#include "vtkXMLUnstructuredGridReader.h"
#include "vtkUnstructuredGrid.h"
int main() {
const std::string baseName = {"cube...The following script shows an inconsistency in the XML VTU reader
```cpp
#include <string>
#include "vtkNew.h"
#include "vtkXMLUnstructuredGridReader.h"
#include "vtkUnstructuredGrid.h"
int main() {
const std::string baseName = {"cube-with-time.vtu"};
vtkNew<vtkXMLUnstructuredGridReader> baselineReader;
baselineReader->SetFileName(baseName.c_str());
baselineReader->SetTimeStep(0);
baselineReader->Update();
vtkUnstructuredGrid *baseData =
vtkUnstructuredGrid::SafeDownCast(baselineReader->GetOutputAsDataSet());
std::cout << baseData->GetNumberOfCells() << std::endl; // 1
baselineReader->Update();
baseData =
vtkUnstructuredGrid::SafeDownCast(baselineReader->GetOutputAsDataSet());
std::cout << baseData->GetNumberOfCells() << std::endl; // 2
}
```
using the `cube-with-time.vtu` dataset from the VTK testing data. The dataset contains a single cube at each timestep, expected output would be 1 and 1 cells but it is not.https://gitlab.kitware.com/vtk/vtk/-/issues/19187`vtkPolyDataNormals` hangs with problematic data and `SplittingOn` or `Consis...2023-12-01T14:24:59-05:00Aron Helser`vtkPolyDataNormals` hangs with problematic data and `SplittingOn` or `ConsistencyOn`The attached dataset causes an infinite loop and therefore a program hang in `vtkPolyDataNormals` with the default options `Splitting` or `Consistency` enabled. Disabling both these options removes the hang.
It seems to be stuck in a l...The attached dataset causes an infinite loop and therefore a program hang in `vtkPolyDataNormals` with the default options `Splitting` or `Consistency` enabled. Disabling both these options removes the hang.
It seems to be stuck in a loop inside `vtkPolyData::GetCellEdgeNeighbors()` .
In ParaView this can be replicated in the `Generate Surface Normals` filter.
[normals_bug_polydata.vtp](/uploads/7544c9c2cc8c14b6c17e520a3b4e2bd0/normals_bug_polydata.vtp)Spiros TsalikisSpiros Tsalikishttps://gitlab.kitware.com/vtk/vtk/-/issues/19186Memory leak when using pcl/Vtk visualizer with MFC (VS2022).2023-12-11T09:22:26-05:00Ziri ZiriMemory leak when using pcl/Vtk visualizer with MFC (VS2022).Visual studio reports memory leak when adding: #include <pcl/visualization/pcl_visualizer.h> to the project.
(just adding the header and running the application gives memory leak at the exit)
Detected memory leaks!
Dumping objects ->
{...Visual studio reports memory leak when adding: #include <pcl/visualization/pcl_visualizer.h> to the project.
(just adding the header and running the application gives memory leak at the exit)
Detected memory leaks!
Dumping objects ->
{900} normal block at 0x000002AE992B26F0, 16 bytes long.
Data: <0 + > 30 87 2B 99 AE 02 00 00 00 00 00 00 00 00 00 00
{896} normal block at 0x000002AE992B2B50, 16 bytes long.
Data: < H+ > A0 48 2B 99 AE 02 00 00 00 00 00 00 00 00 00 00
Object dump complete.
**Intel inspector points to vtkcommoncore-9.2d.dll**
-PCL was installed using vcpkg (x64-windows) . the lib is linked with MFC Shared dll (Debug version)
-I also tried the VS "delay laoded dll's" options but the memory leaks persist.
**To Reproduce**
install pcl using vcpkg on windows .
create MFC shared dll project and link pcl lib.
Add #include <pcl/visualization/pcl_visualizer.h> header.
Run the application in debug mode.
Close the application.
check the output.
**Environment:**
OS: Win 10
Compiler: MSVC - VS2022
PCL Version : vcpkg (x64-windows)
![286081980-472d1c79-a9e4-46cf-ba87-8c433a5698bd](/uploads/8083b68fb2a69d1f16b46f2d9d2e0126/286081980-472d1c79-a9e4-46cf-ba87-8c433a5698bd.png)https://gitlab.kitware.com/vtk/vtk/-/issues/19185ensure docs.vtk.org is buildable2024-02-07T03:23:19-05:00Christos Tsolakisensure docs.vtk.org is buildableEven though we don't have readthedocs preview yet. We could add a test job that builds the documentation to ensure that it remains build-able (it isn't currently https://readthedocs.org/projects/vtk-docs/builds/22709367/). Building the d...Even though we don't have readthedocs preview yet. We could add a test job that builds the documentation to ensure that it remains build-able (it isn't currently https://readthedocs.org/projects/vtk-docs/builds/22709367/). Building the documentation is fairly quick so I don't expect an impact in CI times. We could make it a weekly job instead of running with every merge request.
cc: @jcfr @ben.boeckelhttps://gitlab.kitware.com/vtk/vtk/-/issues/19184vtk docs releases page is empty2024-01-25T11:48:45-05:00Christos Tsolakisvtk docs releases page is emptySee https://docs.vtk.org/en/latest/release_details/index.htmlSee https://docs.vtk.org/en/latest/release_details/index.htmlChristos TsolakisChristos Tsolakishttps://gitlab.kitware.com/vtk/vtk/-/issues/19183VTK::RenderingCellGridPython-TestCellGridRendering is flaky and is excluded f...2023-12-01T08:17:02-05:00Mathieu Westphal (Kitware)VTK::RenderingCellGridPython-TestCellGridRendering is flaky and is excluded from CI on WindowsVTK::RenderingCellGridPython-TestCellGridRendering is flaky and is excluded from CI on Windows
![a](/uploads/62aa397b633ffacd0e7c020c1c9cabc5/a.png)
Excluded here: https://gitlab.kitware.com/vtk/vtk/-/merge_requests/10736VTK::RenderingCellGridPython-TestCellGridRendering is flaky and is excluded from CI on Windows
![a](/uploads/62aa397b633ffacd0e7c020c1c9cabc5/a.png)
Excluded here: https://gitlab.kitware.com/vtk/vtk/-/merge_requests/10736https://gitlab.kitware.com/vtk/vtk/-/issues/19182vtkMath::Random assertion and abort - lack of thread safety2023-12-01T12:55:33-05:00Francois MazenvtkMath::Random assertion and abort - lack of thread safetyWhen running `vtkMath::Random(-1, 1)` simultaneous in several threads, then an assertion is raised and the program aborts.
It's likely due to lack of thread safety in `vtkMath` and/or in `vtkMinimalStandardRandomSequence`. `vtkMath::Int...When running `vtkMath::Random(-1, 1)` simultaneous in several threads, then an assertion is raised and the program aborts.
It's likely due to lack of thread safety in `vtkMath` and/or in `vtkMinimalStandardRandomSequence`. `vtkMath::Internal` is `static` and that means that `vtkMinimalStandardRandomSequence::Seed` could be modified concurrently.
To reproduce with assertion activated in VTK and TBB SMP backend:
```cpp
#include <vtkMath.h>
#include <vtkSMPTools.h>
#include <array>
int main(int, char*[])
{
std::cout << "backend: " << vtkSMPTools::GetBackend() << std::endl;
std::cout << "estimated number of threads: " << vtkSMPTools::GetEstimatedNumberOfThreads() << std::endl;
const size_t size = 10000;
std::array<double, size> results;
vtkSMPTools::For(0,size, [&](vtkIdType start, vtkIdType stop){
for(vtkIdType i = start; i < stop; ++i)
{
results[i] = vtkMath::Random(-1,1);
}
});
return EXIT_SUCCESS;
}
```
It outputs:
```
backend: TBB
estimated number of threads: 12
vtk_test: /home/francois/dev/vtk/VTK/Common/Core/vtkMinimalStandardRandomSequence.cxx:79: virtual double vtkMinimalStandardRandomSequence::GetValue(): Assertion `"post: unit_range" && result >= 0.0 && result <= 1.0' failed.
```
For the context, I discovered it from a random crash in ParaView when applying the "Resample to Image" filter.https://gitlab.kitware.com/vtk/vtk/-/issues/19181Can't write vtkMultiBlockDataSet with empty poly data.2023-12-04T20:03:14-05:00Francois MazenCan't write vtkMultiBlockDataSet with empty poly data.When a multiblock contains an empty poly data (i.e. that it contains no points and no cells), then the vtkXMLCompositeDataWriter fails and the executive returns an error.
To reproduce with VTK python:
```python
from vtkmodules import vt...When a multiblock contains an empty poly data (i.e. that it contains no points and no cells), then the vtkXMLCompositeDataWriter fails and the executive returns an error.
To reproduce with VTK python:
```python
from vtkmodules import vtkIOXML
from vtkmodules.vtkCommonDataModel import (
vtkPolyData,
vtkMultiBlockDataSet,
vtkCompositeDataSet,
)
mbds = vtkMultiBlockDataSet()
mbds.SetNumberOfBlocks(2)
block_0 = vtkPolyData()
mbds.SetBlock(0, block_0)
mbds.GetMetaData(0).Set(vtkCompositeDataSet.NAME(), "foo")
block_1 = vtkPolyData()
mbds.SetBlock(1, block_1)
mbds.GetMetaData(1).Set(vtkCompositeDataSet.NAME(), "bar")
writer = vtkIOXML.vtkXMLMultiBlockDataWriter()
writer.SetFileName("vtk_test.vtm")
writer.SetInputData(mbds)
writer.Update(0)
writer.Write()
```
This case seems legit to me, and there is a trivial fix similar to the one for #19175: `vtkXMLCompositeDataWriter::WriteNonCompositeData` should return 1 when a writer is not available. I'll push a fix shortly.https://gitlab.kitware.com/vtk/vtk/-/issues/19180Xdmf3: 64bit data array support broken on Windows2023-11-27T22:18:04-05:00Ben BoeckelXdmf3: 64bit data array support broken on WindowsDiscovered in !10726, Xdmf3 assumes that `long` is 64bits and doesn't provide for `long long` support. This means that on Windows, arrays are mangled via a 32bit-sized `long` type instead of going through a proper 64bit type. See [this c...Discovered in !10726, Xdmf3 assumes that `long` is 64bits and doesn't provide for `long long` support. This means that on Windows, arrays are mangled via a 32bit-sized `long` type instead of going through a proper 64bit type. See [this code in Xdmf3](https://gitlab.kitware.com/vtk/vtk/-/blob/aedf544f5a3160d592488cef57e69b6e94341cd3/ThirdParty/xdmf3/vtkxdmf3/core/XdmfArray.cpp#L146-150).
I'm of a partial mind to disable the module Windows, but maybe 64bit data types aren't that common anyways. In any case, we should probably consider a runtime warning at least.
Cc: @demarlehttps://gitlab.kitware.com/vtk/vtk/-/issues/19179Rendering/OpenGL2/vtkWin32OpenGLDXRenderWindow.h:113:8: error: ‘unique_ptr’ i...2023-12-01T20:03:14-05:00Julien SchuellerRendering/OpenGL2/vtkWin32OpenGLDXRenderWindow.h:113:8: error: ‘unique_ptr’ in namespace ‘std’ does not name a template typesince https://gitlab.kitware.com/vtk/vtk/-/merge_requests/10596 vtk cannot be compiled in c++17 mode anymore because of std::unique_ptr
I think vtk still defaults to c++11 (or is it paraview ?), but it should also retain compatibility w...since https://gitlab.kitware.com/vtk/vtk/-/merge_requests/10596 vtk cannot be compiled in c++17 mode anymore because of std::unique_ptr
I think vtk still defaults to c++11 (or is it paraview ?), but it should also retain compatibility with c++17 on windows like it does on linux
/cc @LucasGandelKitware @alexy.pellegrinihttps://gitlab.kitware.com/vtk/vtk/-/issues/19178vc++ 2022 and vtk 9.3.0 compilation issue2024-03-26T13:44:20-04:00woosung chovc++ 2022 and vtk 9.3.0 compilation issuewhen compiling with the solution generated from cmake-gui in window 11. I met the following error.
```
vtkCommonCore-9.3d.lib(vtkSMPToolsAPI.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl vtk::detail::smp::vtkSMP...when compiling with the solution generated from cmake-gui in window 11. I met the following error.
```
vtkCommonCore-9.3d.lib(vtkSMPToolsAPI.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl vtk::detail::smp::vtkSMPToolsImpl<1>::IsParallelScope(void)" (?IsParallelScope@?$vtkSMPToolsImpl@$00@smp@detail@vtk@@QEAA_NXZ) referenced in function "public: bool __cdecl vtk::detail::smp::vtkSMPToolsAPI::IsParallelScope(void)" (?IsParallelScope@vtkSMPToolsAPI@smp@detail@vtk@@QEAA_NXZ)
4>vtkCommonCore-9.3d.lib(vtkSMPToolsAPI.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl vtk::detail::smp::vtkSMPToolsImpl<1>::IsParallelScope(void)" (?IsParallelScope@?$vtkSMPToolsImpl@$00@smp@detail@vtk@@QEAA_NXZ) referenced in function "public: bool __cdecl vtk::detail::smp::vtkSMPToolsAPI::IsParallelScope(void)" (?IsParallelScope@vtkSMPToolsAPI@smp@detail@vtk@@QEAA_NXZ)
```
I used visual studio 2022 (v17.8.1).https://gitlab.kitware.com/vtk/vtk/-/issues/19177vtkInteractorEventRecorder in record mode causes vtkObject.cxx:556 WARN| Pa...2023-11-24T12:10:41-05:00Dimitar PashovvtkInteractorEventRecorder in record mode causes vtkObject.cxx:556 WARN| Passive observer should not call AddObserver or RemoveObserver in callback.Hello,
Don't know if this is a bug or merely undesirable behaviour, but it does issue the warning in the title.
There is indeed the following sequence:
```
vtkInteractorEventRecorder::vtkInteractorEventRecorder():
...
this->Ev...Hello,
Don't know if this is a bug or merely undesirable behaviour, but it does issue the warning in the title.
There is indeed the following sequence:
```
vtkInteractorEventRecorder::vtkInteractorEventRecorder():
...
this->EventCallbackCommand->SetCallback(vtkInteractorEventRecorder::ProcessEvents);
this->EventCallbackCommand->SetPassiveObserver(1);
void vtkInteractorEventRecorder::ProcessEvents(...):
self->Off();
void vtkInteractorEventRecorder::SetEnabled(...):
...
this->Interactor->AddObserver(vtkCommand::AnyEvent, this->EventCallbackCommand, this->Priority);
...
this->Interactor->RemoveObserver(this->EventCallbackCommand);
```
Similar scenario occurs with `ProcessCharEvent`.https://gitlab.kitware.com/vtk/vtk/-/issues/19175Can't write multiblock with empty leaf2023-11-28T02:58:56-05:00Francois MazenCan't write multiblock with empty leafIf a multiblock contains an empty leaf, the `vtkXMLMultiBlockDataWriter` trigger an exception when calling the `Write()` method.
Sample code to reproduce with vtkpython:
```python
from vtkmodules.vtkCommonDataModel import vtkMultiBlock...If a multiblock contains an empty leaf, the `vtkXMLMultiBlockDataWriter` trigger an exception when calling the `Write()` method.
Sample code to reproduce with vtkpython:
```python
from vtkmodules.vtkCommonDataModel import vtkMultiBlockDataSet
from vtkmodules.vtkIOXML import vtkXMLMultiBlockDataWriter
mbds = vtkMultiBlockDataSet()
mbds.SetBlock(0, vtkMultiBlockDataSet())
writer = vtkXMLMultiBlockDataWriter()
writer.SetInputData(mbds)
writer.SetFileName("test.vtm")
writer.SetInputData(mbds)
writer.Write()
```
Then it triggers this output:
```
( 91.595s) [main thread ] vtkExecutive.cxx:729 ERR| vtkCompositeDataPipeline (0x555555649a10): Algorithm vtkXMLMultiBlockDataWriter (0x555555754f80) returned failure for request: vtkInformation (0x5555557571c0)
Debug: Off
Modified Time: 163
Reference Count: 1
Registered Events: (none)
Request: REQUEST_DATA
FROM_OUTPUT_PORT: -1
ALGORITHM_AFTER_FORWARD: 1
FORWARD_DIRECTION: 0
```
The issue seem to be in `vtkXMLMultiBlockDataWriter::WriteComposite` which returns 0 (the error code) when there is nothing to write.
Having an empty leaf in a multiblock seems a valid case (VTK multiblock reader handles it nicely), so returning a valid return code would makes sense. A MR should follow shortly.https://gitlab.kitware.com/vtk/vtk/-/issues/19173anari: Visibility changes are not propogated to the anari scenegraph2023-11-30T16:55:06-05:00Sankhesh Jhaverianari: Visibility changes are not propogated to the anari scenegraph## Steps to reproduce
- Fetch and build VTK branch [anari-visibility-bug](https://gitlab.kitware.com/sankhesh/vtk/commits/anari-visibility-bug)
- Run `ctest -V -R AnariPassVisibility`
The test renders the bunny dataset via ANARI and ...## Steps to reproduce
- Fetch and build VTK branch [anari-visibility-bug](https://gitlab.kitware.com/sankhesh/vtk/commits/anari-visibility-bug)
- Run `ctest -V -R AnariPassVisibility`
The test renders the bunny dataset via ANARI and then toggles the prop visibility.
| Expected Result | Test Result |
|:---:|:---:|
|![](https://vtk.org/files/ExternalData/SHA512/bdcb122fb7afdfc29e17e8d4cc487629352f320ef70616baa3f13af5047f4ad15d6dc03562cdc1cbb5d48f01c079ccf605af1a56ed526391ce7ab98bb4c92b17)|![TestAnariPassVisibility](/uploads/a44b3df578658a0baa0eb2c50fdbcf89/TestAnariPassVisibility.png)|https://gitlab.kitware.com/vtk/vtk/-/issues/19172MinGW compilation issues2023-12-29T14:10:21-05:00Ben BoeckelMinGW compilation issuesWe've had a number of MinGW failures get reported lately:
- #19050
- https://discourse.vtk.org/t/build-vtk9-1-0-error-use-mingw64-in-win10/7076/14
- https://discourse.vtk.org/t/build-vtk9-3-0-msys2-mingw64-on-win10-undefined-reference-...We've had a number of MinGW failures get reported lately:
- #19050
- https://discourse.vtk.org/t/build-vtk9-1-0-error-use-mingw64-in-win10/7076/14
- https://discourse.vtk.org/t/build-vtk9-3-0-msys2-mingw64-on-win10-undefined-reference-to-template/12720
- https://discourse.vtk.org/t/vtk9-3-0-mingw-multiple-definition-of-vtktiff-tiffbuiltincodecs/12723
- https://discourse.vtk.org/t/vtk-9-3-vtk-sln-build-failed/12622
- This patch: https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-vtk/007-dll-export-some-functions.patch
We should at least compile-test MinGW and try to get fixes into 9.3.x.
Cc: @spiros.tsalikisSpiros TsalikisSpiros Tsalikis