VTK issueshttps://gitlab.kitware.com/vtk/vtk/-/issues2024-02-01T07:17:15-05:00https://gitlab.kitware.com/vtk/vtk/-/issues/19198Regression in EnSight Gold reader - not handling spaces after2024-02-01T07:17:15-05:00Berk GeveciRegression in EnSight Gold reader - not handling spaces afterThe commit fdfc01b967085fcdb59fe50f1e9bd875f5f408e9 caused a regression on the EnSight Gold Binary reader. Before the commit, the reader was able to handle case files that had spaces after the name of the geometry file. After the change,...The commit fdfc01b967085fcdb59fe50f1e9bd875f5f408e9 caused a regression on the EnSight Gold Binary reader. Before the commit, the reader was able to handle case files that had spaces after the name of the geometry file. After the change, these files cause read errors because the spaces at the end of the .geo filename are maintained when trying to open them. It was verified that these files can be opened by EnSight.Caitlin RossCaitlin Rosshttps://gitlab.kitware.com/vtk/vtk/-/issues/19197vtkOpenVDBReader should support opening AMR or HTG instead of only image data2023-12-16T04:27:56-05:00Mathieu Westphal (Kitware)vtkOpenVDBReader should support opening AMR or HTG instead of only image dataCurrently, the vtkOpenVDBReader reads multi resolution grid as a single image data, resulting and huge reading time and large memory usage.
Example with a sample file from https://www.openvdb.org/download/: https://artifacts.aswf.io/io/...Currently, the vtkOpenVDBReader reads multi resolution grid as a single image data, resulting and huge reading time and large memory usage.
Example with a sample file from https://www.openvdb.org/download/: https://artifacts.aswf.io/io/aswf/openvdb/models/buddha.vdb/1.0.0/buddha.vdb-1.0.0.zip
- Reading time: 59s
- Max memory usage: 1.6G
When reading it with vdb_view, a tool from OpenVDB, we get:
- Reading time: 0.5s
- Max memory usage: <1G
A solution would probably be to support reading the file a AMR grid, which is what vdb_view is doing and seems to be how one is supposed to read such a file:
![image](/uploads/1572193b9c5e815680bc5a134ec4fee6/image.png)
FYI @acbauerhttps://gitlab.kitware.com/vtk/vtk/-/issues/19196vtkOpenGLSphereMapper doesn't handle poly-vertex cells correctly2023-12-18T04:55:33-05:00Kathleen BiagasvtkOpenGLSphereMapper doesn't handle poly-vertex cells correctlyIf a dataset contains poly-vertex cells, vtkOpenGLSphereMapper won't render it correctly.
I've attached two small sample files. One containing 4 vertex cells, the other exactly the same except that there is 1 poly-vertex cell containing...If a dataset contains poly-vertex cells, vtkOpenGLSphereMapper won't render it correctly.
I've attached two small sample files. One containing 4 vertex cells, the other exactly the same except that there is 1 poly-vertex cell containing two vertices, and then two vertex cells.
I've also attached a small example that renders both of the files.
[vertexCells.vtk](/uploads/64b99e5322a0105aa67b6ab20adaece8/vertexCells.vtk)
[polyVertexCells.vtk](/uploads/7885dc4b2af48d4911972ff98810c896/polyVertexCells.vtk)
[useSphereMapper.cxx](/uploads/081417e2b8400e27417c7a39047f0655/useSphereMapper.cxx)
Here is a snapshot of the results
![sphereMapperBug](/uploads/a5e3b0aa5acf053237237fbb87499683/sphereMapperBug.PNG)https://gitlab.kitware.com/vtk/vtk/-/issues/19195VTKHDF: multiple location of VTKHDF File Format doc2024-02-07T08:47:25-05:00Lucas GivordVTKHDF: multiple location of VTKHDF File Format doc## Context
`VTKHDF` is a file format designed to create an hdf5 file for vtk dataset. Currently this file format is defined in different places:
- https://docs.vtk.org/en/latest/design_documents/VTKFileFormats.html#hdf-file-formats
- ht...## Context
`VTKHDF` is a file format designed to create an hdf5 file for vtk dataset. Currently this file format is defined in different places:
- https://docs.vtk.org/en/latest/design_documents/VTKFileFormats.html#hdf-file-formats
- https://vtk.org/doc/nightly/html/VTKHDFFileFormat.html
- https://examples.vtk.org/site/VTKFileFormats/#hdf-file-formats
## Solution
The file format should be described in only one file and one place, other location should point to this one. We probably need to:
- [x] consider this one as the only valid location: https://docs.vtk.org/en/latest/design_documents/VTKFileFormats.html#hdf-file-formats
- [x] delete it : https://vtk.org/doc/nightly/html/VTKHDFFileFormat.html
- [x] VTKHDF for examples.vtk.org should point to this one : https://docs.vtk.org/en/latest/design_documents/VTKFileFormats.html#hdf-file-formats
cc: @mwestphal @danlipsahttps://gitlab.kitware.com/vtk/vtk/-/issues/19194TBB versions prior to TBB 2019 Update 9 does not guard target creation2023-12-19T07:41:53-05:00Dan LipsaTBB versions prior to TBB 2019 Update 9 does not guard target creationWe need to update VTK to use that version of TBB
See
https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6375#note_1449745We need to update VTK to use that version of TBB
See
https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6375#note_14497459.3https://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.pellegrini