From 985fd6b9eda2ee0b082a0aa5649934c49226ff56 Mon Sep 17 00:00:00 2001 From: djairoh Date: Mon, 22 Apr 2024 15:01:33 +0200 Subject: [PATCH 01/26] feat (WIP): base VTK visualisation of Eulerian flow fields --- vtk/.gitignore | 6 +++ vtk/README.md | 39 ++++++++++++++++++ vtk/src/CMakeLists.txt | 55 ++++++++++++++++++++++++ vtk/src/main.cpp | 94 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 194 insertions(+) create mode 100644 vtk/.gitignore create mode 100644 vtk/README.md create mode 100644 vtk/src/CMakeLists.txt create mode 100644 vtk/src/main.cpp diff --git a/vtk/.gitignore b/vtk/.gitignore new file mode 100644 index 0000000..95abd3d --- /dev/null +++ b/vtk/.gitignore @@ -0,0 +1,6 @@ +.DS_Store +src/.DS_Store +src/.cache +src/build +.idea +src/cmake-build-debug \ No newline at end of file diff --git a/vtk/README.md b/vtk/README.md new file mode 100644 index 0000000..ec2a268 --- /dev/null +++ b/vtk/README.md @@ -0,0 +1,39 @@ +## Location of data +The data path is hardcoded such that the following tree structure is assumed: +``` +data/ + grid.h5 + hydrodynamic_U.h5 + hydrodynamic_V.h5 +interactive-track-and-trace/ + opening-hdf5/ + ... +``` + +## Compiling +Let the current directory be the `src` directory. Run: +```shell +mkdir build +cd build +cmake .. +make +``` + +### Building with Linux +Makes use of `mdspan` which is not supported by glibc++ at time of writing. See [compiler support](https://en.cppreference.com/w/cpp/compiler_support/23) for `mdspan`. The solution to this is to use Clang and libc++; this is configured in our CMake setup, however the default installation of the `netcdf-cxx` package on at least Arch linux (and suspectedly Debian derivatives as well) specifically builds for the glibc implementation. To get the netcdf C++ bindings functional with the libc++ implementation, one needs to build from source. On Linux, this requires a few changes to the CMake file included with the netcdf-cxx source code, which are detailed below. + +Step-by-step to build the program using clang++ and libc++ on linux: + 1. Download the source code of netcdf-cxx, found at 'https://github.com/Unidata/netcdf-cxx4/releases/tag/v4.3.1' (make sure to download the release source code, as the master branch contains non-compilable code). + 2. Edit the CMakeLists.txt file, by appending '-stdlib=libc++' to the `CMAKE_CXX_FLAGS` variable in line 430. This means line 430 should read: + ```cmake + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wno-unused-variable -Wno-unused-parameter -stdlib=libc++") + ``` + 2. Build the source code with the following: + ```sh + mkdir build && cd build + cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/clang++ + make + ctest + sudo make install + ``` + 3. Now the code should compile through the standard steps described in the Compiling section. diff --git a/vtk/src/CMakeLists.txt b/vtk/src/CMakeLists.txt new file mode 100644 index 0000000..a97a1e0 --- /dev/null +++ b/vtk/src/CMakeLists.txt @@ -0,0 +1,55 @@ +cmake_minimum_required(VERSION 3.12 FATAL_ERROR) + +project(VtkBase) + +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +find_package(VTK COMPONENTS + CommonColor + CommonCore + CommonDataModel + FiltersGeneral + InteractionStyle + RenderingContextOpenGL2 + RenderingCore + RenderingFreeType + RenderingGL2PSOpenGL2 + RenderingOpenGL2 + CommonColor + FiltersGeometry + RenderingCore) + +if (NOT VTK_FOUND) + message(FATAL_ERROR "VtkBase: Unable to find the VTK build folder.") +endif() + +# netcdf setup +find_package(netCDF REQUIRED) + +add_executable(VtkBase MACOSX_BUNDLE main.cpp ) + +execute_process( + COMMAND nc-config --includedir + OUTPUT_VARIABLE NETCDF_INCLUDE_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +execute_process( + COMMAND ncxx4-config --libdir + OUTPUT_VARIABLE NETCDFCXX_LIB_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +target_include_directories(VtkBase PUBLIC ${netCDF_INCLUDE_DIR}) + +find_library(NETCDF_LIB NAMES netcdf-cxx4 netcdf_c++4 PATHS ${NETCDFCXX_LIB_DIR} NO_DEFAULT_PATH) + +# Prevent a "command line is too long" failure in Windows. +set(CMAKE_NINJA_FORCE_RESPONSE_FILE "ON" CACHE BOOL "Force Ninja to use response files.") +target_link_libraries(VtkBase ${NETCDF_LIB} ${VTK_LIBRARIES}) + +# vtk_module_autoinit is needed +vtk_module_autoinit( + TARGETS VtkBase + MODULES ${VTK_LIBRARIES} +) diff --git a/vtk/src/main.cpp b/vtk/src/main.cpp new file mode 100644 index 0000000..2f7c56f --- /dev/null +++ b/vtk/src/main.cpp @@ -0,0 +1,94 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define NLATS 67 +#define NLONS 116 + +using namespace std; +using namespace netCDF; + +template +vector getVarVector(const NcVar &var) { + int length = 1; + for (NcDim dim : var.getDims()) { + length *= dim.getSize(); + } + + vector vec(length); + + var.getVar(vec.data()); + + return vec; +} + +tuple, vector, vector> readGrid() { + netCDF::NcFile data("../../../../data/grid.h5", netCDF::NcFile::read); + multimap< string, NcVar > vars = data.getVars(); + vector time = getVarVector(vars.find("times")->second); + vector longitude = getVarVector(vars.find("longitude")->second); + vector latitude = getVarVector(vars.find("latitude")->second); + + return {time, latitude, longitude}; +} + +int main() { + vtkNew colors; + + + vtkNew pCoords; + pCoords->SetNumberOfComponents(3); + pCoords->SetNumberOfTuples(NLATS*NLONS); + auto [times, lats, lons] = readGrid(); + + double i = 0; + for (double lat : lats) { + for (double lon : lons) { + pCoords->InsertTuple3(i++, 0, lat, lon); + } + } + + + vtkNew points; + points->SetData(pCoords); + + vtkNew polydata; + polydata->SetPoints(points); + + + vtkNew mapper; + mapper->SetInputData(polydata); + mapper->SetScalarRange(0, 40); + + vtkNew actor; + actor->SetMapper(mapper); + + vtkNew ren; + ren->AddActor(actor); + ren->SetBackground(colors->GetColor3d("DarkSlateGray").GetData()); + + vtkNew renWin; + renWin->AddRenderer(ren); + renWin->SetSize(900, 600); + + vtkNew iren; + iren->SetRenderWindow(renWin); + iren->Start(); + + return EXIT_SUCCESS; +} + From 57815c64acb1f8723e530dcf05abd869768df29e Mon Sep 17 00:00:00 2001 From: djairoh Date: Wed, 24 Apr 2024 23:53:35 +0200 Subject: [PATCH 02/26] working on rendering bg image; rudimentary version complete --- vtk/src/CMakeLists.txt | 5 ++- vtk/src/main.cpp | 98 +++++++++++++++++++++++++++++++++++------- 2 files changed, 86 insertions(+), 17 deletions(-) diff --git a/vtk/src/CMakeLists.txt b/vtk/src/CMakeLists.txt index a97a1e0..7af562f 100644 --- a/vtk/src/CMakeLists.txt +++ b/vtk/src/CMakeLists.txt @@ -9,6 +9,10 @@ find_package(VTK COMPONENTS CommonCore CommonDataModel FiltersGeneral + FiltersGeometry + FiltersProgrammable + IOImage + ImagingSources InteractionStyle RenderingContextOpenGL2 RenderingCore @@ -16,7 +20,6 @@ find_package(VTK COMPONENTS RenderingGL2PSOpenGL2 RenderingOpenGL2 CommonColor - FiltersGeometry RenderingCore) if (NOT VTK_FOUND) diff --git a/vtk/src/main.cpp b/vtk/src/main.cpp index 2f7c56f..d317840 100644 --- a/vtk/src/main.cpp +++ b/vtk/src/main.cpp @@ -3,11 +3,18 @@ #include #include #include +#include +#include +#include +#include #include #include #include #include +#include +#include #include +#include #include #include #include @@ -15,6 +22,7 @@ #include #include +#include #define NLATS 67 #define NLONS 116 @@ -46,49 +54,107 @@ tuple, vector, vector> readGrid() { return {time, latitude, longitude}; } -int main() { - vtkNew colors; +void renderCoordinates(vtkRenderer *ren, vtkNamedColors *colors) { - vtkNew pCoords; - pCoords->SetNumberOfComponents(3); - pCoords->SetNumberOfTuples(NLATS*NLONS); + vtkNew points; auto [times, lats, lons] = readGrid(); double i = 0; for (double lat : lats) { for (double lon : lons) { - pCoords->InsertTuple3(i++, 0, lat, lon); + cout << "lat: " << (lat*1000-46125)*661/16500 << "\t lon: " << (lon*1000+15875)*661/28750 << endl; + points->InsertNextPoint((lat*1000-46125)*661/16500, (lon*1000+15875)*661/28750, 0); } } - - vtkNew points; - points->SetData(pCoords); - vtkNew polydata; polydata->SetPoints(points); + vtkNew glyphFilter; + glyphFilter->SetInputData(polydata); + glyphFilter->Update(); vtkNew mapper; - mapper->SetInputData(polydata); - mapper->SetScalarRange(0, 40); + mapper->SetInputConnection(glyphFilter->GetOutputPort()); + mapper->Update(); vtkNew actor; actor->SetMapper(mapper); + actor->GetProperty()->SetColor(colors->GetColor3d("Gold").GetData()); + actor->GetProperty()->SetPointSize(3); - vtkNew ren; ren->AddActor(actor); - ren->SetBackground(colors->GetColor3d("DarkSlateGray").GetData()); +} + +void renderBackground(vtkRenderer *background) { + vtkSmartPointer imageData; + + vtkNew readerFactory; + vtkSmartPointer imageReader; + + imageReader.TakeReference(readerFactory->CreateImageReader2("../../../../data/map_661-661.png")); + imageReader->SetFileName("../../../../data/map_661-661.png"); + imageReader->Update(); + imageData = imageReader->GetOutput(); + + vtkNew imageActor; + imageActor->SetInputData(imageData); + + background->AddActor(imageActor); + + + // camera stuff + // essentially sets the camera to the middle of the background, and points it at the background + double origin[3], spacing[3]; + int extent[6]; + imageData->GetOrigin(origin); + imageData->GetSpacing(spacing); + imageData->GetExtent(extent); + + vtkCamera *camera = background->GetActiveCamera(); + camera->ParallelProjectionOn(); + + double xc = origin[0] + 0.5 * (extent[0] + extent[1]) * spacing[0]; + double yc = origin[1] + 0.5 * (extent[2] + extent[3]) * spacing[1]; + double yd = (extent[3] - extent[2] + 1) * spacing[1]; + double d = camera->GetDistance(); + camera->SetParallelScale(0.5 * yd); + camera->SetFocalPoint(xc, yc, 0.0); + camera->SetPosition(xc, yc, d); +} + +int main() { + vtkNew colors; + vtkNew Euler, Background, Lagrange; + Euler->SetBackground(colors->GetColor3d("DarkSlateGray").GetData()); + + + Background->SetLayer(0); + Background->InteractiveOff(); + Euler->SetLayer(1); + Euler->InteractiveOff(); + Lagrange->SetLayer(2); + + renderCoordinates(Euler, colors); + renderBackground(Background); vtkNew renWin; - renWin->AddRenderer(ren); - renWin->SetSize(900, 600); + renWin->SetNumberOfLayers(3); + // renWin->SetNumberOfLayers(2); + renWin->AddRenderer(Background); + renWin->AddRenderer(Euler); + renWin->AddRenderer(Lagrange); + renWin->SetWindowName("Simulation"); + renWin->SetSize(661, 661); vtkNew iren; iren->SetRenderWindow(renWin); + + renWin->Render(); iren->Start(); + return EXIT_SUCCESS; } From f98f1c8e3c4f9efaaee896b2d65b2eaed78db837 Mon Sep 17 00:00:00 2001 From: djairoh Date: Wed, 24 Apr 2024 23:54:00 +0200 Subject: [PATCH 03/26] added python script to automatically source necessary VTK_COMPONENTS in cmake file --- vtk/src/modules.json | 1 + vtk/src/script.py | 226 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 227 insertions(+) create mode 100644 vtk/src/modules.json create mode 100755 vtk/src/script.py diff --git a/vtk/src/modules.json b/vtk/src/modules.json new file mode 100644 index 0000000..88cd785 --- /dev/null +++ b/vtk/src/modules.json @@ -0,0 +1 @@ +{"modules": {"VTK::WrappingTools": {"library_name": "vtkWrappingTools", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkParse.h", "vtkParseAttributes.h", "vtkParseData.h", "vtkParseExtras.h", "vtkParseHierarchy.h", "vtkParseMain.h", "vtkParseMangle.h", "vtkParseMerge.h", "vtkParsePreprocess.h", "vtkParseString.h", "vtkParseSystem.h", "vtkParseType.h", "vtkWrap.h", "vtkWrapText.h", "vtkWrappingToolsModule.h"], "licenses": []}, "VTK::ViewsContext2D": {"library_name": "vtkViewsContext2D", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Views", "depends": ["VTK::CommonCore", "VTK::RenderingCore", "VTK::ViewsCore"], "optional_depends": [], "private_depends": ["VTK::RenderingContext2D"], "implements": [], "headers": ["vtkContextInteractorStyle.h", "vtkContextView.h", "vtkViewsContext2DModule.h"], "licenses": []}, "VTK::loguru": {"library_name": "vtkloguru", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkloguru/loguru.hpp", "vtkloguru/vtkloguru_export.h"], "licenses": []}, "VTK::TestingRendering": {"library_name": "vtkTestingRendering", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::RenderingCore", "VTK::TestingCore"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonSystem", "VTK::IOImage", "VTK::ImagingCore", "VTK::vtksys"], "implements": [], "headers": ["vtkMultiBaselineRegressionTest.h", "vtkTesting.h", "vtkTestingInteractor.h", "vtkTestingObjectFactory.h", "vtkTestingRenderingModule.h"], "licenses": []}, "VTK::TestingCore": {"library_name": "vtkTestingCore", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::vtksys"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkPermuteOptions.h", "vtkTestDriver.h", "vtkTestErrorObserver.h", "vtkTestingColors.h", "vtkTestUtilities.h", "vtkWindowsTestUtilities.h"], "licenses": []}, "VTK::vtksys": {"library_name": "vtksys", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::ViewsInfovis": {"library_name": "vtkViewsInfovis", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::InteractionStyle", "VTK::RenderingContext2D", "VTK::ViewsCore"], "optional_depends": [], "private_depends": ["VTK::ChartsCore", "VTK::CommonColor", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersExtraction", "VTK::FiltersGeneral", "VTK::FiltersGeometry", "VTK::FiltersImaging", "VTK::FiltersModeling", "VTK::FiltersSources", "VTK::FiltersStatistics", "VTK::ImagingGeneral", "VTK::InfovisCore", "VTK::InfovisLayout", "VTK::InteractionWidgets", "VTK::RenderingAnnotation", "VTK::RenderingCore", "VTK::RenderingLabel"], "implements": [], "headers": ["vtkApplyColors.h", "vtkApplyIcons.h", "vtkDendrogramItem.h", "vtkGraphItem.h", "vtkGraphLayoutView.h", "vtkHeatmapItem.h", "vtkHierarchicalGraphPipeline.h", "vtkHierarchicalGraphView.h", "vtkIcicleView.h", "vtkInteractorStyleAreaSelectHover.h", "vtkInteractorStyleTreeMapHover.h", "vtkParallelCoordinatesHistogramRepresentation.h", "vtkParallelCoordinatesRepresentation.h", "vtkParallelCoordinatesView.h", "vtkRenderedGraphRepresentation.h", "vtkRenderedHierarchyRepresentation.h", "vtkRenderedRepresentation.h", "vtkRenderedSurfaceRepresentation.h", "vtkRenderedTreeAreaRepresentation.h", "vtkRenderView.h", "vtkSCurveSpline.h", "vtkTanglegramItem.h", "vtkTreeAreaView.h", "vtkTreeHeatmapItem.h", "vtkTreeMapView.h", "vtkTreeRingView.h", "vtkViewUpdater.h", "vtkViewsInfovisModule.h"], "licenses": []}, "VTK::CommonColor": {"library_name": "vtkCommonColor", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Common", "depends": ["VTK::CommonCore", "VTK::CommonDataModel"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkColorSeries.h", "vtkNamedColors.h", "vtkCommonColorModule.h"], "licenses": []}, "VTK::RenderingVolumeOpenGL2": {"library_name": "vtkRenderingVolumeOpenGL2", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::OpenGL", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::ImagingCore", "VTK::ImagingMath", "VTK::RenderingCore", "VTK::RenderingOpenGL2", "VTK::RenderingVolume"], "optional_depends": [], "private_depends": ["VTK::CommonMath", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersGeneral", "VTK::FiltersSources", "VTK::glew", "VTK::opengl", "VTK::vtksys"], "implements": ["VTK::RenderingVolume"], "headers": ["vtkMultiBlockUnstructuredGridVolumeMapper.h", "vtkMultiBlockVolumeMapper.h", "vtkOpenGLGPUVolumeRayCastMapper.h", "vtkOpenGLProjectedTetrahedraMapper.h", "vtkOpenGLRayCastImageDisplayHelper.h", "vtkSmartVolumeMapper.h", "vtkVolumeTexture.h", "vtkRenderingVolumeOpenGL2Module.h"], "licenses": []}, "VTK::glew": {"library_name": "vtkglew", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": ["VTK::opengl"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkglew/include/GL/glew.h", "vtkglew/include/GL/glxew.h", "vtkglew/include/GL/vtk_glew_mangle.h", "vtkglew/include/GL/wglew.h"], "licenses": []}, "VTK::opengl": {"library_name": "vtkopengl", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::RenderingLabel": {"library_name": "vtkRenderingLabel", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Rendering", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::RenderingCore", "VTK::RenderingFreeType"], "optional_depends": [], "private_depends": ["VTK::CommonMath", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::FiltersGeneral", "VTK::octree"], "implements": [], "headers": ["vtkDynamic2DLabelMapper.h", "vtkFreeTypeLabelRenderStrategy.h", "vtkLabeledDataMapper.h", "vtkLabeledTreeMapDataMapper.h", "vtkLabelHierarchy.h", "vtkLabelHierarchyAlgorithm.h", "vtkLabelHierarchyCompositeIterator.h", "vtkLabelHierarchyIterator.h", "vtkLabelPlacementMapper.h", "vtkLabelPlacer.h", "vtkLabelRenderStrategy.h", "vtkLabelSizeCalculator.h", "vtkPointSetToLabelHierarchy.h", "vtkRenderingLabelModule.h"], "licenses": []}, "VTK::octree": {"library_name": "vtkoctree", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["octree/octree", "octree/octree.h", "octree/octree_cursor.h", "octree/octree_iterator.h", "octree/octree_node.h", "octree/octree_path.h"], "licenses": []}, "VTK::RenderingLOD": {"library_name": "vtkRenderingLOD", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Rendering", "depends": ["VTK::RenderingCore"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonMath", "VTK::CommonSystem", "VTK::FiltersCore", "VTK::FiltersModeling"], "implements": [], "headers": ["vtkLODActor.h", "vtkQuadricLODActor.h", "vtkRenderingLODModule.h"], "licenses": []}, "VTK::RenderingLICOpenGL2": {"library_name": "vtkRenderingLICOpenGL2", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::RenderingOpenGL2"], "optional_depends": [], "private_depends": ["VTK::CommonMath", "VTK::CommonSystem", "VTK::IOCore", "VTK::IOLegacy", "VTK::IOXML", "VTK::ImagingCore", "VTK::ImagingSources", "VTK::RenderingCore", "VTK::glew", "VTK::opengl", "VTK::vtksys"], "implements": [], "headers": ["vtkPainterCommunicator.h", "vtkBatchedSurfaceLICMapper.h", "vtkCompositeSurfaceLICMapper.h", "vtkCompositeSurfaceLICMapperDelegator.h", "vtkImageDataLIC2D.h", "vtkLineIntegralConvolution2D.h", "vtkStructuredGridLIC2D.h", "vtkSurfaceLICComposite.h", "vtkSurfaceLICInterface.h", "vtkSurfaceLICMapper.h", "vtkTextureIO.h", "vtkRenderingLICOpenGL2Module.h"], "licenses": []}, "VTK::RenderingImage": {"library_name": "vtkRenderingImage", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Rendering", "depends": ["VTK::CommonExecutionModel", "VTK::RenderingCore"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonMath", "VTK::CommonTransforms", "VTK::ImagingCore"], "implements": [], "headers": ["vtkDepthImageToPointCloud.h", "vtkImageResliceMapper.h", "vtkImageSliceCollection.h", "vtkImageStack.h", "vtkRenderingImageModule.h"], "licenses": []}, "VTK::RenderingContextOpenGL2": {"library_name": "vtkRenderingContextOpenGL2", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::OpenGL", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::RenderingContext2D", "VTK::RenderingCore", "VTK::RenderingFreeType", "VTK::RenderingOpenGL2"], "optional_depends": [], "private_depends": ["VTK::CommonMath", "VTK::CommonTransforms", "VTK::ImagingCore", "VTK::glew", "VTK::opengl"], "implements": ["VTK::RenderingContext2D"], "headers": ["vtkOpenGLContextActor.h", "vtkOpenGLContextBufferId.h", "vtkOpenGLContextDevice2D.h", "vtkOpenGLContextDevice3D.h", "vtkOpenGLPropItem.h", "vtkRenderingContextOpenGL2Module.h"], "licenses": []}, "VTK::RenderingCellGrid": {"library_name": "vtkRenderingCellGrid", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::OpenGL", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::FiltersCellGrid", "VTK::RenderingCore", "VTK::RenderingOpenGL2", "VTK::glew"], "optional_depends": [], "private_depends": ["VTK::CommonExecutionModel", "VTK::opengl"], "implements": ["VTK::RenderingCore"], "headers": ["vtkDGOpenGLRenderer.h", "vtkOpenGLCellGridMapper.h", "vtkOpenGLCellGridRenderRequest.h", "vtkRenderingCellGridModule.h"], "licenses": []}, "VTK::IOVeraOut": {"library_name": "vtkIOVeraOut", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::hdf5"], "implements": [], "headers": ["vtkVeraOutReader.h", "vtkIOVeraOutModule.h"], "licenses": []}, "VTK::hdf5": {"library_name": "vtkhdf5", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": ["VTK::mpi"], "private_depends": ["VTK::zlib"], "implements": [], "headers": [], "licenses": []}, "VTK::IOTecplotTable": {"library_name": "vtkIOTecplotTable", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::IOCore", "VTK::vtksys", "VTK::utf8"], "implements": [], "headers": ["vtkTecplotTableReader.h", "vtkIOTecplotTableModule.h"], "licenses": []}, "VTK::utf8": {"library_name": "vtkutf8", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::IOSegY": {"library_name": "vtkIOSegY", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::IOImage"], "optional_depends": [], "private_depends": ["VTK::CommonCore"], "implements": [], "headers": ["vtkSegYReader.h", "vtkIOSegYModule.h"], "licenses": []}, "VTK::IOParallelXML": {"library_name": "vtkIOParallelXML", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Parallel", "depends": ["VTK::CommonCore", "VTK::IOXML"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonMisc", "VTK::IOCore", "VTK::ParallelCore", "VTK::vtksys"], "implements": [], "headers": ["vtkXMLCompositeDataSetWriterHelper.h", "vtkXMLDataWriterHelper.h", "vtkXMLPartitionedDataSetCollectionWriter.h", "vtkXMLPartitionedDataSetWriter.h", "vtkXMLWriter2.h", "vtkXMLPDataObjectWriter.h", "vtkXMLPDataSetWriter.h", "vtkXMLPDataWriter.h", "vtkXMLPHierarchicalBoxDataWriter.h", "vtkXMLPHyperTreeGridWriter.h", "vtkXMLPImageDataWriter.h", "vtkXMLPMultiBlockDataWriter.h", "vtkXMLPPolyDataWriter.h", "vtkXMLPRectilinearGridWriter.h", "vtkXMLPStructuredDataWriter.h", "vtkXMLPStructuredGridWriter.h", "vtkXMLPTableWriter.h", "vtkXMLPUniformGridAMRWriter.h", "vtkXMLPUnstructuredDataWriter.h", "vtkXMLPUnstructuredGridWriter.h", "vtkIOParallelXMLModule.h"], "licenses": []}, "VTK::IOPLY": {"library_name": "vtkIOPLY", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::IOCore"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMisc", "VTK::vtksys"], "implements": [], "headers": ["vtkPLY.h", "vtkPLYReader.h", "vtkPLYWriter.h", "vtkIOPLYModule.h"], "licenses": []}, "VTK::IOOggTheora": {"library_name": "vtkIOOggTheora", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonExecutionModel", "VTK::IOMovie"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonMisc", "VTK::CommonSystem", "VTK::theora"], "implements": [], "headers": ["vtkOggTheoraWriter.h", "vtkIOOggTheoraModule.h"], "licenses": []}, "VTK::theora": {"library_name": "vtktheora", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": ["VTK::ogg"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtktheora/include/theora/codec.h", "vtktheora/include/theora/theora.h", "vtktheora/include/theora/theoradec.h", "vtktheora/include/theora/theoraenc.h", "vtktheora/include/theora/vtk_theora_mangle.h", "vtktheora/vtktheora_export.h"], "licenses": []}, "VTK::ogg": {"library_name": "vtkogg", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkogg/include/ogg/config_types.h", "vtkogg/include/ogg/ogg.h", "vtkogg/include/ogg/os_types.h", "vtkogg/include/ogg/vtk_ogg_mangle.h", "vtkogg/include/ogg/vtkogg_export.h"], "licenses": []}, "VTK::IONetCDF": {"library_name": "vtkIONetCDF", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::IOCore"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::netcdf", "VTK::vtksys", "VTK::libproj"], "implements": [], "headers": ["vtkMPASReader.h", "vtkNetCDFCAMReader.h", "vtkNetCDFCFReader.h", "vtkNetCDFCFWriter.h", "vtkNetCDFPOPReader.h", "vtkNetCDFReader.h", "vtkNetCDFUGRIDReader.h", "vtkSLACParticleReader.h", "vtkSLACReader.h", "vtkIONetCDFModule.h"], "licenses": []}, "VTK::netcdf": {"library_name": "vtknetcdf", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": ["VTK::hdf5"], "optional_depends": ["VTK::mpi"], "private_depends": [], "implements": [], "headers": ["vtknetcdf/include/netcdf.h", "vtknetcdf/include/netcdf_filter_build.h", "vtknetcdf/include/vtk_netcdf_mangle.h", "vtknetcdf/include/netcdf_dispatch.h", "vtknetcdf/include/netcdf_meta.h", "vtknetcdf/vtk_netcdf_config.h"], "licenses": []}, "VTK::libproj": {"library_name": "vtklibproj", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": ["VTK::nlohmannjson"], "optional_depends": [], "private_depends": ["VTK::sqlite"], "implements": [], "headers": ["vtklibproj/src/proj.h", "vtklibproj/src/proj_experimental.h", "vtklibproj/src/proj_constants.h", "vtklibproj/src/geodesic.h", "vtklibproj/src/vtk_libproj_mangle.h", "vtklibproj/src/vtklibproj_export.h"], "licenses": []}, "VTK::IOMotionFX": {"library_name": "vtkIOMotionFX", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMisc", "VTK::IOGeometry", "VTK::pegtl", "VTK::vtksys"], "implements": [], "headers": ["vtkMotionFXCFGReader.h", "vtkIOMotionFXModule.h"], "licenses": []}, "VTK::pegtl": {"library_name": "vtkpegtl", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::IOParallel": {"library_name": "vtkIOParallel", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::Parallel", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::IOCore", "VTK::IOGeometry", "VTK::IOImage", "VTK::IOLegacy", "VTK::jsoncpp"], "optional_depends": [], "private_depends": ["VTK::CommonMisc", "VTK::CommonSystem", "VTK::FiltersCore", "VTK::FiltersExtraction", "VTK::FiltersParallel", "VTK::ParallelCore", "VTK::vtksys"], "implements": [], "headers": ["vtkEnSightWriter.h", "vtkMultiBlockPLOT3DReader.h", "vtkNek5000Reader.h", "vtkPChacoReader.h", "vtkPDataSetReader.h", "vtkPDataSetWriter.h", "vtkPImageWriter.h", "vtkPlot3DMetaReader.h", "vtkPOpenFOAMReader.h", "vtkIOParallelModule.h"], "licenses": []}, "VTK::jsoncpp": {"library_name": "vtkjsoncpp", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkjsoncpp/json/json-forwards.h", "vtkjsoncpp/json/json.h", "vtkjsoncpp/json/vtkjsoncpp_config.h"], "licenses": []}, "VTK::IOMINC": {"library_name": "vtkIOMINC", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::IOCore", "VTK::IOImage"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMath", "VTK::CommonMisc", "VTK::CommonTransforms", "VTK::FiltersHybrid", "VTK::RenderingCore", "VTK::netcdf", "VTK::vtksys"], "implements": [], "headers": ["vtkMINC.h", "vtkMINCImageAttributes.h", "vtkMINCImageReader.h", "vtkMINCImageWriter.h", "vtkMNIObjectReader.h", "vtkMNIObjectWriter.h", "vtkMNITagPointReader.h", "vtkMNITagPointWriter.h", "vtkMNITransformReader.h", "vtkMNITransformWriter.h", "vtkIOMINCModule.h"], "licenses": []}, "VTK::IOLSDyna": {"library_name": "vtkIOLSDyna", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::IOXMLParser"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::vtksys"], "implements": [], "headers": ["LSDynaFamily.h", "LSDynaMetaData.h", "vtkLSDynaReader.h", "vtkLSDynaSummaryParser.h", "vtkIOLSDynaModule.h"], "licenses": []}, "VTK::IOInfovis": {"library_name": "vtkIOInfovis", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::IOLegacy", "VTK::IOXML"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMisc", "VTK::IOCore", "VTK::IOXMLParser", "VTK::InfovisCore", "VTK::libxml2", "VTK::vtksys", "VTK::utf8"], "implements": [], "headers": ["vtkBiomTableReader.h", "vtkChacoGraphReader.h", "vtkDelimitedTextReader.h", "vtkDIMACSGraphReader.h", "vtkDIMACSGraphWriter.h", "vtkFixedWidthTextReader.h", "vtkISIReader.h", "vtkMultiNewickTreeReader.h", "vtkNewickTreeReader.h", "vtkNewickTreeWriter.h", "vtkPhyloXMLTreeReader.h", "vtkPhyloXMLTreeWriter.h", "vtkRISReader.h", "vtkTemporalDelimitedTextReader.h", "vtkTulipReader.h", "vtkXGMLReader.h", "vtkXMLTreeReader.h", "vtkIOInfovisModule.h"], "licenses": []}, "VTK::libxml2": {"library_name": "vtklibxml2", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": ["VTK::zlib"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtklibxml2/include/libxml/c14n.h", "vtklibxml2/include/libxml/catalog.h", "vtklibxml2/include/libxml/chvalid.h", "vtklibxml2/include/libxml/debugXML.h", "vtklibxml2/include/libxml/dict.h", "vtklibxml2/include/libxml/encoding.h", "vtklibxml2/include/libxml/entities.h", "vtklibxml2/include/libxml/globals.h", "vtklibxml2/include/libxml/hash.h", "vtklibxml2/include/libxml/HTMLparser.h", "vtklibxml2/include/libxml/HTMLtree.h", "vtklibxml2/include/libxml/list.h", "vtklibxml2/include/libxml/nanoftp.h", "vtklibxml2/include/libxml/nanohttp.h", "vtklibxml2/include/libxml/parser.h", "vtklibxml2/include/libxml/parserInternals.h", "vtklibxml2/include/libxml/pattern.h", "vtklibxml2/include/libxml/relaxng.h", "vtklibxml2/include/libxml/SAX.h", "vtklibxml2/include/libxml/SAX2.h", "vtklibxml2/include/libxml/schemasInternals.h", "vtklibxml2/include/libxml/schematron.h", "vtklibxml2/include/libxml/threads.h", "vtklibxml2/include/libxml/tree.h", "vtklibxml2/include/libxml/uri.h", "vtklibxml2/include/libxml/valid.h", "vtklibxml2/include/libxml/vtk_libxml2_mangle.h", "vtklibxml2/include/libxml/xinclude.h", "vtklibxml2/include/libxml/xlink.h", "vtklibxml2/include/libxml/xmlIO.h", "vtklibxml2/include/libxml/xmlautomata.h", "vtklibxml2/include/libxml/xmlerror.h", "vtklibxml2/include/libxml/xmlexports.h", "vtklibxml2/include/libxml/xmlmemory.h", "vtklibxml2/include/libxml/xmlmodule.h", "vtklibxml2/include/libxml/xmlreader.h", "vtklibxml2/include/libxml/xmlregexp.h", "vtklibxml2/include/libxml/xmlsave.h", "vtklibxml2/include/libxml/xmlschemas.h", "vtklibxml2/include/libxml/xmlschemastypes.h", "vtklibxml2/include/libxml/xmlstring.h", "vtklibxml2/include/libxml/xmlunicode.h", "vtklibxml2/include/libxml/xmlwriter.h", "vtklibxml2/include/libxml/xpath.h", "vtklibxml2/include/libxml/xpathInternals.h", "vtklibxml2/include/libxml/xpointer.h"], "licenses": []}, "VTK::zlib": {"library_name": "vtkzlib", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkzlib/zconf.h", "vtkzlib/zlib.h"], "licenses": []}, "VTK::IOImport": {"library_name": "vtkIOImport", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::CommonMisc", "VTK::RenderingCore", "VTK::vtksys"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersSources", "VTK::ImagingCore", "VTK::IOGeometry", "VTK::IOImage"], "implements": [], "headers": ["vtk3DS.h", "vtk3DSImporter.h", "vtkGLTFImporter.h", "vtkImporter.h", "vtkVRMLImporter.h", "vtkOBJImporter.h", "vtkIOImportModule.h"], "licenses": []}, "VTK::IOIOSS": {"library_name": "vtkIOIOSS", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::IOCore", "VTK::ParallelCore"], "optional_depends": ["VTK::ParallelMPI", "VTK::mpi"], "private_depends": ["VTK::FiltersCore", "VTK::FiltersExtraction", "VTK::fmt", "VTK::ioss"], "implements": [], "headers": ["vtkIOSSReader.h", "vtkIOSSWriter.h", "vtkIOIOSSModule.h"], "licenses": []}, "VTK::fmt": {"library_name": "vtkfmt", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkfmt/vtkfmt/args.h", "vtkfmt/vtkfmt/chrono.h", "vtkfmt/vtkfmt/color.h", "vtkfmt/vtkfmt/compile.h", "vtkfmt/vtkfmt/core.h", "vtkfmt/vtkfmt/format.h", "vtkfmt/vtkfmt/format-inl.h", "vtkfmt/vtkfmt/os.h", "vtkfmt/vtkfmt/ostream.h", "vtkfmt/vtkfmt/printf.h", "vtkfmt/vtkfmt/ranges.h", "vtkfmt/vtkfmt/std.h", "vtkfmt/vtkfmt/xchar.h"], "licenses": []}, "VTK::ioss": {"library_name": "vtkioss", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": ["VTK::cgns"], "optional_depends": ["VTK::mpi"], "private_depends": ["VTK::exodusII", "VTK::fmt", "VTK::zlib"], "implements": [], "headers": [], "licenses": []}, "VTK::cgns": {"library_name": "vtkcgns", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": ["VTK::hdf5"], "optional_depends": [], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::exodusII": {"library_name": "vtkexodusII", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": ["VTK::hdf5", "VTK::netcdf"], "optional_depends": ["VTK::mpi"], "private_depends": [], "implements": [], "headers": ["vtkexodusII/include/exodusII.h", "vtkexodusII/include/exodusII_int.h", "vtkexodusII/include/vtk_exodusII_mangle.h", "vtkexodusII/include/exodusII_cfg.h", "vtkexodusII/include/exodus_config.h"], "licenses": []}, "VTK::IOFLUENTCFF": {"library_name": "vtkIOFLUENTCFF", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonMisc", "VTK::hdf5"], "implements": [], "headers": ["vtkFLUENTCFFReader.h", "vtkIOFLUENTCFFModule.h"], "licenses": []}, "VTK::IOVideo": {"library_name": "vtkIOVideo", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonSystem", "VTK::vtksys"], "implements": [], "headers": ["vtkIOVideoConfigure.h", "vtkVideoSource.h", "vtkIOVideoModule.h"], "licenses": []}, "VTK::IOMovie": {"library_name": "vtkIOMovie", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonMisc", "VTK::CommonSystem"], "implements": [], "headers": ["vtkIOMovieConfigure.h", "vtkGenericMovieWriter.h", "vtkIOMovieModule.h"], "licenses": []}, "VTK::IOExportPDF": {"library_name": "vtkIOExportPDF", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::IOExport", "VTK::RenderingContext2D"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::ImagingCore", "VTK::libharu"], "implements": ["VTK::IOExport"], "headers": ["vtkPDFContextDevice2D.h", "vtkPDFExporter.h", "vtkIOExportPDFModule.h"], "licenses": []}, "VTK::libharu": {"library_name": "vtklibharu", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": ["VTK::png", "VTK::zlib"], "implements": [], "headers": [], "licenses": []}, "VTK::IOExportGL2PS": {"library_name": "vtkIOExportGL2PS", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::IOExport", "VTK::RenderingGL2PSOpenGL2"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::ImagingCore", "VTK::RenderingCore", "VTK::gl2ps"], "implements": ["VTK::IOExportGL2PS"], "headers": ["vtkGL2PSExporter.h", "vtkOpenGLGL2PSExporter.h", "vtkIOExportGL2PSModule.h"], "licenses": []}, "VTK::RenderingGL2PSOpenGL2": {"library_name": "vtkRenderingGL2PSOpenGL2", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::RenderingOpenGL2"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonMath", "VTK::RenderingCore", "VTK::RenderingOpenGL2", "VTK::gl2ps", "VTK::opengl"], "implements": ["VTK::RenderingOpenGL2"], "headers": ["vtkOpenGLGL2PSHelperImpl.h", "vtkRenderingGL2PSOpenGL2Module.h"], "licenses": []}, "VTK::gl2ps": {"library_name": "vtkgl2ps", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": ["VTK::opengl", "VTK::png", "VTK::zlib"], "implements": [], "headers": ["vtkgl2ps/gl2ps.h", "vtkgl2ps/vtk_gl2ps_mangle.h"], "licenses": []}, "VTK::png": {"library_name": "vtkpng", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": ["VTK::zlib"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkpng/png.h", "vtkpng/pngconf.h", "vtkpng/pnglibconf.h", "vtkpng/vtk_png_mangle.h"], "licenses": []}, "VTK::IOExport": {"library_name": "vtkIOExport", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::IOCore", "VTK::IOImage", "VTK::IOXML", "VTK::RenderingContext2D", "VTK::RenderingCore", "VTK::RenderingFreeType", "VTK::RenderingVtkJS"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMath", "VTK::CommonTransforms", "VTK::DomainsChemistry", "VTK::FiltersCore", "VTK::FiltersGeometry", "VTK::IOImage", "VTK::IOGeometry", "VTK::ImagingCore", "VTK::nlohmannjson", "VTK::libharu", "VTK::utf8"], "implements": [], "headers": ["vtkExporter.h", "vtkGLTFExporter.h", "vtkIVExporter.h", "vtkJSONDataSetWriter.h", "vtkJSONRenderWindowExporter.h", "vtkJSONSceneExporter.h", "vtkOBJExporter.h", "vtkOOGLExporter.h", "vtkPOVExporter.h", "vtkRIBExporter.h", "vtkRIBLight.h", "vtkRIBProperty.h", "vtkSVGContextDevice2D.h", "vtkSVGExporter.h", "vtkSingleVTPExporter.h", "vtkVRMLExporter.h", "vtkX3D.h", "vtkX3DExporter.h", "vtkX3DExporterFIWriter.h", "vtkX3DExporterWriter.h", "vtkX3DExporterXMLWriter.h", "vtkIOExportModule.h"], "licenses": []}, "VTK::RenderingVtkJS": {"library_name": "vtkRenderingVtkJS", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::RenderingSceneGraph", "VTK::jsoncpp"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::RenderingCore"], "implements": [], "headers": ["vtkVtkJSSceneGraphSerializer.h", "vtkVtkJSViewNodeFactory.h", "vtkRenderingVtkJSModule.h"], "licenses": []}, "VTK::nlohmannjson": {"library_name": "vtknlohmannjson", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtknlohmannjson/include/vtknlohmann/adl_serializer.hpp", "vtknlohmannjson/include/vtknlohmann/byte_container_with_subtype.hpp", "vtknlohmannjson/include/vtknlohmann/json.hpp", "vtknlohmannjson/include/vtknlohmann/json_fwd.hpp", "vtknlohmannjson/include/vtknlohmann/ordered_map.hpp", "vtknlohmannjson/include/vtknlohmann/detail/conversions/from_json.hpp", "vtknlohmannjson/include/vtknlohmann/detail/conversions/to_chars.hpp", "vtknlohmannjson/include/vtknlohmann/detail/conversions/to_json.hpp", "vtknlohmannjson/include/vtknlohmann/detail/exceptions.hpp", "vtknlohmannjson/include/vtknlohmann/detail/hash.hpp", "vtknlohmannjson/include/vtknlohmann/detail/input/binary_reader.hpp", "vtknlohmannjson/include/vtknlohmann/detail/input/input_adapters.hpp", "vtknlohmannjson/include/vtknlohmann/detail/input/json_sax.hpp", "vtknlohmannjson/include/vtknlohmann/detail/input/lexer.hpp", "vtknlohmannjson/include/vtknlohmann/detail/input/parser.hpp", "vtknlohmannjson/include/vtknlohmann/detail/input/position_t.hpp", "vtknlohmannjson/include/vtknlohmann/detail/iterators/internal_iterator.hpp", "vtknlohmannjson/include/vtknlohmann/detail/iterators/iter_impl.hpp", "vtknlohmannjson/include/vtknlohmann/detail/iterators/iteration_proxy.hpp", "vtknlohmannjson/include/vtknlohmann/detail/iterators/iterator_traits.hpp", "vtknlohmannjson/include/vtknlohmann/detail/iterators/json_reverse_iterator.hpp", "vtknlohmannjson/include/vtknlohmann/detail/iterators/primitive_iterator.hpp", "vtknlohmannjson/include/vtknlohmann/detail/json_pointer.hpp", "vtknlohmannjson/include/vtknlohmann/detail/json_ref.hpp", "vtknlohmannjson/include/vtknlohmann/detail/macro_scope.hpp", "vtknlohmannjson/include/vtknlohmann/detail/macro_unscope.hpp", "vtknlohmannjson/include/vtknlohmann/detail/meta/call_std/begin.hpp", "vtknlohmannjson/include/vtknlohmann/detail/meta/call_std/end.hpp", "vtknlohmannjson/include/vtknlohmann/detail/meta/cpp_future.hpp", "vtknlohmannjson/include/vtknlohmann/detail/meta/detected.hpp", "vtknlohmannjson/include/vtknlohmann/detail/meta/identity_tag.hpp", "vtknlohmannjson/include/vtknlohmann/detail/meta/is_sax.hpp", "vtknlohmannjson/include/vtknlohmann/detail/meta/type_traits.hpp", "vtknlohmannjson/include/vtknlohmann/detail/meta/void_t.hpp", "vtknlohmannjson/include/vtknlohmann/detail/output/binary_writer.hpp", "vtknlohmannjson/include/vtknlohmann/detail/output/output_adapters.hpp", "vtknlohmannjson/include/vtknlohmann/detail/output/serializer.hpp", "vtknlohmannjson/include/vtknlohmann/detail/string_escape.hpp", "vtknlohmannjson/include/vtknlohmann/detail/value_t.hpp", "vtknlohmannjson/include/vtknlohmann/thirdparty/hedley/hedley.hpp", "vtknlohmannjson/include/vtknlohmann/thirdparty/hedley/hedley_undef.hpp"], "licenses": []}, "VTK::RenderingSceneGraph": {"library_name": "vtkRenderingSceneGraph", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Rendering", "depends": ["VTK::CommonCore"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMath", "VTK::RenderingCore"], "implements": [], "headers": ["vtkActorNode.h", "vtkCameraNode.h", "vtkLightNode.h", "vtkMapperNode.h", "vtkPolyDataMapperNode.h", "vtkRendererNode.h", "vtkViewNode.h", "vtkViewNodeFactory.h", "vtkVolumeMapperNode.h", "vtkVolumeNode.h", "vtkWindowNode.h", "vtkRenderingSceneGraphModule.h"], "licenses": []}, "VTK::IOExodus": {"library_name": "vtkIOExodus", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::IOCore", "VTK::IOXMLParser", "VTK::exodusII"], "optional_depends": [], "private_depends": ["VTK::FiltersCore", "VTK::vtksys"], "implements": [], "headers": ["vtkCPExodusIIElementBlock.h", "vtkCPExodusIIInSituReader.h", "vtkExodusIICache.h", "vtkExodusIIReader.h", "vtkExodusIIReaderParser.h", "vtkExodusIIWriter.h", "vtkModelMetadata.h", "vtkCPExodusIINodalCoordinatesTemplate.h", "vtkCPExodusIIResultsArrayTemplate.h", "vtkIOExodusModule.h"], "licenses": []}, "VTK::IOEnSight": {"library_name": "vtkIOEnSight", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::FiltersGeneral", "VTK::CommonCore", "VTK::CommonDataModel"], "implements": [], "headers": ["vtkEnSight6BinaryReader.h", "vtkEnSight6Reader.h", "vtkEnSightGoldBinaryReader.h", "vtkEnSightGoldReader.h", "vtkEnSightMasterServerReader.h", "vtkEnSightReader.h", "vtkGenericEnSightReader.h", "vtkIOEnSightModule.h"], "licenses": []}, "VTK::IOCityGML": {"library_name": "vtkIOCityGML", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::FiltersGeneral", "VTK::FiltersModeling", "VTK::pugixml", "VTK::vtksys"], "implements": [], "headers": ["vtkCityGMLReader.h", "vtkIOCityGMLModule.h"], "licenses": []}, "VTK::pugixml": {"library_name": "vtkpugixml", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkpugixml/src/pugixml.hpp", "vtkpugixml/pugiconfig.hpp", "vtkpugixml/src/vtk_pugixml_mangle.h"], "licenses": []}, "VTK::IOChemistry": {"library_name": "vtkIOChemistry", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::IOCore"], "optional_depends": [], "private_depends": ["VTK::CommonSystem", "VTK::DomainsChemistry", "VTK::RenderingCore", "VTK::vtksys", "VTK::zlib"], "implements": [], "headers": ["vtkCMLMoleculeReader.h", "vtkGaussianCubeReader.h", "vtkGaussianCubeReader2.h", "vtkMoleculeReaderBase.h", "vtkPDBReader.h", "vtkVASPAnimationReader.h", "vtkVASPTessellationReader.h", "vtkXYZMolReader.h", "vtkXYZMolReader2.h", "vtkIOChemistryModule.h"], "licenses": []}, "VTK::IOCesium3DTiles": {"library_name": "vtkIOCesium3DTiles", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::IOCore"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonTransforms", "VTK::CommonSystem", "VTK::IOImage", "VTK::IOGeometry", "VTK::IOXML", "VTK::FiltersGeneral", "VTK::FiltersGeometry", "VTK::FiltersExtraction", "VTK::RenderingCore", "VTK::vtksys", "VTK::libproj", "VTK::nlohmannjson"], "implements": [], "headers": ["vtkCesium3DTilesWriter.h", "vtkCesiumPointCloudWriter.h", "vtkIOCesium3DTilesModule.h"], "licenses": []}, "VTK::IOGeometry": {"library_name": "vtkIOGeometry", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::IOCore", "VTK::IOLegacy", "VTK::nlohmannjson"], "optional_depends": [], "private_depends": ["VTK::CommonMisc", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::FiltersGeneral", "VTK::FiltersHybrid", "VTK::FiltersVerdict", "VTK::ImagingCore", "VTK::IOImage", "VTK::RenderingCore", "VTK::vtksys", "VTK::zlib"], "implements": [], "headers": ["vtkAVSucdReader.h", "vtkBYUReader.h", "vtkBYUWriter.h", "vtkChacoReader.h", "vtkFacetWriter.h", "vtkFLUENTReader.h", "vtkGAMBITReader.h", "vtkGLTFDocumentLoader.h", "vtkGLTFReader.h", "vtkGLTFWriter.h", "vtkHoudiniPolyDataWriter.h", "vtkIVWriter.h", "vtkMCubesReader.h", "vtkMCubesWriter.h", "vtkMFIXReader.h", "vtkOBJReader.h", "vtkOBJWriter.h", "vtkOpenFOAMReader.h", "vtkParticleReader.h", "vtkProStarReader.h", "vtkPTSReader.h", "vtkSTLReader.h", "vtkSTLWriter.h", "vtkTecplotReader.h", "vtkWindBladeReader.h", "vtkIOGeometryModule.h"], "licenses": []}, "VTK::IOCellGrid": {"library_name": "vtkIOCellGrid", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::IOCore", "VTK::FiltersCellGrid"], "optional_depends": [], "private_depends": ["VTK::CommonMisc", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::nlohmannjson", "VTK::vtksys"], "implements": [], "headers": ["vtkCellGridReader.h", "vtkIOCellGridModule.h"], "licenses": []}, "VTK::IOCONVERGECFD": {"library_name": "vtkIOCONVERGECFD", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonSystem", "VTK::hdf5", "VTK::IOHDF", "VTK::vtksys"], "implements": [], "headers": ["vtkCONVERGECFDReader.h", "vtkIOCONVERGECFDModule.h"], "licenses": []}, "VTK::IOHDF": {"library_name": "vtkIOHDF", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::FiltersCore"], "optional_depends": [], "private_depends": ["VTK::CommonSystem", "VTK::hdf5", "VTK::IOCore", "VTK::vtksys"], "implements": [], "headers": ["vtkHDFReader.h", "vtkIOHDFModule.h"], "licenses": []}, "VTK::IOCGNSReader": {"library_name": "vtkIOCGNSReader", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Parallel", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::ParallelCore"], "optional_depends": [], "private_depends": ["VTK::cgns", "VTK::FiltersExtraction", "VTK::ParallelCore", "VTK::hdf5", "VTK::vtksys"], "implements": [], "headers": ["vtkCGNSFileSeriesReader.h", "vtkCGNSReader.h", "vtkIOCGNSReaderModule.h"], "licenses": []}, "VTK::IOAsynchronous": {"library_name": "vtkIOAsynchronous", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::IOCore", "VTK::IOImage", "VTK::IOXML"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMath", "VTK::CommonMisc", "VTK::CommonSystem", "VTK::ParallelCore"], "implements": [], "headers": ["vtkThreadedImageWriter.h", "vtkIOAsynchronousModule.h"], "licenses": []}, "VTK::IOAMR": {"library_name": "vtkIOAMR", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Parallel", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonSystem", "VTK::FiltersAMR", "VTK::ParallelCore", "VTK::hdf5", "VTK::vtksys"], "implements": [], "headers": ["vtkAMRBaseParticlesReader.h", "vtkAMRBaseReader.h", "vtkAMRDataSetCache.h", "vtkAMREnzoParticlesReader.h", "vtkAMREnzoReader.h", "vtkAMReXGridReader.h", "vtkAMReXParticlesReader.h", "vtkAMRFlashParticlesReader.h", "vtkAMRFlashReader.h", "vtkAMRVelodyneReader.h", "vtkIOAMRModule.h"], "licenses": []}, "VTK::InteractionImage": {"library_name": "vtkInteractionImage", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Interaction", "depends": ["VTK::CommonCore", "VTK::RenderingCore"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::ImagingColor", "VTK::ImagingCore", "VTK::InteractionStyle", "VTK::InteractionWidgets"], "implements": [], "headers": ["vtkImageViewer.h", "vtkImageViewer2.h", "vtkResliceImageViewer.h", "vtkResliceImageViewerMeasurements.h", "vtkInteractionImageModule.h"], "licenses": []}, "VTK::ImagingStencil": {"library_name": "vtkImagingStencil", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Imaging", "depends": ["VTK::CommonExecutionModel", "VTK::ImagingCore"], "optional_depends": [], "private_depends": ["VTK::CommonComputationalGeometry", "VTK::CommonCore", "VTK::CommonDataModel"], "implements": [], "headers": ["vtkImageStencil.h", "vtkImageStencilToImage.h", "vtkImageToImageStencil.h", "vtkImplicitFunctionToImageStencil.h", "vtkLassoStencilSource.h", "vtkPolyDataToImageStencil.h", "vtkROIStencilSource.h", "vtkImagingStencilModule.h"], "licenses": []}, "VTK::ImagingStatistics": {"library_name": "vtkImagingStatistics", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Imaging", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::ImagingCore"], "implements": [], "headers": ["vtkImageAccumulate.h", "vtkImageHistogram.h", "vtkImageHistogramStatistics.h", "vtkImagingStatisticsModule.h"], "licenses": []}, "VTK::ImagingMorphological": {"library_name": "vtkImagingMorphological", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Imaging", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::ImagingCore", "VTK::ImagingGeneral"], "optional_depends": [], "private_depends": ["VTK::ImagingSources"], "implements": [], "headers": ["vtkImageConnectivityFilter.h", "vtkImageConnector.h", "vtkImageContinuousDilate3D.h", "vtkImageContinuousErode3D.h", "vtkImageDilateErode3D.h", "vtkImageIslandRemoval2D.h", "vtkImageNonMaximumSuppression.h", "vtkImageOpenClose3D.h", "vtkImageSeedConnectivity.h", "vtkImageSkeleton2D.h", "vtkImageThresholdConnectivity.h", "vtkImagingMorphologicalModule.h"], "licenses": []}, "VTK::ImagingMath": {"library_name": "vtkImagingMath", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Imaging", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel"], "implements": [], "headers": ["vtkImageDivergence.h", "vtkImageDotProduct.h", "vtkImageLogarithmicScale.h", "vtkImageLogic.h", "vtkImageMagnitude.h", "vtkImageMaskBits.h", "vtkImageMathematics.h", "vtkImageWeightedSum.h", "vtkImagingMathModule.h"], "licenses": []}, "VTK::ImagingFourier": {"library_name": "vtkImagingFourier", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Imaging", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::ImagingCore"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::vtksys"], "implements": [], "headers": ["vtkImageButterworthHighPass.h", "vtkImageButterworthLowPass.h", "vtkImageFFT.h", "vtkImageFourierCenter.h", "vtkImageFourierFilter.h", "vtkImageIdealHighPass.h", "vtkImageIdealLowPass.h", "vtkImageRFFT.h", "vtkImagingFourierModule.h"], "licenses": []}, "VTK::IOSQL": {"library_name": "vtkIOSQL", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::IOCore"], "optional_depends": [], "private_depends": ["VTK::sqlite", "VTK::vtksys"], "implements": [], "headers": ["vtkDatabaseToTableReader.h", "vtkRowQuery.h", "vtkRowQueryToTable.h", "vtkSQLDatabase.h", "vtkSQLDatabaseSchema.h", "vtkSQLDatabaseTableSource.h", "vtkSQLiteDatabase.h", "vtkSQLiteQuery.h", "vtkSQLiteToTableReader.h", "vtkSQLQuery.h", "vtkTableToDatabaseWriter.h", "vtkTableToSQLiteWriter.h", "vtkIOSQLModule.h"], "licenses": []}, "VTK::sqlite": {"library_name": "vtksqlite", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtksqlite/sqlite3.h", "vtksqlite/vtk_sqlite_mangle.h", "vtksqlite/vtksqlite_export.h"], "licenses": []}, "VTK::GeovisCore": {"library_name": "vtkGeovisCore", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonTransforms", "VTK::InfovisCore", "VTK::InteractionStyle", "VTK::InteractionWidgets", "VTK::RenderingCore", "VTK::ViewsCore", "VTK::libproj"], "optional_depends": [], "private_depends": ["VTK::CommonSystem", "VTK::FiltersCore", "VTK::FiltersGeneral", "VTK::IOImage", "VTK::IOXML", "VTK::ImagingCore", "VTK::ImagingSources", "VTK::InfovisLayout"], "implements": [], "headers": ["vtkGeoProjection.h", "vtkGeoTransform.h", "vtkGeovisCoreModule.h"], "licenses": []}, "VTK::InfovisLayout": {"library_name": "vtkInfovisLayout", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel"], "optional_depends": ["VTK::InfovisBoostGraphAlgorithms"], "private_depends": ["VTK::CommonComputationalGeometry", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersGeneral", "VTK::FiltersModeling", "VTK::FiltersSources", "VTK::ImagingHybrid", "VTK::InfovisCore"], "implements": [], "headers": ["vtkArcParallelEdgeStrategy.h", "vtkAreaLayout.h", "vtkAreaLayoutStrategy.h", "vtkAssignCoordinates.h", "vtkAssignCoordinatesLayoutStrategy.h", "vtkAttributeClustering2DLayoutStrategy.h", "vtkBoxLayoutStrategy.h", "vtkCirclePackFrontChainLayoutStrategy.h", "vtkCirclePackLayout.h", "vtkCirclePackLayoutStrategy.h", "vtkCirclePackToPolyData.h", "vtkCircularLayoutStrategy.h", "vtkClustering2DLayoutStrategy.h", "vtkCommunity2DLayoutStrategy.h", "vtkConeLayoutStrategy.h", "vtkConstrained2DLayoutStrategy.h", "vtkCosmicTreeLayoutStrategy.h", "vtkEdgeLayout.h", "vtkEdgeLayoutStrategy.h", "vtkFast2DLayoutStrategy.h", "vtkForceDirectedLayoutStrategy.h", "vtkGeoEdgeStrategy.h", "vtkGeoMath.h", "vtkGraphLayout.h", "vtkGraphLayoutStrategy.h", "vtkIncrementalForceLayout.h", "vtkKCoreLayout.h", "vtkPassThroughEdgeStrategy.h", "vtkPassThroughLayoutStrategy.h", "vtkPerturbCoincidentVertices.h", "vtkRandomLayoutStrategy.h", "vtkSimple2DLayoutStrategy.h", "vtkSimple3DCirclesStrategy.h", "vtkSliceAndDiceLayoutStrategy.h", "vtkSpanTreeLayoutStrategy.h", "vtkSplineGraphEdges.h", "vtkSquarifyLayoutStrategy.h", "vtkStackedTreeLayoutStrategy.h", "vtkTreeLayoutStrategy.h", "vtkTreeMapLayout.h", "vtkTreeMapLayoutStrategy.h", "vtkTreeMapToPolyData.h", "vtkTreeOrbitLayoutStrategy.h", "vtkTreeRingToPolyData.h", "vtkInfovisLayoutModule.h"], "licenses": []}, "VTK::ViewsCore": {"library_name": "vtkViewsCore", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Views", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::InteractionWidgets"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::FiltersGeneral", "VTK::RenderingCore", "VTK::RenderingUI"], "implements": [], "headers": ["vtkConvertSelectionDomain.h", "vtkDataRepresentation.h", "vtkEmptyRepresentation.h", "vtkRenderViewBase.h", "vtkView.h", "vtkViewTheme.h", "vtkViewsCoreModule.h"], "licenses": []}, "VTK::InteractionWidgets": {"library_name": "vtkInteractionWidgets", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Interaction", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::FiltersGeneral", "VTK::FiltersSources", "VTK::RenderingCore", "VTK::RenderingContext2D"], "optional_depends": [], "private_depends": ["VTK::CommonComputationalGeometry", "VTK::CommonDataModel", "VTK::CommonMath", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersHybrid", "VTK::FiltersModeling", "VTK::FiltersTexture", "VTK::ImagingColor", "VTK::ImagingCore", "VTK::ImagingGeneral", "VTK::ImagingHybrid", "VTK::InteractionStyle", "VTK::RenderingAnnotation", "VTK::RenderingFreeType", "VTK::RenderingVolume", "VTK::RenderingOpenGL2"], "implements": [], "headers": ["vtk3DCursorRepresentation.h", "vtk3DCursorWidget.h", "vtk3DWidget.h", "vtkAbstractPolygonalHandleRepresentation3D.h", "vtkAbstractSplineRepresentation.h", "vtkAbstractWidget.h", "vtkAffineRepresentation.h", "vtkAffineRepresentation2D.h", "vtkAffineWidget.h", "vtkAngleRepresentation.h", "vtkAngleRepresentation2D.h", "vtkAngleRepresentation3D.h", "vtkAngleWidget.h", "vtkAxesTransformRepresentation.h", "vtkAxesTransformWidget.h", "vtkBalloonRepresentation.h", "vtkBalloonWidget.h", "vtkBezierContourLineInterpolator.h", "vtkBiDimensionalRepresentation.h", "vtkBiDimensionalRepresentation2D.h", "vtkBiDimensionalWidget.h", "vtkBorderRepresentation.h", "vtkBorderWidget.h", "vtkBoundedPlanePointPlacer.h", "vtkBoxRepresentation.h", "vtkBoxWidget.h", "vtkBoxWidget2.h", "vtkBrokenLineWidget.h", "vtkButtonRepresentation.h", "vtkButtonWidget.h", "vtkCamera3DRepresentation.h", "vtkCamera3DWidget.h", "vtkCameraHandleSource.h", "vtkCameraOrientationWidget.h", "vtkCameraOrientationRepresentation.h", "vtkCameraPathRepresentation.h", "vtkCameraPathWidget.h", "vtkCameraRepresentation.h", "vtkCameraWidget.h", "vtkCaptionRepresentation.h", "vtkCaptionWidget.h", "vtkCellCentersPointPlacer.h", "vtkCenteredSliderRepresentation.h", "vtkCenteredSliderWidget.h", "vtkCheckerboardRepresentation.h", "vtkCheckerboardWidget.h", "vtkClosedSurfacePointPlacer.h", "vtkCompassRepresentation.h", "vtkCompassWidget.h", "vtkConstrainedPointHandleRepresentation.h", "vtkContinuousValueWidget.h", "vtkContinuousValueWidgetRepresentation.h", "vtkContourLineInterpolator.h", "vtkContourRepresentation.h", "vtkContourWidget.h", "vtkCoordinateFrameRepresentation.h", "vtkCoordinateFrameWidget.h", "vtkCurveRepresentation.h", "vtkDijkstraImageContourLineInterpolator.h", "vtkDisplaySizedImplicitPlaneWidget.h", "vtkDisplaySizedImplicitPlaneRepresentation.h", "vtkDistanceRepresentation.h", "vtkDistanceRepresentation2D.h", "vtkDistanceRepresentation3D.h", "vtkDistanceWidget.h", "vtkEllipsoidTensorProbeRepresentation.h", "vtkEqualizerContextItem.h", "vtkEvent.h", "vtkFinitePlaneRepresentation.h", "vtkFinitePlaneWidget.h", "vtkFixedSizeHandleRepresentation3D.h", "vtkFocalPlaneContourRepresentation.h", "vtkFocalPlanePointPlacer.h", "vtkHandleRepresentation.h", "vtkHandleWidget.h", "vtkHoverWidget.h", "vtkImageActorPointPlacer.h", "vtkImageCroppingRegionsWidget.h", "vtkImageOrthoPlanes.h", "vtkImagePlaneWidget.h", "vtkImageTracerWidget.h", "vtkImplicitCylinderRepresentation.h", "vtkImplicitCylinderWidget.h", "vtkImplicitImageRepresentation.h", "vtkImplicitPlaneRepresentation.h", "vtkImplicitPlaneWidget.h", "vtkImplicitPlaneWidget2.h", "vtkLightRepresentation.h", "vtkLightWidget.h", "vtkLinearContourLineInterpolator.h", "vtkLineRepresentation.h", "vtkLineWidget.h", "vtkLineWidget2.h", "vtkLogoRepresentation.h", "vtkLogoWidget.h", "vtkMagnifierRepresentation.h", "vtkMagnifierWidget.h", "vtkMeasurementCubeHandleRepresentation3D.h", "vtkOrientationMarkerWidget.h", "vtkOrientationRepresentation.h", "vtkOrientationWidget.h", "vtkOrientedGlyphContourRepresentation.h", "vtkOrientedGlyphFocalPlaneContourRepresentation.h", "vtkOrientedPolygonalHandleRepresentation3D.h", "vtkParallelopipedRepresentation.h", "vtkParallelopipedWidget.h", "vtkPlaneWidget.h", "vtkPlaybackRepresentation.h", "vtkPlaybackWidget.h", "vtkPointCloudRepresentation.h", "vtkPointCloudWidget.h", "vtkPointHandleRepresentation2D.h", "vtkPointHandleRepresentation3D.h", "vtkPointPlacer.h", "vtkPointWidget.h", "vtkPolyDataContourLineInterpolator.h", "vtkPolyDataPointPlacer.h", "vtkPolyDataSourceWidget.h", "vtkPolygonalHandleRepresentation3D.h", "vtkPolygonalSurfaceContourLineInterpolator.h", "vtkPolygonalSurfacePointPlacer.h", "vtkPolyLineRepresentation.h", "vtkPolyLineWidget.h", "vtkProgressBarRepresentation.h", "vtkProgressBarWidget.h", "vtkProp3DButtonRepresentation.h", "vtkRectilinearWipeRepresentation.h", "vtkRectilinearWipeWidget.h", "vtkResliceCursor.h", "vtkResliceCursorActor.h", "vtkResliceCursorLineRepresentation.h", "vtkResliceCursorPicker.h", "vtkResliceCursorPolyDataAlgorithm.h", "vtkResliceCursorRepresentation.h", "vtkResliceCursorThickLineRepresentation.h", "vtkResliceCursorWidget.h", "vtkScalarBarRepresentation.h", "vtkScalarBarWidget.h", "vtkSeedRepresentation.h", "vtkSeedWidget.h", "vtkSliderRepresentation.h", "vtkSliderRepresentation2D.h", "vtkSliderRepresentation3D.h", "vtkSliderWidget.h", "vtkSphereHandleRepresentation.h", "vtkSphereRepresentation.h", "vtkSphereWidget.h", "vtkSphereWidget2.h", "vtkSplineRepresentation.h", "vtkSplineWidget.h", "vtkSplineWidget2.h", "vtkTensorProbeRepresentation.h", "vtkTensorProbeWidget.h", "vtkTensorRepresentation.h", "vtkTensorWidget.h", "vtkTerrainContourLineInterpolator.h", "vtkTerrainDataPointPlacer.h", "vtkTextRepresentation.h", "vtkTexturedButtonRepresentation.h", "vtkTexturedButtonRepresentation2D.h", "vtkTextWidget.h", "vtkWidgetCallbackMapper.h", "vtkWidgetEvent.h", "vtkWidgetEventTranslator.h", "vtkWidgetRepresentation.h", "vtkWidgetSet.h", "vtkXYPlotWidget.h", "vtkInteractionWidgetsModule.h"], "licenses": []}, "VTK::RenderingVolume": {"library_name": "vtkRenderingVolume", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::Rendering", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::RenderingCore"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMath", "VTK::CommonMisc", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::ImagingCore"], "implements": [], "headers": ["vtkBlockSortHelper.h", "vtkDirectionEncoder.h", "vtkEncodedGradientEstimator.h", "vtkEncodedGradientShader.h", "vtkFiniteDifferenceGradientEstimator.h", "vtkFixedPointRayCastImage.h", "vtkFixedPointVolumeRayCastCompositeGOHelper.h", "vtkFixedPointVolumeRayCastCompositeGOShadeHelper.h", "vtkFixedPointVolumeRayCastCompositeHelper.h", "vtkFixedPointVolumeRayCastCompositeShadeHelper.h", "vtkFixedPointVolumeRayCastHelper.h", "vtkFixedPointVolumeRayCastMapper.h", "vtkFixedPointVolumeRayCastMIPHelper.h", "vtkGPUVolumeRayCastMapper.h", "vtkMultiVolume.h", "vtkOSPRayVolumeInterface.h", "vtkProjectedTetrahedraMapper.h", "vtkRayCastImageDisplayHelper.h", "vtkRecursiveSphereDirectionEncoder.h", "vtkSphericalDirectionEncoder.h", "vtkUnstructuredGridBunykRayCastFunction.h", "vtkUnstructuredGridHomogeneousRayIntegrator.h", "vtkUnstructuredGridLinearRayIntegrator.h", "vtkUnstructuredGridPartialPreIntegration.h", "vtkUnstructuredGridPreIntegration.h", "vtkUnstructuredGridVolumeMapper.h", "vtkUnstructuredGridVolumeRayCastFunction.h", "vtkUnstructuredGridVolumeRayCastIterator.h", "vtkUnstructuredGridVolumeRayCastMapper.h", "vtkUnstructuredGridVolumeRayIntegrator.h", "vtkUnstructuredGridVolumeZSweepMapper.h", "vtkVolumeMapper.h", "vtkVolumeOutlineSource.h", "vtkVolumePicker.h", "vtkVolumeRayCastSpaceLeapingImageFilter.h", "vtkRenderingVolumeModule.h"], "licenses": []}, "VTK::RenderingAnnotation": {"library_name": "vtkRenderingAnnotation", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Rendering", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::RenderingCore"], "optional_depends": [], "private_depends": ["VTK::CommonMath", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersGeneral", "VTK::FiltersSources", "VTK::ImagingColor", "VTK::RenderingFreeType"], "implements": [], "headers": ["vtkAnnotatedCubeActor.h", "vtkArcPlotter.h", "vtkAxesActor.h", "vtkAxisActor.h", "vtkAxisActor2D.h", "vtkAxisFollower.h", "vtkBarChartActor.h", "vtkCaptionActor2D.h", "vtkConvexHull2D.h", "vtkCornerAnnotation.h", "vtkCubeAxesActor.h", "vtkCubeAxesActor2D.h", "vtkGraphAnnotationLayersFilter.h", "vtkLeaderActor2D.h", "vtkLegendBoxActor.h", "vtkLegendScaleActor.h", "vtkParallelCoordinatesActor.h", "vtkPieChartActor.h", "vtkPolarAxesActor.h", "vtkProp3DAxisFollower.h", "vtkScalarBarActor.h", "vtkSpiderPlotActor.h", "vtkXYPlotActor.h", "vtkRenderingAnnotationModule.h"], "licenses": []}, "VTK::ImagingHybrid": {"library_name": "vtkImagingHybrid", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::IOImage", "VTK::ImagingCore"], "implements": [], "headers": ["vtkBooleanTexture.h", "vtkCheckerboardSplatter.h", "vtkFastSplatter.h", "vtkGaussianSplatter.h", "vtkImageCursor3D.h", "vtkImageRectilinearWipe.h", "vtkImageToPoints.h", "vtkPointLoad.h", "vtkSampleFunction.h", "vtkShepardMethod.h", "vtkSliceCubes.h", "vtkSurfaceReconstructionFilter.h", "vtkTriangularTexture.h", "vtkVoxelModeller.h", "vtkImagingHybridModule.h"], "licenses": []}, "VTK::ImagingColor": {"library_name": "vtkImagingColor", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Imaging", "depends": ["VTK::CommonExecutionModel", "VTK::ImagingCore"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonSystem"], "implements": [], "headers": ["vtkImageHSIToRGB.h", "vtkImageHSVToRGB.h", "vtkImageLuminance.h", "vtkImageMapToRGBA.h", "vtkImageMapToWindowLevelColors.h", "vtkImageQuantizeRGBToIndex.h", "vtkImageRGBToHSI.h", "vtkImageRGBToHSV.h", "vtkImageRGBToYIQ.h", "vtkImageYIQToRGB.h", "vtkImagingColorModule.h"], "licenses": []}, "VTK::InteractionStyle": {"library_name": "vtkInteractionStyle", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Interaction", "depends": ["VTK::CommonDataModel", "VTK::RenderingCore"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonMath", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersExtraction", "VTK::FiltersSources"], "implements": ["VTK::RenderingCore"], "headers": ["vtkInteractorStyleDrawPolygon.h", "vtkInteractorStyleFlight.h", "vtkInteractorStyleImage.h", "vtkInteractorStyleJoystickActor.h", "vtkInteractorStyleJoystickCamera.h", "vtkInteractorStyleMultiTouchCamera.h", "vtkInteractorStyleRubberBand2D.h", "vtkInteractorStyleRubberBand3D.h", "vtkInteractorStyleRubberBandPick.h", "vtkInteractorStyleRubberBandZoom.h", "vtkInteractorStyleTerrain.h", "vtkInteractorStyleTrackball.h", "vtkInteractorStyleTrackballActor.h", "vtkInteractorStyleTrackballCamera.h", "vtkInteractorStyleUnicam.h", "vtkInteractorStyleUser.h", "vtkInteractorStyleSwitch.h", "vtkParallelCoordinatesInteractorStyle.h", "vtkInteractionStyleModule.h"], "licenses": []}, "VTK::FiltersTopology": {"library_name": "vtkFiltersTopology", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkFiberSurface.h", "vtkFiltersTopologyModule.h"], "licenses": []}, "VTK::FiltersTensor": {"library_name": "vtkFiltersTensor", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel"], "implements": [], "headers": ["vtkTensorPrincipalInvariants.h", "vtkYieldCriteria.h", "vtkFiltersTensorModule.h"], "licenses": []}, "VTK::FiltersSelection": {"library_name": "vtkFiltersSelection", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel"], "implements": [], "headers": ["vtkCellDistanceSelector.h", "vtkKdTreeSelector.h", "vtkLinearSelector.h", "vtkFiltersSelectionModule.h"], "licenses": []}, "VTK::FiltersSMP": {"library_name": "vtkFiltersSMP", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonMisc", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersGeneral"], "optional_depends": [], "private_depends": ["VTK::CommonMath", "VTK::CommonSystem"], "implements": [], "headers": ["vtkSMPContourGrid.h", "vtkSMPMergePoints.h", "vtkSMPMergePolyDataHelper.h", "vtkFiltersSMPModule.h"], "licenses": []}, "VTK::FiltersReduction": {"library_name": "vtkFiltersReduction", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel"], "implements": [], "headers": ["vtkToAffineArrayStrategy.h", "vtkToConstantArrayStrategy.h", "vtkToImplicitArrayFilter.h", "vtkToImplicitRamerDouglasPeuckerStrategy.h", "vtkToImplicitStrategy.h", "vtkToImplicitTypeErasureStrategy.h", "vtkFiltersReductionModule.h"], "licenses": []}, "VTK::FiltersProgrammable": {"library_name": "vtkFiltersProgrammable", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonTransforms"], "implements": [], "headers": ["vtkProgrammableAttributeDataFilter.h", "vtkProgrammableFilter.h", "vtkProgrammableGlyphFilter.h", "vtkFiltersProgrammableModule.h"], "licenses": []}, "VTK::FiltersPoints": {"library_name": "vtkFiltersPoints", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::CommonMisc", "VTK::FiltersModeling"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkBoundedPointSource.h", "vtkConnectedPointsFilter.h", "vtkConvertToPointCloud.h", "vtkDensifyPointCloudFilter.h", "vtkEllipsoidalGaussianKernel.h", "vtkEuclideanClusterExtraction.h", "vtkExtractEnclosedPoints.h", "vtkExtractHierarchicalBins.h", "vtkExtractPointCloudPiece.h", "vtkExtractPoints.h", "vtkExtractSurface.h", "vtkFitImplicitFunction.h", "vtkGaussianKernel.h", "vtkGeneralizedKernel.h", "vtkHierarchicalBinningFilter.h", "vtkInterpolationKernel.h", "vtkLinearKernel.h", "vtkMaskPointsFilter.h", "vtkPCACurvatureEstimation.h", "vtkPCANormalEstimation.h", "vtkPointCloudFilter.h", "vtkPointDensityFilter.h", "vtkPointInterpolator.h", "vtkPointInterpolator2D.h", "vtkPointOccupancyFilter.h", "vtkPointSmoothingFilter.h", "vtkPoissonDiskSampler.h", "vtkProbabilisticVoronoiKernel.h", "vtkProjectPointsToPlane.h", "vtkRadiusOutlierRemoval.h", "vtkSPHCubicKernel.h", "vtkSPHInterpolator.h", "vtkSPHKernel.h", "vtkSPHQuarticKernel.h", "vtkSPHQuinticKernel.h", "vtkShepardKernel.h", "vtkSignedDistance.h", "vtkStatisticalOutlierRemoval.h", "vtkUnsignedDistance.h", "vtkVoronoiKernel.h", "vtkVoxelGrid.h", "vtkWendlandQuinticKernel.h", "vtkFiltersPointsModule.h"], "licenses": []}, "VTK::FiltersParallelImaging": {"library_name": "vtkFiltersParallelImaging", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Parallel", "depends": ["VTK::CommonExecutionModel", "VTK::FiltersImaging", "VTK::FiltersParallel", "VTK::ImagingCore"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonSystem", "VTK::FiltersExtraction", "VTK::FiltersStatistics", "VTK::ImagingGeneral", "VTK::ParallelCore"], "implements": [], "headers": ["vtkExtractPiece.h", "vtkMemoryLimitImageDataStreamer.h", "vtkPComputeHistogram2DOutliers.h", "vtkPExtractHistogram2D.h", "vtkPPairwiseExtractHistogram2D.h", "vtkTransmitImageDataPiece.h", "vtkFiltersParallelImagingModule.h"], "licenses": []}, "VTK::FiltersImaging": {"library_name": "vtkFiltersImaging", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::FiltersStatistics"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonSystem", "VTK::ImagingGeneral"], "implements": [], "headers": ["vtkComputeHistogram2DOutliers.h", "vtkExtractHistogram2D.h", "vtkPairwiseExtractHistogram2D.h", "vtkFiltersImagingModule.h"], "licenses": []}, "VTK::ImagingGeneral": {"library_name": "vtkImagingGeneral", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Imaging", "depends": ["VTK::CommonExecutionModel", "VTK::ImagingCore"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::ImagingSources"], "implements": [], "headers": ["vtkImageAnisotropicDiffusion2D.h", "vtkImageAnisotropicDiffusion3D.h", "vtkImageCheckerboard.h", "vtkImageCityBlockDistance.h", "vtkImageConvolve.h", "vtkImageCorrelation.h", "vtkImageEuclideanDistance.h", "vtkImageEuclideanToPolar.h", "vtkImageGaussianSmooth.h", "vtkImageGradient.h", "vtkImageGradientMagnitude.h", "vtkImageHybridMedian2D.h", "vtkImageLaplacian.h", "vtkImageMedian3D.h", "vtkImageNormalize.h", "vtkImageRange3D.h", "vtkImageSeparableConvolution.h", "vtkImageSlab.h", "vtkImageSlabReslice.h", "vtkImageSobel2D.h", "vtkImageSobel3D.h", "vtkImageSpatialAlgorithm.h", "vtkImageVariance3D.h", "vtkImagingGeneralModule.h"], "licenses": []}, "VTK::FiltersGeometryPreview": {"library_name": "vtkFiltersGeometryPreview", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkOctreeImageToPointSetFilter.h", "vtkPointSetToOctreeImageFilter.h", "vtkPointSetStreamer.h", "vtkFiltersGeometryPreviewModule.h"], "licenses": []}, "VTK::FiltersGeneric": {"library_name": "vtkFiltersGeneric", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonExecutionModel", "VTK::CommonMath"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonMisc", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersSources"], "implements": [], "headers": ["vtkGenericClip.h", "vtkGenericContourFilter.h", "vtkGenericCutter.h", "vtkGenericDataSetTessellator.h", "vtkGenericGeometryFilter.h", "vtkGenericGlyph3DFilter.h", "vtkGenericOutlineFilter.h", "vtkGenericProbeFilter.h", "vtkGenericStreamTracer.h", "vtkFiltersGenericModule.h"], "licenses": []}, "VTK::FiltersFlowPaths": {"library_name": "vtkFiltersFlowPaths", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonComputationalGeometry", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonMath"], "optional_depends": [], "private_depends": ["VTK::FiltersCore", "VTK::FiltersGeneral", "VTK::FiltersGeometry", "VTK::FiltersModeling", "VTK::FiltersSources", "VTK::IOCore", "VTK::eigen"], "implements": [], "headers": ["vtkAbstractInterpolatedVelocityField.h", "vtkAMRInterpolatedVelocityField.h", "vtkCachingInterpolatedVelocityField.h", "vtkCellLocatorInterpolatedVelocityField.h", "vtkCompositeInterpolatedVelocityField.h", "vtkEvenlySpacedStreamlines2D.h", "vtkInterpolatedVelocityField.h", "vtkLagrangianBasicIntegrationModel.h", "vtkLagrangianMatidaIntegrationModel.h", "vtkLagrangianParticle.h", "vtkLagrangianParticleTracker.h", "vtkLinearTransformCellLocator.h", "vtkModifiedBSPTree.h", "vtkParallelVectors.h", "vtkParticlePathFilter.h", "vtkParticleTracer.h", "vtkParticleTracerBase.h", "vtkStreaklineFilter.h", "vtkStreamSurface.h", "vtkStreamTracer.h", "vtkTemporalInterpolatedVelocityField.h", "vtkVectorFieldTopology.h", "vtkVortexCore.h", "vtkFiltersFlowPathsModule.h"], "licenses": []}, "VTK::eigen": {"library_name": "vtkeigen", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::FiltersCellGrid": {"library_name": "vtkFiltersCellGrid", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::FiltersCore"], "implements": [], "headers": ["vtkCellGridComputeSurface.h", "vtkDGBoundsResponder.h", "vtkDGCell.h", "vtkDGHex.h", "vtkDGSidesResponder.h", "vtkDGTet.h", "vtkFiltersCellGridModule.h"], "licenses": []}, "VTK::FiltersAMR": {"library_name": "vtkFiltersAMR", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Parallel", "depends": ["VTK::CommonDataModel", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonMath", "VTK::CommonSystem", "VTK::FiltersCore", "VTK::IOXML", "VTK::ParallelCore"], "implements": [], "headers": ["vtkAMRCutPlane.h", "vtkAMRGaussianPulseSource.h", "vtkAMRResampleFilter.h", "vtkAMRSliceFilter.h", "vtkAMRToMultiBlockFilter.h", "vtkImageToAMR.h", "vtkParallelAMRUtilities.h", "vtkFiltersAMRModule.h"], "licenses": []}, "VTK::FiltersParallel": {"library_name": "vtkFiltersParallel", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::Parallel", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::FiltersCore", "VTK::FiltersExtraction", "VTK::FiltersGeneral", "VTK::FiltersGeometry", "VTK::FiltersHybrid", "VTK::FiltersHyperTree", "VTK::FiltersModeling", "VTK::FiltersSources", "VTK::FiltersTexture", "VTK::ParallelCore"], "optional_depends": [], "private_depends": ["VTK::CommonSystem", "VTK::CommonTransforms", "VTK::IOLegacy"], "implements": ["VTK::FiltersCore"], "headers": ["vtkBlockDistribution.h", "vtkAdaptiveTemporalInterpolator.h", "vtkAggregateDataSetFilter.h", "vtkAlignImageDataSetFilter.h", "vtkAngularPeriodicFilter.h", "vtkCollectGraph.h", "vtkCollectPolyData.h", "vtkCollectTable.h", "vtkCutMaterial.h", "vtkDistributedDataFilter.h", "vtkDuplicatePolyData.h", "vtkExtractCTHPart.h", "vtkExtractPolyDataPiece.h", "vtkExtractUnstructuredGridPiece.h", "vtkExtractUserDefinedPiece.h", "vtkGenerateProcessIds.h", "vtkHyperTreeGridGhostCellsGenerator.h", "vtkPHyperTreeGridProbeFilter.h", "vtkIntegrateAttributes.h", "vtkPeriodicFilter.h", "vtkPCellDataToPointData.h", "vtkPConvertToMultiBlockDataSet.h", "vtkPExtractDataArraysOverTime.h", "vtkPExtractExodusGlobalTemporalVariables.h", "vtkPExtractSelectedArraysOverTime.h", "vtkPieceRequestFilter.h", "vtkPieceScalars.h", "vtkPipelineSize.h", "vtkPKdTree.h", "vtkPLinearExtrusionFilter.h", "vtkPMaskPoints.h", "vtkPMergeArrays.h", "vtkPOutlineCornerFilter.h", "vtkPOutlineFilter.h", "vtkPOutlineFilterInternals.h", "vtkPPolyDataNormals.h", "vtkPProbeFilter.h", "vtkPProjectSphereFilter.h", "vtkPReflectionFilter.h", "vtkPResampleFilter.h", "vtkPartitionBalancer.h", "vtkProcessIdScalars.h", "vtkPSphereSource.h", "vtkPTextureMapToSphere.h", "vtkPYoungsMaterialInterface.h", "vtkRectilinearGridOutlineFilter.h", "vtkRemoveGhosts.h", "vtkTransmitPolyDataPiece.h", "vtkTransmitRectilinearGridPiece.h", "vtkTransmitStructuredDataPiece.h", "vtkTransmitStructuredGridPiece.h", "vtkTransmitUnstructuredGridPiece.h", "vtkFiltersParallelModule.h"], "licenses": []}, "VTK::FiltersTexture": {"library_name": "vtkFiltersTexture", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonTransforms", "VTK::FiltersGeneral"], "implements": [], "headers": ["vtkImplicitTextureCoords.h", "vtkScalarsToTextureFilter.h", "vtkTextureMapToCylinder.h", "vtkTextureMapToPlane.h", "vtkTextureMapToSphere.h", "vtkThresholdTextureCoords.h", "vtkTransformTextureCoords.h", "vtkTriangularTCoords.h", "vtkFiltersTextureModule.h"], "licenses": []}, "VTK::FiltersModeling": {"library_name": "vtkFiltersModeling", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonExecutionModel", "VTK::CommonMisc", "VTK::FiltersGeneral"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersSources"], "implements": [], "headers": ["vtkAdaptiveSubdivisionFilter.h", "vtkBandedPolyDataContourFilter.h", "vtkButterflySubdivisionFilter.h", "vtkCollisionDetectionFilter.h", "vtkContourLoopExtraction.h", "vtkCookieCutter.h", "vtkDijkstraGraphGeodesicPath.h", "vtkDijkstraImageGeodesicPath.h", "vtkFillHolesFilter.h", "vtkFitToHeightMapFilter.h", "vtkGeodesicPath.h", "vtkGraphGeodesicPath.h", "vtkHausdorffDistancePointSetFilter.h", "vtkHyperTreeGridOutlineFilter.h", "vtkImageDataOutlineFilter.h", "vtkImprintFilter.h", "vtkLinearCellExtrusionFilter.h", "vtkLinearExtrusionFilter.h", "vtkLinearSubdivisionFilter.h", "vtkLoopSubdivisionFilter.h", "vtkOutlineFilter.h", "vtkPolyDataPointSampler.h", "vtkProjectedTexture.h", "vtkQuadRotationalExtrusionFilter.h", "vtkRibbonFilter.h", "vtkRotationalExtrusionFilter.h", "vtkRuledSurfaceFilter.h", "vtkSectorSource.h", "vtkSelectEnclosedPoints.h", "vtkSelectPolyData.h", "vtkSpherePuzzle.h", "vtkSpherePuzzleArrows.h", "vtkSubdivideTetra.h", "vtkTrimmedExtrusionFilter.h", "vtkVolumeOfRevolutionFilter.h", "vtkFiltersModelingModule.h"], "licenses": []}, "VTK::DomainsChemistryOpenGL2": {"library_name": "vtkDomainsChemistryOpenGL2", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::DomainsChemistry", "VTK::RenderingOpenGL2"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonMath", "VTK::glew", "VTK::RenderingCore"], "implements": ["VTK::DomainsChemistry"], "headers": ["vtkOpenGLMoleculeMapper.h", "vtkDomainsChemistryOpenGL2Module.h"], "licenses": []}, "VTK::RenderingOpenGL2": {"library_name": "vtkRenderingOpenGL2", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::OpenGL", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::FiltersGeneral", "VTK::IOImage", "VTK::RenderingCore", "VTK::RenderingHyperTreeGrid", "VTK::RenderingUI", "VTK::glew"], "optional_depends": [], "private_depends": ["VTK::CommonExecutionModel", "VTK::CommonMath", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::opengl", "VTK::vtksys"], "implements": ["VTK::RenderingCore"], "headers": ["vtkOpenGLError.h", "vtkRenderingOpenGLConfigure.h", "vtkCameraPass.h", "vtkClearRGBPass.h", "vtkClearZPass.h", "vtkCompositePolyDataMapper2.h", "vtkDataTransferHelper.h", "vtkDefaultPass.h", "vtkDepthImageProcessingPass.h", "vtkDepthOfFieldPass.h", "vtkDepthPeelingPass.h", "vtkDualDepthPeelingPass.h", "vtkEDLShading.h", "vtkEquirectangularToCubeMapTexture.h", "vtkFramebufferPass.h", "vtkGaussianBlurPass.h", "vtkGenericOpenGLRenderWindow.h", "vtkHiddenLineRemovalPass.h", "vtkImageProcessingPass.h", "vtkLightingMapPass.h", "vtkLightsPass.h", "vtkOpaquePass.h", "vtkOpenGLActor.h", "vtkOpenGLBatchedPolyDataMapper.h", "vtkOpenGLBillboardTextActor3D.h", "vtkOpenGLBufferObject.h", "vtkOpenGLCamera.h", "vtkOpenGLCellToVTKCellMap.h", "vtkOpenGLCompositePolyDataMapperDelegator.h", "vtkOpenGLFXAAFilter.h", "vtkOpenGLFXAAPass.h", "vtkOpenGLFluidMapper.h", "vtkOpenGLFramebufferObject.h", "vtkOpenGLGL2PSHelper.h", "vtkOpenGLGlyph3DHelper.h", "vtkOpenGLGlyph3DMapper.h", "vtkOpenGLHardwareSelector.h", "vtkOpenGLHelper.h", "vtkOpenGLHyperTreeGridMapper.h", "vtkOpenGLImageAlgorithmHelper.h", "vtkOpenGLImageMapper.h", "vtkOpenGLImageSliceMapper.h", "vtkOpenGLIndexBufferObject.h", "vtkOpenGLInstanceCulling.h", "vtkOpenGLLabeledContourMapper.h", "vtkOpenGLLight.h", "vtkOpenGLPointGaussianMapper.h", "vtkOpenGLPolyDataMapper.h", "vtkOpenGLPolyDataMapper2D.h", "vtkOpenGLProperty.h", "vtkOpenGLQuadHelper.h", "vtkOpenGLRenderPass.h", "vtkOpenGLRenderTimer.h", "vtkOpenGLRenderTimerLog.h", "vtkOpenGLRenderUtilities.h", "vtkOpenGLRenderWindow.h", "vtkOpenGLRenderer.h", "vtkOpenGLShaderCache.h", "vtkOpenGLShaderProperty.h", "vtkOpenGLSkybox.h", "vtkOpenGLSphereMapper.h", "vtkOpenGLState.h", "vtkOpenGLStickMapper.h", "vtkOpenGLTextActor.h", "vtkOpenGLTextActor3D.h", "vtkOpenGLTextMapper.h", "vtkOpenGLTexture.h", "vtkOpenGLUniforms.h", "vtkOpenGLVertexArrayObject.h", "vtkOpenGLVertexBufferObject.h", "vtkOpenGLVertexBufferObjectCache.h", "vtkOpenGLVertexBufferObjectGroup.h", "vtkOrderIndependentTranslucentPass.h", "vtkOutlineGlowPass.h", "vtkOverlayPass.h", "vtkPBRIrradianceTexture.h", "vtkPBRLUTTexture.h", "vtkPBRPrefilterTexture.h", "vtkPanoramicProjectionPass.h", "vtkPixelBufferObject.h", "vtkPointFillPass.h", "vtkRenderPassCollection.h", "vtkRenderStepsPass.h", "vtkRenderbuffer.h", "vtkSSAAPass.h", "vtkSSAOPass.h", "vtkSequencePass.h", "vtkShader.h", "vtkShaderProgram.h", "vtkShadowMapBakerPass.h", "vtkShadowMapPass.h", "vtkSimpleMotionBlurPass.h", "vtkSobelGradientMagnitudePass.h", "vtkTextureObject.h", "vtkTextureUnitManager.h", "vtkToneMappingPass.h", "vtkTransformFeedback.h", "vtkTranslucentPass.h", "vtkValuePass.h", "vtkVolumetricPass.h", "vtkDummyGPUInfoList.h", "vtkXOpenGLRenderWindow.h", "vtkRenderingOpenGL2Module.h"], "licenses": []}, "VTK::RenderingHyperTreeGrid": {"library_name": "vtkRenderingHyperTreeGrid", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonMath", "VTK::RenderingCore"], "optional_depends": [], "private_depends": ["VTK::FiltersHybrid", "VTK::FiltersHyperTree"], "implements": [], "headers": ["vtkHyperTreeGridMapper.h", "vtkRenderingHyperTreeGridModule.h"], "licenses": []}, "VTK::RenderingUI": {"library_name": "vtkRenderingUI", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::RenderingCore"], "optional_depends": [], "private_depends": [], "implements": ["VTK::RenderingCore"], "headers": ["vtkGenericRenderWindowInteractor.h", "vtkXRenderWindowInteractor.h", "vtkRenderingUIModule.h"], "licenses": []}, "VTK::FiltersHybrid": {"library_name": "vtkFiltersHybrid", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonTransforms", "VTK::FiltersGeometry"], "optional_depends": [], "private_depends": ["VTK::CommonMath", "VTK::CommonMisc", "VTK::FiltersCore", "VTK::FiltersGeneral", "VTK::ImagingCore", "VTK::ImagingSources", "VTK::RenderingCore", "VTK::vtksys"], "implements": [], "headers": ["vtkAdaptiveDataSetSurfaceFilter.h", "vtkBSplineTransform.h", "vtkDepthSortPolyData.h", "vtkDSPFilterDefinition.h", "vtkDSPFilterGroup.h", "vtkEarthSource.h", "vtkFacetReader.h", "vtkForceTime.h", "vtkGenerateTimeSteps.h", "vtkGreedyTerrainDecimation.h", "vtkGridTransform.h", "vtkImageToPolyDataFilter.h", "vtkImplicitModeller.h", "vtkPCAAnalysisFilter.h", "vtkPolyDataSilhouette.h", "vtkProcrustesAlignmentFilter.h", "vtkProjectedTerrainPath.h", "vtkRenderLargeImage.h", "vtkTemporalArrayOperatorFilter.h", "vtkTemporalDataSetCache.h", "vtkTemporalFractal.h", "vtkTemporalInterpolator.h", "vtkTemporalShiftScale.h", "vtkTemporalSnapToTimeStep.h", "vtkTransformToGrid.h", "vtkWeightedTransformFilter.h", "vtkFiltersHybridModule.h"], "licenses": []}, "VTK::DomainsChemistry": {"library_name": "vtkDomainsChemistry", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::IOLegacy", "VTK::IOXMLParser", "VTK::RenderingCore"], "optional_depends": [], "private_depends": ["VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersGeneral", "VTK::FiltersSources", "VTK::vtksys"], "implements": [], "headers": ["vtkBlueObeliskData.h", "vtkBlueObeliskDataParser.h", "vtkMoleculeMapper.h", "vtkMoleculeToAtomBallFilter.h", "vtkMoleculeToBondStickFilter.h", "vtkMoleculeToLinesFilter.h", "vtkMoleculeToPolyDataFilter.h", "vtkPeriodicTable.h", "vtkPointSetToMoleculeFilter.h", "vtkProgrammableElectronicData.h", "vtkProteinRibbonFilter.h", "vtkSimpleBondPerceiver.h", "vtkDomainsChemistryModule.h"], "licenses": []}, "VTK::ChartsCore": {"library_name": "vtkChartsCore", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::FiltersGeneral", "VTK::RenderingContext2D", "VTK::RenderingCore", "VTK::vtksys"], "optional_depends": [], "private_depends": ["VTK::CommonColor", "VTK::CommonExecutionModel", "VTK::CommonTransforms", "VTK::InfovisCore"], "implements": [], "headers": ["vtkAxis.h", "vtkAxisExtended.h", "vtkCategoryLegend.h", "vtkChart.h", "vtkChartBox.h", "vtkChartHistogram2D.h", "vtkChartLegend.h", "vtkChartMatrix.h", "vtkChartParallelCoordinates.h", "vtkChartPie.h", "vtkChartXY.h", "vtkChartXYZ.h", "vtkColorLegend.h", "vtkColorTransferControlPointsItem.h", "vtkColorTransferFunctionItem.h", "vtkCompositeControlPointsItem.h", "vtkCompositeTransferFunctionItem.h", "vtkContextArea.h", "vtkContextPolygon.h", "vtkControlPointsItem.h", "vtkInteractiveArea.h", "vtkLookupTableItem.h", "vtkPiecewiseControlPointsItem.h", "vtkPiecewiseFunctionItem.h", "vtkPiecewisePointHandleItem.h", "vtkPlot.h", "vtkPlot3D.h", "vtkPlotArea.h", "vtkPlotBag.h", "vtkPlotBar.h", "vtkPlotBarRangeHandlesItem.h", "vtkPlotBox.h", "vtkPlotFunctionalBag.h", "vtkPlotGrid.h", "vtkPlotHistogram2D.h", "vtkPlotLine.h", "vtkPlotLine3D.h", "vtkPlotParallelCoordinates.h", "vtkPlotPie.h", "vtkPlotPoints.h", "vtkPlotPoints3D.h", "vtkPlotRangeHandlesItem.h", "vtkPlotStacked.h", "vtkPlotSurface.h", "vtkRangeHandlesItem.h", "vtkScalarsToColorsItem.h", "vtkScatterPlotMatrix.h", "vtkChartsCoreModule.h"], "licenses": []}, "VTK::InfovisCore": {"library_name": "vtkInfovisCore", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonColor", "VTK::IOImage", "VTK::ImagingCore", "VTK::ImagingSources", "VTK::RenderingFreeType"], "optional_depends": [], "private_depends": ["VTK::FiltersExtraction", "VTK::FiltersGeneral"], "implements": [], "headers": ["vtkAddMembershipArray.h", "vtkAdjacencyMatrixToEdgeTable.h", "vtkArrayNorm.h", "vtkArrayToTable.h", "vtkCollapseGraph.h", "vtkCollapseVerticesByArray.h", "vtkContinuousScatterplot.h", "vtkDataObjectToTable.h", "vtkDotProductSimilarity.h", "vtkEdgeCenters.h", "vtkExpandSelectedGraph.h", "vtkExtractSelectedGraph.h", "vtkExtractSelectedTree.h", "vtkGenerateIndexArray.h", "vtkGraphHierarchicalBundleEdges.h", "vtkGroupLeafVertices.h", "vtkKCoreDecomposition.h", "vtkMergeColumns.h", "vtkMergeGraphs.h", "vtkMergeTables.h", "vtkMutableGraphHelper.h", "vtkNetworkHierarchy.h", "vtkPipelineGraphSource.h", "vtkPruneTreeFilter.h", "vtkRandomGraphSource.h", "vtkReduceTable.h", "vtkRemoveHiddenData.h", "vtkRemoveIsolatedVertices.h", "vtkSparseArrayToTable.h", "vtkStreamGraph.h", "vtkStringToCategory.h", "vtkStringToNumeric.h", "vtkTableToArray.h", "vtkTableToGraph.h", "vtkTableToSparseArray.h", "vtkTableToTreeFilter.h", "vtkThresholdGraph.h", "vtkThresholdTable.h", "vtkTransferAttributes.h", "vtkTransposeMatrix.h", "vtkTreeDifferenceFilter.h", "vtkTreeFieldAggregator.h", "vtkTreeLevelsFilter.h", "vtkVertexDegree.h", "vtkWordCloud.h", "vtkInfovisCoreModule.h"], "licenses": []}, "VTK::FiltersExtraction": {"library_name": "vtkFiltersExtraction", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Parallel", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::FiltersGeneral"], "optional_depends": ["VTK::ParallelMPI"], "private_depends": ["VTK::CommonDataModel", "VTK::FiltersCore", "VTK::FiltersHyperTree", "VTK::FiltersStatistics", "VTK::ParallelDIY"], "implements": [], "headers": ["vtkBlockSelector.h", "vtkConvertSelection.h", "vtkExpandMarkedElements.h", "vtkExtractBlock.h", "vtkExtractBlockUsingDataAssembly.h", "vtkExtractCellsByType.h", "vtkExtractDataArraysOverTime.h", "vtkExtractDataOverTime.h", "vtkExtractDataSets.h", "vtkExtractExodusGlobalTemporalVariables.h", "vtkExtractGeometry.h", "vtkExtractGrid.h", "vtkExtractLevel.h", "vtkExtractParticlesOverTime.h", "vtkExtractPolyDataGeometry.h", "vtkExtractRectilinearGrid.h", "vtkExtractSelectedArraysOverTime.h", "vtkExtractSelectedBlock.h", "vtkExtractSelectedIds.h", "vtkExtractSelectedLocations.h", "vtkExtractSelectedPolyDataIds.h", "vtkExtractSelectedRows.h", "vtkExtractSelectedThresholds.h", "vtkExtractSelection.h", "vtkExtractTensorComponents.h", "vtkExtractTimeSteps.h", "vtkExtractUnstructuredGrid.h", "vtkExtractVectorComponents.h", "vtkFrustumSelector.h", "vtkHierarchicalDataExtractDataSets.h", "vtkHierarchicalDataExtractLevel.h", "vtkLocationSelector.h", "vtkProbeSelectedLocations.h", "vtkSelector.h", "vtkValueSelector.h", "vtkFiltersExtractionModule.h"], "licenses": []}, "VTK::ParallelDIY": {"library_name": "vtkParallelDIY", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Parallel", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonSystem", "VTK::ParallelCore", "VTK::diy2"], "optional_depends": ["VTK::ParallelMPI"], "private_depends": ["VTK::FiltersGeneral", "VTK::FiltersGeometry", "VTK::IOXML"], "implements": [], "headers": ["vtkDIYDataExchanger.h", "vtkDIYExplicitAssigner.h", "vtkDIYGhostUtilities.h", "vtkDIYUtilities.h", "vtkParallelDIYModule.h"], "licenses": []}, "VTK::diy2": {"library_name": "vtkdiy2", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": ["VTK::mpi"], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::IOXML": {"library_name": "vtkIOXML", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::IOXMLParser"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMisc", "VTK::CommonSystem", "VTK::IOCore", "VTK::vtksys"], "implements": [], "headers": ["vtkRTXMLPolyDataReader.h", "vtkXMLCompositeDataReader.h", "vtkXMLCompositeDataWriter.h", "vtkXMLDataObjectWriter.h", "vtkXMLDataReader.h", "vtkXMLDataSetWriter.h", "vtkXMLFileReadTester.h", "vtkXMLGenericDataObjectReader.h", "vtkXMLHierarchicalBoxDataFileConverter.h", "vtkXMLHierarchicalBoxDataReader.h", "vtkXMLHierarchicalBoxDataWriter.h", "vtkXMLHierarchicalDataReader.h", "vtkXMLHyperTreeGridReader.h", "vtkXMLHyperTreeGridWriter.h", "vtkXMLImageDataReader.h", "vtkXMLImageDataWriter.h", "vtkXMLMultiBlockDataReader.h", "vtkXMLMultiBlockDataWriter.h", "vtkXMLMultiGroupDataReader.h", "vtkXMLPDataObjectReader.h", "vtkXMLPDataReader.h", "vtkXMLPHyperTreeGridReader.h", "vtkXMLPImageDataReader.h", "vtkXMLPPolyDataReader.h", "vtkXMLPRectilinearGridReader.h", "vtkXMLPStructuredDataReader.h", "vtkXMLPStructuredGridReader.h", "vtkXMLPTableReader.h", "vtkXMLPUnstructuredDataReader.h", "vtkXMLPUnstructuredGridReader.h", "vtkXMLPartitionedDataSetCollectionReader.h", "vtkXMLPartitionedDataSetReader.h", "vtkXMLPolyDataReader.h", "vtkXMLPolyDataWriter.h", "vtkXMLReader.h", "vtkXMLRectilinearGridReader.h", "vtkXMLRectilinearGridWriter.h", "vtkXMLStructuredDataReader.h", "vtkXMLStructuredDataWriter.h", "vtkXMLStructuredGridReader.h", "vtkXMLStructuredGridWriter.h", "vtkXMLTableReader.h", "vtkXMLTableWriter.h", "vtkXMLUniformGridAMRReader.h", "vtkXMLUniformGridAMRWriter.h", "vtkXMLUnstructuredDataReader.h", "vtkXMLUnstructuredDataWriter.h", "vtkXMLUnstructuredGridReader.h", "vtkXMLUnstructuredGridWriter.h", "vtkXMLWriter.h", "vtkXMLWriterBase.h", "vtkXMLWriterC.h", "vtkIOXMLModule.h"], "licenses": []}, "VTK::IOXMLParser": {"library_name": "vtkIOXMLParser", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonDataModel"], "optional_depends": [], "private_depends": ["VTK::IOCore", "VTK::expat", "VTK::vtksys"], "implements": [], "headers": ["vtkXMLDataParser.h", "vtkXMLParser.h", "vtkXMLUtilities.h", "vtkIOXMLParserModule.h"], "licenses": []}, "VTK::expat": {"library_name": "vtkexpat", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkexpat/lib/expat.h", "vtkexpat/lib/expat_external.h", "vtkexpat/lib/vtk_expat_mangle.h"], "licenses": []}, "VTK::ParallelCore": {"library_name": "vtkParallelCore", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Parallel", "depends": ["VTK::CommonCore"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonSystem", "VTK::IOLegacy", "VTK::vtksys"], "implements": [], "headers": ["vtkCommunicator.h", "vtkDummyCommunicator.h", "vtkDummyController.h", "vtkFieldDataSerializer.h", "vtkMultiProcessController.h", "vtkMultiProcessStream.h", "vtkPDirectory.h", "vtkProcess.h", "vtkProcessGroup.h", "vtkPSystemTools.h", "vtkSocketCommunicator.h", "vtkSocketController.h", "vtkSubCommunicator.h", "vtkSubGroup.h", "vtkThreadedCallbackQueue.h", "vtkThreadedTaskQueue.h", "vtkParallelCoreModule.h"], "licenses": []}, "VTK::IOLegacy": {"library_name": "vtkIOLegacy", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::IOCore"], "optional_depends": [], "private_depends": ["VTK::CommonMisc", "VTK::vtksys"], "implements": [], "headers": ["vtkCompositeDataReader.h", "vtkCompositeDataWriter.h", "vtkDataObjectReader.h", "vtkDataObjectWriter.h", "vtkDataReader.h", "vtkDataSetReader.h", "vtkDataSetWriter.h", "vtkDataWriter.h", "vtkGenericDataObjectReader.h", "vtkGenericDataObjectWriter.h", "vtkGraphReader.h", "vtkGraphWriter.h", "vtkPixelExtentIO.h", "vtkPolyDataReader.h", "vtkPolyDataWriter.h", "vtkRectilinearGridReader.h", "vtkRectilinearGridWriter.h", "vtkSimplePointsReader.h", "vtkSimplePointsWriter.h", "vtkStructuredGridReader.h", "vtkStructuredGridWriter.h", "vtkStructuredPointsReader.h", "vtkStructuredPointsWriter.h", "vtkTableReader.h", "vtkTableWriter.h", "vtkTreeReader.h", "vtkTreeWriter.h", "vtkUnstructuredGridReader.h", "vtkUnstructuredGridWriter.h", "vtkIOLegacyModule.h"], "licenses": []}, "VTK::IOCore": {"library_name": "vtkIOCore", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMisc", "VTK::doubleconversion", "VTK::lz4", "VTK::lzma", "VTK::utf8", "VTK::vtksys", "VTK::zlib", "VTK::fast_float"], "implements": [], "headers": ["vtkUpdateCellsV8toV9.h", "vtkAbstractParticleWriter.h", "vtkAbstractPolyDataReader.h", "vtkArrayDataReader.h", "vtkArrayDataWriter.h", "vtkArrayReader.h", "vtkArrayWriter.h", "vtkASCIITextCodec.h", "vtkBase64InputStream.h", "vtkBase64OutputStream.h", "vtkBase64Utilities.h", "vtkDataCompressor.h", "vtkDelimitedTextWriter.h", "vtkFileResourceStream.h", "vtkGlobFileNames.h", "vtkInputStream.h", "vtkJavaScriptDataWriter.h", "vtkLZ4DataCompressor.h", "vtkLZMADataCompressor.h", "vtkMemoryResourceStream.h", "vtkNumberToString.h", "vtkOutputStream.h", "vtkResourceParser.h", "vtkResourceStream.h", "vtkSortFileNames.h", "vtkTextCodec.h", "vtkTextCodecFactory.h", "vtkURI.h", "vtkURILoader.h", "vtkUTF16TextCodec.h", "vtkUTF8TextCodec.h", "vtkWriter.h", "vtkZLibDataCompressor.h", "vtkIOCoreModule.h"], "licenses": []}, "VTK::doubleconversion": {"library_name": "vtkdoubleconversion", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkdoubleconversion/double-conversion/bignum.h", "vtkdoubleconversion/double-conversion/cached-powers.h", "vtkdoubleconversion/double-conversion/diy-fp.h", "vtkdoubleconversion/double-conversion/double-conversion.h", "vtkdoubleconversion/double-conversion/fast-dtoa.h", "vtkdoubleconversion/double-conversion/fixed-dtoa.h", "vtkdoubleconversion/double-conversion/ieee.h", "vtkdoubleconversion/double-conversion/strtod.h", "vtkdoubleconversion/double-conversion/utils.h", "vtkdoubleconversion/vtkdoubleconversion_export.h"], "licenses": []}, "VTK::lz4": {"library_name": "vtklz4", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtklz4/lib/lz4.h", "vtklz4/lib/lz4hc.h", "vtklz4/lib/lz4frame.h", "vtklz4/lib/lz4frame_static.h"], "licenses": []}, "VTK::lzma": {"library_name": "vtklzma", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtklzma/src/liblzma/api/lzma.h", "vtklzma/src/liblzma/api/lzma/base.h", "vtklzma/src/liblzma/api/lzma/bcj.h", "vtklzma/src/liblzma/api/lzma/block.h", "vtklzma/src/liblzma/api/lzma/check.h", "vtklzma/src/liblzma/api/lzma/container.h", "vtklzma/src/liblzma/api/lzma/delta.h", "vtklzma/src/liblzma/api/lzma/filter.h", "vtklzma/src/liblzma/api/lzma/hardware.h", "vtklzma/src/liblzma/api/lzma/index.h", "vtklzma/src/liblzma/api/lzma/index_hash.h", "vtklzma/src/liblzma/api/lzma/lzma12.h", "vtklzma/src/liblzma/api/lzma/stream_flags.h", "vtklzma/src/liblzma/api/lzma/version.h", "vtklzma/src/liblzma/api/lzma/vli.h", "vtklzma/src/liblzma/api/vtk_lzma_mangle.h"], "licenses": []}, "VTK::fast_float": {"library_name": "vtkfast_float", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::FiltersStatistics": {"library_name": "vtkFiltersStatistics", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMath", "VTK::CommonMisc", "VTK::eigen", "VTK::FiltersGeneral"], "implements": [], "headers": ["vtkAutoCorrelativeStatistics.h", "vtkBivariateLinearTableThreshold.h", "vtkComputeQuantiles.h", "vtkComputeQuartiles.h", "vtkContingencyStatistics.h", "vtkCorrelativeStatistics.h", "vtkDescriptiveStatistics.h", "vtkExtractFunctionalBagPlot.h", "vtkExtractHistogram.h", "vtkHighestDensityRegionsStatistics.h", "vtkKMeansDistanceFunctor.h", "vtkKMeansDistanceFunctorCalculator.h", "vtkKMeansStatistics.h", "vtkLengthDistribution.h", "vtkMultiCorrelativeStatistics.h", "vtkOrderStatistics.h", "vtkPCAStatistics.h", "vtkStatisticsAlgorithm.h", "vtkStrahlerMetric.h", "vtkStreamingStatistics.h", "vtkFiltersStatisticsModule.h"], "licenses": []}, "VTK::FiltersHyperTree": {"library_name": "vtkFiltersHyperTree", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonMisc", "VTK::FiltersCore", "VTK::FiltersGeneral"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonSystem"], "implements": [], "headers": ["vtkHyperTreeGridAxisClip.h", "vtkHyperTreeGridAxisCut.h", "vtkHyperTreeGridAxisReflection.h", "vtkHyperTreeGridCellCenters.h", "vtkHyperTreeGridContour.h", "vtkHyperTreeGridDepthLimiter.h", "vtkHyperTreeGridEvaluateCoarse.h", "vtkHyperTreeGridGeometry.h", "vtkHyperTreeGridGradient.h", "vtkHyperTreeGridPlaneCutter.h", "vtkHyperTreeGridThreshold.h", "vtkHyperTreeGridToDualGrid.h", "vtkHyperTreeGridToUnstructuredGrid.h", "vtkImageDataToHyperTreeGrid.h", "vtkFiltersHyperTreeModule.h"], "licenses": []}, "VTK::ImagingSources": {"library_name": "vtkImagingSources", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Imaging", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::ImagingCore"], "implements": [], "headers": ["vtkImageCanvasSource2D.h", "vtkImageEllipsoidSource.h", "vtkImageGaussianSource.h", "vtkImageGridSource.h", "vtkImageMandelbrotSource.h", "vtkImageNoiseSource.h", "vtkImageSinusoidSource.h", "vtkImagingSourcesModule.h"], "licenses": []}, "VTK::IOImage": {"library_name": "vtkIOImage", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::IO", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::ImagingCore"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::CommonMath", "VTK::CommonMisc", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::DICOMParser", "VTK::jpeg", "VTK::metaio", "VTK::png", "VTK::pugixml", "VTK::tiff", "VTK::vtksys", "VTK::zlib"], "implements": [], "headers": ["vtkBMPReader.h", "vtkBMPWriter.h", "vtkDEMReader.h", "vtkDICOMImageReader.h", "vtkGESignaReader.h", "vtkHDRReader.h", "vtkImageExport.h", "vtkImageImport.h", "vtkImageImportExecutive.h", "vtkImageReader.h", "vtkImageReader2.h", "vtkImageReader2Collection.h", "vtkImageReader2Factory.h", "vtkImageWriter.h", "vtkJPEGReader.h", "vtkJPEGWriter.h", "vtkJSONImageWriter.h", "vtkMedicalImageProperties.h", "vtkMedicalImageReader2.h", "vtkMetaImageReader.h", "vtkMetaImageWriter.h", "vtkMRCReader.h", "vtkNIFTIImageHeader.h", "vtkNIFTIImageReader.h", "vtkNIFTIImageWriter.h", "vtkNrrdReader.h", "vtkOMETIFFReader.h", "vtkPNGReader.h", "vtkPNGWriter.h", "vtkPNMReader.h", "vtkPNMWriter.h", "vtkPostScriptWriter.h", "vtkSEPReader.h", "vtkSLCReader.h", "vtkTGAReader.h", "vtkTIFFReader.h", "vtkTIFFWriter.h", "vtkVolume16Reader.h", "vtkVolumeReader.h", "vtkIOImageModule.h"], "licenses": []}, "VTK::DICOMParser": {"library_name": "vtkDICOMParser", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::vtksys"], "implements": [], "headers": ["DICOMAppHelper.h", "DICOMCallback.h", "DICOMConfig.h", "DICOMFile.h", "DICOMParser.h", "DICOMParserMap.h", "DICOMTypes.h", "DICOMCMakeConfig.h", "vtkDICOMParserModule.h"], "licenses": []}, "VTK::jpeg": {"library_name": "vtkjpeg", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkjpeg/jerror.h", "vtkjpeg/jmorecfg.h", "vtkjpeg/jpeglib.h", "vtkjpeg/vtk_jpeg_mangle.h", "vtkjpeg/jconfig.h"], "licenses": []}, "VTK::metaio": {"library_name": "vtkmetaio", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": ["VTK::zlib"], "implements": [], "headers": ["vtkmetaio/localMetaConfiguration.h", "vtkmetaio/metaArray.h", "vtkmetaio/metaArrow.h", "vtkmetaio/metaBlob.h", "vtkmetaio/metaCommand.h", "vtkmetaio/metaContour.h", "vtkmetaio/metaDTITube.h", "vtkmetaio/metaEllipse.h", "vtkmetaio/metaEvent.h", "vtkmetaio/metaFEMObject.h", "vtkmetaio/metaForm.h", "vtkmetaio/metaGaussian.h", "vtkmetaio/metaGroup.h", "vtkmetaio/metaImage.h", "vtkmetaio/metaImageTypes.h", "vtkmetaio/metaImageUtils.h", "vtkmetaio/metaLandmark.h", "vtkmetaio/metaLine.h", "vtkmetaio/metaMesh.h", "vtkmetaio/metaObject.h", "vtkmetaio/metaScene.h", "vtkmetaio/metaSurface.h", "vtkmetaio/metaTube.h", "vtkmetaio/metaTransform.h", "vtkmetaio/metaTubeGraph.h", "vtkmetaio/metaTypes.h", "vtkmetaio/metaUtils.h", "vtkmetaio/metaVesselTube.h", "vtkmetaio/metaIOConfig.h"], "licenses": []}, "VTK::tiff": {"library_name": "vtktiff", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": ["VTK::jpeg", "VTK::zlib"], "implements": [], "headers": ["vtktiff/libtiff/tiff.h", "vtktiff/libtiff/tiffio.h", "vtktiff/libtiff/tiffvers.h", "vtktiff/libtiff/vtk_tiff_mangle.h", "vtktiff/libtiff/tiffconf.h"], "licenses": []}, "VTK::RenderingContext2D": {"library_name": "vtkRenderingContext2D", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::Rendering", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::RenderingCore"], "optional_depends": [], "private_depends": ["VTK::CommonMath", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::FiltersGeneral", "VTK::RenderingFreeType"], "implements": [], "headers": ["vtkAbstractContextBufferId.h", "vtkAbstractContextItem.h", "vtkBlockItem.h", "vtkBrush.h", "vtkContext2D.h", "vtkContext3D.h", "vtkContextActor.h", "vtkContextClip.h", "vtkContextDevice2D.h", "vtkContextDevice3D.h", "vtkContextItem.h", "vtkContextKeyEvent.h", "vtkContextMapper2D.h", "vtkContextMouseEvent.h", "vtkContextScene.h", "vtkContextTransform.h", "vtkImageItem.h", "vtkLabeledContourPolyDataItem.h", "vtkMarkerUtilities.h", "vtkPen.h", "vtkPolyDataItem.h", "vtkPropItem.h", "vtkTooltipItem.h", "vtkRenderingContext2DModule.h"], "licenses": []}, "VTK::RenderingFreeType": {"library_name": "vtkRenderingFreeType", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::Rendering", "depends": ["VTK::CommonCore", "VTK::CommonExecutionModel", "VTK::RenderingCore", "VTK::freetype"], "optional_depends": [], "private_depends": ["VTK::CommonDataModel", "VTK::FiltersGeneral", "VTK::utf8"], "implements": ["VTK::RenderingCore"], "headers": ["vtkFreeTypeStringToImage.h", "vtkFreeTypeTools.h", "vtkMathTextFreeTypeTextRenderer.h", "vtkMathTextUtilities.h", "vtkScaledTextActor.h", "vtkTextRendererStringToImage.h", "vtkVectorText.h", "vtkRenderingFreeTypeModule.h"], "licenses": []}, "VTK::freetype": {"library_name": "vtkfreetype", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": ["VTK::kwiml", "VTK::zlib"], "optional_depends": [], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::kwiml": {"library_name": "vtkkwiml", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::RenderingCore": {"library_name": "vtkRenderingCore", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::Rendering", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonMath", "VTK::FiltersCore"], "optional_depends": [], "private_depends": ["VTK::CommonColor", "VTK::CommonComputationalGeometry", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::FiltersGeneral", "VTK::FiltersGeometry", "VTK::FiltersSources", "VTK::vtksys"], "implements": [], "headers": ["vtkGPUInfoListArray.h", "vtkPythagoreanQuadruples.h", "vtkRayCastStructures.h", "vtkRenderingCoreEnums.h", "vtkStateStorage.h", "vtkTDxConfigure.h", "vtkTDxMotionEventInfo.h", "vtkAbstractHyperTreeGridMapper.h", "vtkAbstractMapper.h", "vtkAbstractMapper3D.h", "vtkAbstractPicker.h", "vtkAbstractVolumeMapper.h", "vtkActor.h", "vtkActor2D.h", "vtkActor2DCollection.h", "vtkActorCollection.h", "vtkAssembly.h", "vtkAvatar.h", "vtkBackgroundColorMonitor.h", "vtkBillboardTextActor3D.h", "vtkCamera.h", "vtkCameraActor.h", "vtkCameraInterpolator.h", "vtkCellCenterDepthSort.h", "vtkCellGridMapper.h", "vtkColorTransferFunction.h", "vtkCompositeDataDisplayAttributes.h", "vtkCompositeDataDisplayAttributesLegacy.h", "vtkCompositePolyDataMapper.h", "vtkCompositePolyDataMapperDelegator.h", "vtkCoordinate.h", "vtkCuller.h", "vtkCullerCollection.h", "vtkDataSetMapper.h", "vtkDiscretizableColorTransferFunction.h", "vtkDistanceToCamera.h", "vtkFXAAOptions.h", "vtkFlagpoleLabel.h", "vtkFollower.h", "vtkFrameBufferObjectBase.h", "vtkFrustumCoverageCuller.h", "vtkGPUInfo.h", "vtkGPUInfoList.h", "vtkGenericVertexAttributeMapping.h", "vtkGlyph3DMapper.h", "vtkGraphMapper.h", "vtkGraphToGlyphs.h", "vtkGraphicsFactory.h", "vtkHardwarePicker.h", "vtkHardwareSelector.h", "vtkHardwareWindow.h", "vtkHierarchicalPolyDataMapper.h", "vtkImageActor.h", "vtkImageMapper.h", "vtkImageMapper3D.h", "vtkImageProperty.h", "vtkImageSlice.h", "vtkImageSliceMapper.h", "vtkInteractorEventRecorder.h", "vtkInteractorObserver.h", "vtkLabeledContourMapper.h", "vtkLight.h", "vtkLightActor.h", "vtkLightCollection.h", "vtkLightKit.h", "vtkLogLookupTable.h", "vtkLookupTableWithEnabling.h", "vtkMapArrayValues.h", "vtkMapper.h", "vtkMapper2D.h", "vtkMapperCollection.h", "vtkObserverMediator.h", "vtkPointGaussianMapper.h", "vtkPolyDataMapper.h", "vtkPolyDataMapper2D.h", "vtkProp.h", "vtkProp3D.h", "vtkProp3DCollection.h", "vtkProp3DFollower.h", "vtkPropAssembly.h", "vtkPropCollection.h", "vtkProperty.h", "vtkProperty2D.h", "vtkRenderPass.h", "vtkRenderState.h", "vtkRenderTimerLog.h", "vtkRenderWindow.h", "vtkRenderWindowCollection.h", "vtkRenderWindowInteractor.h", "vtkRenderWindowInteractor3D.h", "vtkRenderer.h", "vtkRendererCollection.h", "vtkRendererDelegate.h", "vtkRendererSource.h", "vtkResizingWindowToImageFilter.h", "vtkSelectVisiblePoints.h", "vtkShaderProperty.h", "vtkSkybox.h", "vtkStereoCompositor.h", "vtkTextActor.h", "vtkTextActor3D.h", "vtkTexture.h", "vtkTexturedActor2D.h", "vtkTransformCoordinateSystems.h", "vtkTransformInterpolator.h", "vtkTupleInterpolator.h", "vtkUniforms.h", "vtkViewDependentErrorMetric.h", "vtkViewport.h", "vtkVisibilitySort.h", "vtkVolume.h", "vtkVolumeCollection.h", "vtkVolumeProperty.h", "vtkWindowLevelLookupTable.h", "vtkWindowToImageFilter.h", "vtkAssemblyNode.h", "vtkAssemblyPath.h", "vtkAssemblyPaths.h", "vtkAreaPicker.h", "vtkPicker.h", "vtkAbstractPropPicker.h", "vtkLODProp3D.h", "vtkPropPicker.h", "vtkPickingManager.h", "vtkWorldPointPicker.h", "vtkCellPicker.h", "vtkPointPicker.h", "vtkRenderedAreaPicker.h", "vtkScenePicker.h", "vtkInteractorStyle.h", "vtkInteractorStyle3D.h", "vtkInteractorStyleSwitchBase.h", "vtkTDxInteractorStyle.h", "vtkTDxInteractorStyleCamera.h", "vtkTDxInteractorStyleSettings.h", "vtkStringToImage.h", "vtkTextMapper.h", "vtkTextProperty.h", "vtkTextPropertyCollection.h", "vtkTextRenderer.h", "vtkAbstractInteractionDevice.h", "vtkAbstractRenderDevice.h", "vtkRenderWidget.h", "vtkRenderingCoreModule.h"], "licenses": []}, "VTK::FiltersSources": {"library_name": "vtkFiltersSources", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonDataModel", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonComputationalGeometry", "VTK::CommonCore", "VTK::CommonTransforms", "VTK::FiltersCore", "VTK::FiltersGeneral"], "implements": [], "headers": ["vtkArcSource.h", "vtkArrowSource.h", "vtkButtonSource.h", "vtkCapsuleSource.h", "vtkCellTypeSource.h", "vtkConeSource.h", "vtkCubeSource.h", "vtkCylinderSource.h", "vtkDiagonalMatrixSource.h", "vtkDiskSource.h", "vtkEllipseArcSource.h", "vtkEllipticalButtonSource.h", "vtkFrustumSource.h", "vtkGlyphSource2D.h", "vtkGraphToPolyData.h", "vtkHandleSource.h", "vtkHyperTreeGridPreConfiguredSource.h", "vtkHyperTreeGridSource.h", "vtkLineSource.h", "vtkOutlineCornerFilter.h", "vtkOutlineCornerSource.h", "vtkOutlineSource.h", "vtkParametricFunctionSource.h", "vtkPartitionedDataSetSource.h", "vtkPartitionedDataSetCollectionSource.h", "vtkPlaneSource.h", "vtkPlatonicSolidSource.h", "vtkPointHandleSource.h", "vtkPointSource.h", "vtkPolyLineSource.h", "vtkPolyPointSource.h", "vtkProgrammableDataObjectSource.h", "vtkProgrammableSource.h", "vtkRandomHyperTreeGridSource.h", "vtkRectangularButtonSource.h", "vtkRegularPolygonSource.h", "vtkSelectionSource.h", "vtkSphereSource.h", "vtkSuperquadricSource.h", "vtkTessellatedBoxSource.h", "vtkTextSource.h", "vtkTexturedSphereSource.h", "vtkUniformHyperTreeGridSource.h", "vtkFiltersSourcesModule.h"], "licenses": []}, "VTK::ImagingCore": {"library_name": "vtkImagingCore", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Imaging", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonMath", "VTK::CommonTransforms"], "implements": [], "headers": ["vtkAbstractImageInterpolator.h", "vtkExtractVOI.h", "vtkGenericImageInterpolator.h", "vtkImageAppendComponents.h", "vtkImageBlend.h", "vtkImageBSplineCoefficients.h", "vtkImageBSplineInternals.h", "vtkImageBSplineInterpolator.h", "vtkImageCacheFilter.h", "vtkImageCast.h", "vtkImageChangeInformation.h", "vtkImageClip.h", "vtkImageConstantPad.h", "vtkImageDataStreamer.h", "vtkImageDecomposeFilter.h", "vtkImageDifference.h", "vtkImageExtractComponents.h", "vtkImageFlip.h", "vtkImageInterpolator.h", "vtkImageIterateFilter.h", "vtkImageMagnify.h", "vtkImageMapToColors.h", "vtkImageMask.h", "vtkImageMirrorPad.h", "vtkImagePadFilter.h", "vtkImagePermute.h", "vtkImagePointDataIterator.h", "vtkImagePointIterator.h", "vtkImageProbeFilter.h", "vtkImageResample.h", "vtkImageResize.h", "vtkImageReslice.h", "vtkImageResliceToColors.h", "vtkImageShiftScale.h", "vtkImageShrink3D.h", "vtkImageSincInterpolator.h", "vtkImageStencilAlgorithm.h", "vtkImageStencilData.h", "vtkImageStencilIterator.h", "vtkImageStencilSource.h", "vtkImageThreshold.h", "vtkImageTranslateExtent.h", "vtkImageWrapPad.h", "vtkRTAnalyticSource.h", "vtkImagingCoreModule.h"], "licenses": []}, "VTK::FiltersGeneral": {"library_name": "vtkFiltersGeneral", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonMisc", "VTK::FiltersCore"], "optional_depends": [], "private_depends": ["VTK::CommonComputationalGeometry", "VTK::CommonMath", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::FiltersGeometry", "VTK::FiltersVerdict", "VTK::fmt"], "implements": [], "headers": ["vtkAnimateModes.h", "vtkAnnotationLink.h", "vtkAppendLocationAttributes.h", "vtkAppendPoints.h", "vtkApproximatingSubdivisionFilter.h", "vtkAreaContourSpectrumFilter.h", "vtkAxes.h", "vtkBlankStructuredGrid.h", "vtkBlankStructuredGridWithImage.h", "vtkBlockIdScalars.h", "vtkBooleanOperationPolyDataFilter.h", "vtkBoxClipDataSet.h", "vtkBrownianPoints.h", "vtkCellDerivatives.h", "vtkCellValidator.h", "vtkCleanUnstructuredGrid.h", "vtkCleanUnstructuredGridCells.h", "vtkClipClosedSurface.h", "vtkClipConvexPolyData.h", "vtkClipDataSet.h", "vtkClipVolume.h", "vtkCoincidentPoints.h", "vtkContourTriangulator.h", "vtkCountFaces.h", "vtkCountVertices.h", "vtkCursor2D.h", "vtkCursor3D.h", "vtkCurvatures.h", "vtkDataSetGradient.h", "vtkDataSetGradientPrecompute.h", "vtkDataSetTriangleFilter.h", "vtkDateToNumeric.h", "vtkDeflectNormals.h", "vtkDeformPointSet.h", "vtkDensifyPolyData.h", "vtkDicer.h", "vtkDiscreteFlyingEdges2D.h", "vtkDiscreteFlyingEdges3D.h", "vtkDiscreteFlyingEdgesClipper2D.h", "vtkDiscreteMarchingCubes.h", "vtkDistancePolyDataFilter.h", "vtkEdgePoints.h", "vtkEqualizerFilter.h", "vtkExtractArray.h", "vtkExtractGhostCells.h", "vtkExtractSelectedFrustum.h", "vtkExtractSelectionBase.h", "vtkFiniteElementFieldDistributor.h", "vtkGradientFilter.h", "vtkGraphLayoutFilter.h", "vtkGraphToPoints.h", "vtkGraphWeightEuclideanDistanceFilter.h", "vtkGraphWeightFilter.h", "vtkGroupDataSetsFilter.h", "vtkGroupTimeStepsFilter.h", "vtkHierarchicalDataLevelFilter.h", "vtkHyperStreamline.h", "vtkIconGlyphFilter.h", "vtkImageDataToPointSet.h", "vtkImageMarchingCubes.h", "vtkInterpolateDataSetAttributes.h", "vtkInterpolatingSubdivisionFilter.h", "vtkIntersectionPolyDataFilter.h", "vtkJoinTables.h", "vtkLevelIdScalars.h", "vtkLinkEdgels.h", "vtkLoopBooleanPolyDataFilter.h", "vtkMarchingContourFilter.h", "vtkMatricizeArray.h", "vtkMergeArrays.h", "vtkMergeCells.h", "vtkMergeTimeFilter.h", "vtkMergeVectorComponents.h", "vtkMultiBlockDataGroupFilter.h", "vtkMultiBlockMergeFilter.h", "vtkMultiThreshold.h", "vtkNormalizeMatrixVectors.h", "vtkOBBDicer.h", "vtkOBBTree.h", "vtkOverlappingAMRLevelIdScalars.h", "vtkPassArrays.h", "vtkPassSelectedArrays.h", "vtkPointConnectivityFilter.h", "vtkPolyDataStreamer.h", "vtkPolyDataToReebGraphFilter.h", "vtkProbePolyhedron.h", "vtkQuadraturePointInterpolator.h", "vtkQuadraturePointsGenerator.h", "vtkQuadratureSchemeDictionaryGenerator.h", "vtkQuantizePolyDataPoints.h", "vtkRandomAttributeGenerator.h", "vtkRectilinearGridClip.h", "vtkRectilinearGridToPointSet.h", "vtkRectilinearGridToTetrahedra.h", "vtkRecursiveDividingCubes.h", "vtkReflectionFilter.h", "vtkRemovePolyData.h", "vtkRotationFilter.h", "vtkSampleImplicitFunctionFilter.h", "vtkShrinkFilter.h", "vtkShrinkPolyData.h", "vtkSpatialRepresentationFilter.h", "vtkSphericalHarmonics.h", "vtkSplineFilter.h", "vtkSplitByCellScalarFilter.h", "vtkSplitColumnComponents.h", "vtkSplitField.h", "vtkStructuredGridClip.h", "vtkSubPixelPositionEdgels.h", "vtkSubdivisionFilter.h", "vtkSynchronizeTimeFilter.h", "vtkTableBasedClipDataSet.h", "vtkTableFFT.h", "vtkTableToPolyData.h", "vtkTableToStructuredGrid.h", "vtkTemporalPathLineFilter.h", "vtkTemporalStatistics.h", "vtkTessellatorFilter.h", "vtkTimeSourceExample.h", "vtkTransformFilter.h", "vtkTransformPolyDataFilter.h", "vtkUncertaintyTubeFilter.h", "vtkVertexGlyphFilter.h", "vtkVolumeContourSpectrumFilter.h", "vtkVoxelContoursToSurfaceFilter.h", "vtkWarpLens.h", "vtkWarpScalar.h", "vtkWarpTo.h", "vtkWarpVector.h", "vtkYoungsMaterialInterface.h", "vtkFiltersGeneralModule.h"], "licenses": []}, "VTK::FiltersVerdict": {"library_name": "vtkFiltersVerdict", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::FiltersCore", "VTK::FiltersGeometry", "VTK::verdict"], "implements": [], "headers": ["vtkBoundaryMeshQuality.h", "vtkCellQuality.h", "vtkCellSizeFilter.h", "vtkMatrixMathFilter.h", "vtkMeshQuality.h", "vtkFiltersVerdictModule.h"], "licenses": []}, "VTK::verdict": {"library_name": "vtkverdict", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkverdict/verdict.h", "vtkverdict/VerdictVector.hpp", "vtkverdict/verdict_defines.hpp"], "licenses": []}, "VTK::FiltersGeometry": {"library_name": "vtkFiltersGeometry", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel"], "optional_depends": [], "private_depends": ["VTK::FiltersCore", "VTK::vtksys"], "implements": [], "headers": ["vtkAbstractGridConnectivity.h", "vtkAttributeSmoothingFilter.h", "vtkCompositeDataGeometryFilter.h", "vtkDataSetRegionSurfaceFilter.h", "vtkDataSetSurfaceFilter.h", "vtkExplicitStructuredGridSurfaceFilter.h", "vtkGeometryFilter.h", "vtkHierarchicalDataSetGeometryFilter.h", "vtkImageDataGeometryFilter.h", "vtkImageDataToUniformGrid.h", "vtkLinearToQuadraticCellsFilter.h", "vtkMarkBoundaryFilter.h", "vtkProjectSphereFilter.h", "vtkRecoverGeometryWireframe.h", "vtkRectilinearGridGeometryFilter.h", "vtkRectilinearGridPartitioner.h", "vtkStructuredAMRGridConnectivity.h", "vtkStructuredAMRNeighbor.h", "vtkStructuredGridConnectivity.h", "vtkStructuredGridGeometryFilter.h", "vtkStructuredGridPartitioner.h", "vtkStructuredNeighbor.h", "vtkStructuredPointsGeometryFilter.h", "vtkUnstructuredGridGeometryFilter.h", "vtkFiltersGeometryModule.h"], "licenses": []}, "VTK::CommonComputationalGeometry": {"library_name": "vtkCommonComputationalGeometry", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Common", "depends": ["VTK::CommonCore", "VTK::CommonDataModel"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkBilinearQuadIntersection.h", "vtkCardinalSpline.h", "vtkKochanekSpline.h", "vtkParametricBohemianDome.h", "vtkParametricBour.h", "vtkParametricBoy.h", "vtkParametricCatalanMinimal.h", "vtkParametricConicSpiral.h", "vtkParametricCrossCap.h", "vtkParametricDini.h", "vtkParametricEllipsoid.h", "vtkParametricEnneper.h", "vtkParametricFigure8Klein.h", "vtkParametricFunction.h", "vtkParametricHenneberg.h", "vtkParametricKlein.h", "vtkParametricKuen.h", "vtkParametricMobius.h", "vtkParametricPluckerConoid.h", "vtkParametricPseudosphere.h", "vtkParametricRandomHills.h", "vtkParametricRoman.h", "vtkParametricSpline.h", "vtkParametricSuperEllipsoid.h", "vtkParametricSuperToroid.h", "vtkParametricTorus.h", "vtkCommonComputationalGeometryModule.h"], "licenses": []}, "VTK::FiltersCore": {"library_name": "vtkFiltersCore", "description": "", "enabled": true, "implementable": true, "third_party": false, "wrap_exclude": false, "kit": "VTK::Filters", "depends": ["VTK::CommonCore", "VTK::CommonDataModel", "VTK::CommonExecutionModel", "VTK::CommonMisc"], "optional_depends": [], "private_depends": ["VTK::CommonMath", "VTK::CommonSystem", "VTK::CommonTransforms", "VTK::vtksys"], "implements": [], "headers": ["vtk3DLinearGridCrinkleExtractor.h", "vtk3DLinearGridPlaneCutter.h", "vtkAppendArcLength.h", "vtkAppendCompositeDataLeaves.h", "vtkAppendDataSets.h", "vtkAppendFilter.h", "vtkAppendPolyData.h", "vtkAppendSelection.h", "vtkArrayCalculator.h", "vtkArrayRename.h", "vtkAssignAttribute.h", "vtkAttributeDataToFieldDataFilter.h", "vtkAttributeDataToTableFilter.h", "vtkBinCellDataFilter.h", "vtkBinnedDecimation.h", "vtkCellCenters.h", "vtkCellDataToPointData.h", "vtkCenterOfMass.h", "vtkCleanPolyData.h", "vtkClipPolyData.h", "vtkCompositeCutter.h", "vtkCompositeDataProbeFilter.h", "vtkConnectivityFilter.h", "vtkConstrainedSmoothingFilter.h", "vtkContour3DLinearGrid.h", "vtkContourFilter.h", "vtkContourGrid.h", "vtkContourHelper.h", "vtkConvertToMultiBlockDataSet.h", "vtkConvertToPartitionedDataSetCollection.h", "vtkConvertToPolyhedra.h", "vtkCutter.h", "vtkDataObjectGenerator.h", "vtkDataObjectToDataSetFilter.h", "vtkDataSetEdgeSubdivisionCriterion.h", "vtkDataSetToDataObjectFilter.h", "vtkDecimatePolylineFilter.h", "vtkDecimatePro.h", "vtkDelaunay2D.h", "vtkDelaunay3D.h", "vtkEdgeSubdivisionCriterion.h", "vtkElevationFilter.h", "vtkExecutionTimer.h", "vtkExplicitStructuredGridCrop.h", "vtkExplicitStructuredGridToUnstructuredGrid.h", "vtkExtractCells.h", "vtkExtractCellsAlongPolyLine.h", "vtkExtractEdges.h", "vtkFeatureEdges.h", "vtkFieldDataToAttributeDataFilter.h", "vtkFieldDataToDataSetAttribute.h", "vtkFlyingEdges2D.h", "vtkFlyingEdges3D.h", "vtkFlyingEdgesPlaneCutter.h", "vtkGlyph2D.h", "vtkGlyph3D.h", "vtkGridSynchronizedTemplates3D.h", "vtkHedgeHog.h", "vtkHull.h", "vtkHyperTreeGridProbeFilter.h", "vtkIdFilter.h", "vtkImageAppend.h", "vtkImageDataToExplicitStructuredGrid.h", "vtkImplicitPolyDataDistance.h", "vtkImplicitProjectOnPlaneDistance.h", "vtkMarchingCubes.h", "vtkMarchingSquares.h", "vtkMaskFields.h", "vtkMaskPoints.h", "vtkMaskPolyData.h", "vtkMassProperties.h", "vtkMergeDataObjectFilter.h", "vtkMergeFields.h", "vtkMergeFilter.h", "vtkMoleculeAppend.h", "vtkMultiObjectMassProperties.h", "vtkPackLabels.h", "vtkPassThrough.h", "vtkPlaneCutter.h", "vtkPointDataToCellData.h", "vtkPolyDataConnectivityFilter.h", "vtkPolyDataEdgeConnectivityFilter.h", "vtkPolyDataNormals.h", "vtkPolyDataPlaneClipper.h", "vtkPolyDataPlaneCutter.h", "vtkPolyDataTangents.h", "vtkPolyDataToUnstructuredGrid.h", "vtkProbeFilter.h", "vtkQuadricClustering.h", "vtkQuadricDecimation.h", "vtkRearrangeFields.h", "vtkRectilinearSynchronizedTemplates.h", "vtkRemoveDuplicatePolys.h", "vtkRemoveUnusedPoints.h", "vtkResampleToImage.h", "vtkResampleWithDataSet.h", "vtkReverseSense.h", "vtkSimpleElevationFilter.h", "vtkSmoothPolyDataFilter.h", "vtkSphereTreeFilter.h", "vtkStructuredDataPlaneCutter.h", "vtkStaticCleanPolyData.h", "vtkStaticCleanUnstructuredGrid.h", "vtkStreamerBase.h", "vtkStreamingTessellator.h", "vtkStripper.h", "vtkStructuredGridAppend.h", "vtkStructuredGridOutlineFilter.h", "vtkSurfaceNets2D.h", "vtkSurfaceNets3D.h", "vtkSynchronizedTemplates2D.h", "vtkSynchronizedTemplates3D.h", "vtkSynchronizedTemplatesCutter3D.h", "vtkTensorGlyph.h", "vtkThreshold.h", "vtkThresholdPoints.h", "vtkTransposeTable.h", "vtkTriangleFilter.h", "vtkTriangleMeshPointNormals.h", "vtkTubeBender.h", "vtkTubeFilter.h", "vtkUnstructuredGridQuadricDecimation.h", "vtkUnstructuredGridToExplicitStructuredGrid.h", "vtkVectorDot.h", "vtkVectorNorm.h", "vtkVoronoi2D.h", "vtkWindowedSincPolyDataFilter.h", "vtkFiltersCoreModule.h"], "licenses": []}, "VTK::CommonExecutionModel": {"library_name": "vtkCommonExecutionModel", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Common", "depends": ["VTK::CommonCore", "VTK::CommonDataModel"], "optional_depends": [], "private_depends": ["VTK::CommonMisc", "VTK::CommonSystem"], "implements": [], "headers": ["vtkAlgorithm.h", "vtkAlgorithmOutput.h", "vtkAnnotationLayersAlgorithm.h", "vtkArrayDataAlgorithm.h", "vtkCachedStreamingDemandDrivenPipeline.h", "vtkCastToConcrete.h", "vtkCellGridAlgorithm.h", "vtkCompositeDataPipeline.h", "vtkCompositeDataSetAlgorithm.h", "vtkDataObjectAlgorithm.h", "vtkDataSetAlgorithm.h", "vtkDemandDrivenPipeline.h", "vtkDirectedGraphAlgorithm.h", "vtkEnsembleSource.h", "vtkExecutive.h", "vtkExplicitStructuredGridAlgorithm.h", "vtkExtentRCBPartitioner.h", "vtkExtentSplitter.h", "vtkExtentTranslator.h", "vtkFilteringInformationKeyManager.h", "vtkGraphAlgorithm.h", "vtkHierarchicalBoxDataSetAlgorithm.h", "vtkHyperTreeGridAlgorithm.h", "vtkImageAlgorithm.h", "vtkImageInPlaceFilter.h", "vtkImageProgressIterator.h", "vtkImageToStructuredGrid.h", "vtkImageToStructuredPoints.h", "vtkInformationDataObjectMetaDataKey.h", "vtkInformationExecutivePortKey.h", "vtkInformationExecutivePortVectorKey.h", "vtkInformationIntegerRequestKey.h", "vtkMoleculeAlgorithm.h", "vtkMultiBlockDataSetAlgorithm.h", "vtkMultiTimeStepAlgorithm.h", "vtkParallelReader.h", "vtkPartitionedDataSetAlgorithm.h", "vtkPartitionedDataSetCollectionAlgorithm.h", "vtkPassInputTypeAlgorithm.h", "vtkPiecewiseFunctionAlgorithm.h", "vtkPiecewiseFunctionShiftScale.h", "vtkPointSetAlgorithm.h", "vtkPolyDataAlgorithm.h", "vtkProgressObserver.h", "vtkReaderAlgorithm.h", "vtkRectilinearGridAlgorithm.h", "vtkSMPProgressObserver.h", "vtkScalarTree.h", "vtkSelectionAlgorithm.h", "vtkSimpleImageToImageFilter.h", "vtkSimpleReader.h", "vtkSimpleScalarTree.h", "vtkSpanSpace.h", "vtkSphereTree.h", "vtkStreamingDemandDrivenPipeline.h", "vtkStructuredGridAlgorithm.h", "vtkTableAlgorithm.h", "vtkThreadedCompositeDataPipeline.h", "vtkThreadedImageAlgorithm.h", "vtkTreeAlgorithm.h", "vtkTrivialConsumer.h", "vtkTrivialProducer.h", "vtkUndirectedGraphAlgorithm.h", "vtkUniformGridPartitioner.h", "vtkUnstructuredGridAlgorithm.h", "vtkUnstructuredGridBaseAlgorithm.h", "vtkNonOverlappingAMRAlgorithm.h", "vtkOverlappingAMRAlgorithm.h", "vtkUniformGridAMRAlgorithm.h", "vtkCommonExecutionModelModule.h"], "licenses": []}, "VTK::CommonDataModel": {"library_name": "vtkCommonDataModel", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Common", "depends": ["VTK::CommonCore", "VTK::CommonMath", "VTK::CommonTransforms"], "optional_depends": [], "private_depends": ["VTK::CommonMisc", "VTK::CommonSystem", "VTK::pugixml", "VTK::vtksys"], "implements": [], "headers": ["vtkCellGridQuery.h", "vtkCellGridResponder.h", "vtkCellGridResponderBase.h", "vtkCellType.h", "vtkColor.h", "vtkDataAssemblyVisitor.h", "vtkDataObjectTreeInternals.h", "vtkHyperTreeGridScales.h", "vtkHyperTreeGridTools.h", "vtkIntersectionCounter.h", "vtkLabelMapLookup.h", "vtkRect.h", "vtkVector.h", "vtkVectorOperators.h", "vtkAMRBox.h", "vtkAMRUtilities.h", "vtkAbstractCellLinks.h", "vtkAbstractCellLocator.h", "vtkAbstractElectronicData.h", "vtkAbstractPointLocator.h", "vtkAdjacentVertexIterator.h", "vtkAnimationScene.h", "vtkAnnotation.h", "vtkAnnotationLayers.h", "vtkArrayData.h", "vtkAtom.h", "vtkAttributesErrorMetric.h", "vtkBSPCuts.h", "vtkBSPIntersections.h", "vtkBezierCurve.h", "vtkBezierHexahedron.h", "vtkBezierInterpolation.h", "vtkBezierQuadrilateral.h", "vtkBezierTetra.h", "vtkBezierTriangle.h", "vtkBezierWedge.h", "vtkBiQuadraticQuad.h", "vtkBiQuadraticQuadraticHexahedron.h", "vtkBiQuadraticQuadraticWedge.h", "vtkBiQuadraticTriangle.h", "vtkBond.h", "vtkBoundingBox.h", "vtkBox.h", "vtkCell.h", "vtkCell3D.h", "vtkCellArray.h", "vtkCellArrayIterator.h", "vtkCellAttribute.h", "vtkCellData.h", "vtkCellGrid.h", "vtkCellGridBoundsQuery.h", "vtkCellGridResponders.h", "vtkCellGridSidesQuery.h", "vtkCellIterator.h", "vtkCellLinks.h", "vtkCellLocator.h", "vtkCellLocatorStrategy.h", "vtkCellMetadata.h", "vtkCellTreeLocator.h", "vtkCellTypes.h", "vtkClosestNPointsStrategy.h", "vtkClosestPointStrategy.h", "vtkCompositeDataIterator.h", "vtkCompositeDataSet.h", "vtkCone.h", "vtkConvexPointSet.h", "vtkCoordinateFrame.h", "vtkCubicLine.h", "vtkCylinder.h", "vtkDataAssembly.h", "vtkDataAssemblyUtilities.h", "vtkDataObject.h", "vtkDataObjectCollection.h", "vtkDataObjectTree.h", "vtkDataObjectTreeIterator.h", "vtkDataObjectTypes.h", "vtkDataSet.h", "vtkDataSetAttributes.h", "vtkDataSetAttributesFieldList.h", "vtkDataSetCellIterator.h", "vtkDataSetCollection.h", "vtkDirectedAcyclicGraph.h", "vtkDirectedGraph.h", "vtkDistributedGraphHelper.h", "vtkEdgeListIterator.h", "vtkEdgeTable.h", "vtkEmptyCell.h", "vtkExplicitStructuredGrid.h", "vtkExtractStructuredGridHelper.h", "vtkFieldData.h", "vtkFindCellStrategy.h", "vtkGenericAdaptorCell.h", "vtkGenericAttribute.h", "vtkGenericAttributeCollection.h", "vtkGenericCell.h", "vtkGenericCellIterator.h", "vtkGenericCellTessellator.h", "vtkGenericDataSet.h", "vtkGenericEdgeTable.h", "vtkGenericInterpolatedVelocityField.h", "vtkGenericPointIterator.h", "vtkGenericSubdivisionErrorMetric.h", "vtkGeometricErrorMetric.h", "vtkGraph.h", "vtkGraphEdge.h", "vtkGraphInternals.h", "vtkHexagonalPrism.h", "vtkHexahedron.h", "vtkHierarchicalBoxDataIterator.h", "vtkHierarchicalBoxDataSet.h", "vtkHigherOrderCurve.h", "vtkHigherOrderHexahedron.h", "vtkHigherOrderInterpolation.h", "vtkHigherOrderQuadrilateral.h", "vtkHigherOrderTetra.h", "vtkHigherOrderTriangle.h", "vtkHigherOrderWedge.h", "vtkHyperTree.h", "vtkHyperTreeCursor.h", "vtkHyperTreeGrid.h", "vtkHyperTreeGridLocator.h", "vtkHyperTreeGridGeometricLocator.h", "vtkHyperTreeGridNonOrientedCursor.h", "vtkHyperTreeGridNonOrientedGeometryCursor.h", "vtkHyperTreeGridNonOrientedUnlimitedGeometryCursor.h", "vtkHyperTreeGridNonOrientedMooreSuperCursor.h", "vtkHyperTreeGridNonOrientedMooreSuperCursorLight.h", "vtkHyperTreeGridNonOrientedUnlimitedMooreSuperCursor.h", "vtkHyperTreeGridNonOrientedSuperCursor.h", "vtkHyperTreeGridNonOrientedSuperCursorLight.h", "vtkHyperTreeGridNonOrientedUnlimitedSuperCursor.h", "vtkHyperTreeGridNonOrientedVonNeumannSuperCursor.h", "vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight.h", "vtkHyperTreeGridOrientedCursor.h", "vtkHyperTreeGridOrientedGeometryCursor.h", "vtkImageData.h", "vtkImageIterator.h", "vtkImageTransform.h", "vtkImplicitBoolean.h", "vtkImplicitDataSet.h", "vtkImplicitFunction.h", "vtkImplicitFunctionCollection.h", "vtkImplicitHalo.h", "vtkImplicitSelectionLoop.h", "vtkImplicitSum.h", "vtkImplicitVolume.h", "vtkImplicitWindowFunction.h", "vtkInEdgeIterator.h", "vtkIncrementalOctreeNode.h", "vtkIncrementalOctreePointLocator.h", "vtkIncrementalPointLocator.h", "vtkInformationQuadratureSchemeDefinitionVectorKey.h", "vtkIterativeClosestPointTransform.h", "vtkKdNode.h", "vtkKdTree.h", "vtkKdTreePointLocator.h", "vtkLagrangeCurve.h", "vtkLagrangeHexahedron.h", "vtkLagrangeInterpolation.h", "vtkLagrangeQuadrilateral.h", "vtkLagrangeTetra.h", "vtkLagrangeTriangle.h", "vtkLagrangeWedge.h", "vtkLine.h", "vtkLocator.h", "vtkMarchingCubesTriangleCases.h", "vtkMarchingCubesPolygonCases.h", "vtkMarchingSquaresLineCases.h", "vtkMeanValueCoordinatesInterpolator.h", "vtkMergePoints.h", "vtkMolecule.h", "vtkMultiBlockDataSet.h", "vtkMultiPieceDataSet.h", "vtkMutableDirectedGraph.h", "vtkMutableUndirectedGraph.h", "vtkNonLinearCell.h", "vtkNonMergingPointLocator.h", "vtkOctreePointLocator.h", "vtkOctreePointLocatorNode.h", "vtkOrderedTriangulator.h", "vtkOutEdgeIterator.h", "vtkPartitionedDataSet.h", "vtkPartitionedDataSetCollection.h", "vtkPath.h", "vtkPentagonalPrism.h", "vtkPerlinNoise.h", "vtkPiecewiseFunction.h", "vtkPixel.h", "vtkPixelExtent.h", "vtkPixelTransfer.h", "vtkPlane.h", "vtkPlaneCollection.h", "vtkPlanes.h", "vtkPlanesIntersection.h", "vtkPointData.h", "vtkPointLocator.h", "vtkPointSet.h", "vtkPointSetCellIterator.h", "vtkPointsProjectedHull.h", "vtkPolyData.h", "vtkPolyDataCollection.h", "vtkPolyLine.h", "vtkPolyPlane.h", "vtkPolyVertex.h", "vtkPolygon.h", "vtkPolyhedron.h", "vtkPolyhedronUtilities.h", "vtkPyramid.h", "vtkQuad.h", "vtkQuadraticEdge.h", "vtkQuadraticHexahedron.h", "vtkQuadraticLinearQuad.h", "vtkQuadraticLinearWedge.h", "vtkQuadraticPolygon.h", "vtkQuadraticPyramid.h", "vtkQuadraticQuad.h", "vtkQuadraticTetra.h", "vtkQuadraticTriangle.h", "vtkQuadraticWedge.h", "vtkQuadratureSchemeDefinition.h", "vtkQuadric.h", "vtkRectilinearGrid.h", "vtkReebGraph.h", "vtkReebGraphSimplificationMetric.h", "vtkSelection.h", "vtkSelectionNode.h", "vtkSimpleCellTessellator.h", "vtkSmoothErrorMetric.h", "vtkSortFieldData.h", "vtkSphere.h", "vtkSpheres.h", "vtkSphericalPointIterator.h", "vtkSpline.h", "vtkStaticCellLinks.h", "vtkStaticCellLocator.h", "vtkStaticPointLocator.h", "vtkStaticPointLocator2D.h", "vtkStructuredData.h", "vtkStructuredExtent.h", "vtkStructuredGrid.h", "vtkStructuredPoints.h", "vtkStructuredPointsCollection.h", "vtkSuperquadric.h", "vtkTable.h", "vtkTetra.h", "vtkTree.h", "vtkTreeBFSIterator.h", "vtkTreeDFSIterator.h", "vtkTreeIterator.h", "vtkTriQuadraticHexahedron.h", "vtkTriQuadraticPyramid.h", "vtkTriangle.h", "vtkTriangleStrip.h", "vtkUndirectedGraph.h", "vtkUniformGrid.h", "vtkUniformHyperTreeGrid.h", "vtkUnstructuredGrid.h", "vtkUnstructuredGridBase.h", "vtkUnstructuredGridCellIterator.h", "vtkVertex.h", "vtkVertexListIterator.h", "vtkVoxel.h", "vtkWedge.h", "vtkXMLDataElement.h", "vtkAMRDataInternals.h", "vtkAMRInformation.h", "vtkNonOverlappingAMR.h", "vtkOverlappingAMR.h", "vtkUniformGridAMR.h", "vtkUniformGridAMRDataIterator.h", "vtkAngularPeriodicDataArray.h", "vtkArrayListTemplate.h", "vtkMappedUnstructuredGrid.h", "vtkMappedUnstructuredGridCellIterator.h", "vtkPeriodicDataArray.h", "vtkStaticCellLinksTemplate.h", "vtkStaticEdgeLocatorTemplate.h", "vtkStaticFaceHashLinksTemplate.h", "vtkCommonDataModelModule.h"], "licenses": []}, "VTK::CommonSystem": {"library_name": "vtkCommonSystem", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Common", "depends": ["VTK::CommonCore"], "optional_depends": [], "private_depends": ["VTK::vtksys"], "implements": [], "headers": ["vtkClientSocket.h", "vtkDirectory.h", "vtkExecutableRunner.h", "vtkServerSocket.h", "vtkSocket.h", "vtkSocketCollection.h", "vtkTimerLog.h", "vtkCommonSystemModule.h"], "licenses": []}, "VTK::CommonMisc": {"library_name": "vtkCommonMisc", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Common", "depends": ["VTK::CommonCore", "VTK::CommonMath"], "optional_depends": [], "private_depends": ["VTK::vtksys", "VTK::exprtk"], "implements": [], "headers": ["vtkContourValues.h", "vtkErrorCode.h", "vtkExprTkFunctionParser.h", "vtkFunctionParser.h", "vtkHeap.h", "vtkPolygonBuilder.h", "vtkResourceFileLocator.h", "vtkCommonMiscModule.h"], "licenses": []}, "VTK::exprtk": {"library_name": "vtkexprtk", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": [], "licenses": []}, "VTK::CommonTransforms": {"library_name": "vtkCommonTransforms", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Common", "depends": ["VTK::CommonCore", "VTK::CommonMath"], "optional_depends": [], "private_depends": ["VTK::vtksys"], "implements": [], "headers": ["vtkAbstractTransform.h", "vtkCylindricalTransform.h", "vtkGeneralTransform.h", "vtkHomogeneousTransform.h", "vtkIdentityTransform.h", "vtkLandmarkTransform.h", "vtkLinearTransform.h", "vtkMatrixToHomogeneousTransform.h", "vtkMatrixToLinearTransform.h", "vtkPerspectiveTransform.h", "vtkSphericalTransform.h", "vtkThinPlateSplineTransform.h", "vtkTransform.h", "vtkTransform2D.h", "vtkTransformCollection.h", "vtkWarpTransform.h", "vtkCommonTransformsModule.h"], "licenses": []}, "VTK::CommonMath": {"library_name": "vtkCommonMath", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Common", "depends": ["VTK::CommonCore", "VTK::kissfft"], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkTuple.h", "vtkAmoebaMinimizer.h", "vtkFFT.h", "vtkFunctionSet.h", "vtkInitialValueProblemSolver.h", "vtkMatrix3x3.h", "vtkMatrix4x4.h", "vtkPolynomialSolversUnivariate.h", "vtkQuaternionInterpolator.h", "vtkRungeKutta2.h", "vtkRungeKutta4.h", "vtkRungeKutta45.h", "vtkQuaternion.h", "vtkCommonMathModule.h"], "licenses": []}, "VTK::kissfft": {"library_name": "vtkkissfft", "description": "", "enabled": true, "implementable": false, "third_party": true, "wrap_exclude": false, "kit": null, "depends": [], "optional_depends": [], "private_depends": [], "implements": [], "headers": ["vtkkissfft/kiss_fft_exports.h", "vtkkissfft/_kiss_fft_guts.h", "vtkkissfft/kiss_fft.h", "vtkkissfft/tools/kfc.h", "vtkkissfft/tools/kiss_fftnd.h", "vtkkissfft/tools/kiss_fftndr.h", "vtkkissfft/tools/kiss_fftr.h", "vtkkissfft/tools/vtkkissfft_fftnd.h", "vtkkissfft/tools/vtkkissfft_fftndr.h", "vtkkissfft/tools/vtkkissfft_fftr.h", "vtkkissfft/vtkkissfft_fft.h", "vtkkissfft/vtk_kiss_fft_mangle.h"], "licenses": []}, "VTK::CommonCore": {"library_name": "vtkCommonCore", "description": "", "enabled": true, "implementable": false, "third_party": false, "wrap_exclude": false, "kit": "VTK::Common", "depends": ["VTK::kwiml", "VTK::vtksys"], "optional_depends": ["VTK::loguru"], "private_depends": ["VTK::utf8", "VTK::fast_float"], "implements": [], "headers": ["vtkABI.h", "vtkArrayIteratorIncludes.h", "vtkAssume.h", "vtkAutoInit.h", "vtkBuffer.h", "vtkCompiler.h", "vtkDataArrayIteratorMacro.h", "vtkDataArrayMeta.h", "vtkDataArrayRange.h", "vtkDeprecation.h", "vtkEventData.h", "vtkGenericDataArrayLookupHelper.h", "vtkIOStream.h", "vtkIOStreamFwd.h", "vtkInformationInternals.h", "vtkMathUtilities.h", "vtkMatrixUtilities.h", "vtkMeta.h", "vtkNew.h", "vtkRange.h", "vtkRangeIterableTraits.h", "vtkSetGet.h", "vtkSmartPointer.h", "vtkSystemIncludes.h", "vtkTemplateAliasMacro.h", "vtkTestDataArray.h", "vtkType.h", "vtkTypeTraits.h", "vtkTypedDataArrayIterator.h", "vtkValueFromString.h", "vtkVariantCast.h", "vtkVariantCreate.h", "vtkVariantExtract.h", "vtkVariantInlineOperators.h", "vtkWeakPointer.h", "vtkWin32Header.h", "vtkWindows.h", "vtkWrappingHints.h", "vtkSMPTools.h", "vtkSMPThreadLocal.h", "vtkSMPThreadLocalObject.h", "vtkABINamespace.h", "vtkArrayDispatchArrayList.h", "vtkMathConfigure.h", "vtkTypeListMacros.h", "vtkVTK_USE_SCALED_SOA_ARRAYS.h", "vtkBuild.h", "vtkDebug.h", "vtkDebugRangeIterators.h", "vtkEndian.h", "vtkFeatures.h", "vtkLegacy.h", "vtkOptions.h", "vtkPlatform.h", "vtkSMP.h", "vtkThreads.h", "vtkVersionFull.h", "vtkVersionMacros.h", "vtkTypeInt8Array.h", "vtkTypeInt16Array.h", "vtkTypeInt32Array.h", "vtkTypeInt64Array.h", "vtkTypeUInt8Array.h", "vtkTypeUInt16Array.h", "vtkTypeUInt32Array.h", "vtkTypeUInt64Array.h", "vtkTypeFloat32Array.h", "vtkTypeFloat64Array.h", "vtkCxxABIConfigure.h", "vtkAbstractArray.h", "vtkAnimationCue.h", "vtkArchiver.h", "vtkArray.h", "vtkArrayCoordinates.h", "vtkArrayExtents.h", "vtkArrayExtentsList.h", "vtkArrayIterator.h", "vtkArrayRange.h", "vtkArraySort.h", "vtkArrayWeights.h", "vtkAtomicMutex.h", "vtkBitArray.h", "vtkBitArrayIterator.h", "vtkBoxMuellerRandomSequence.h", "vtkBreakPoint.h", "vtkByteSwap.h", "vtkCallbackCommand.h", "vtkCharArray.h", "vtkCollection.h", "vtkCollectionIterator.h", "vtkCommand.h", "vtkCommonInformationKeyManager.h", "vtkDataArray.h", "vtkDataArrayCollection.h", "vtkDataArrayCollectionIterator.h", "vtkDataArraySelection.h", "vtkDebugLeaks.h", "vtkDebugLeaksManager.h", "vtkDoubleArray.h", "vtkDynamicLoader.h", "vtkEventForwarderCommand.h", "vtkFileOutputWindow.h", "vtkFloatArray.h", "vtkFloatingPointExceptions.h", "vtkGarbageCollector.h", "vtkGarbageCollectorManager.h", "vtkGaussianRandomSequence.h", "vtkIdList.h", "vtkIdListCollection.h", "vtkIdTypeArray.h", "vtkIndent.h", "vtkInformation.h", "vtkInformationDataObjectKey.h", "vtkInformationDoubleKey.h", "vtkInformationDoubleVectorKey.h", "vtkInformationIdTypeKey.h", "vtkInformationInformationKey.h", "vtkInformationInformationVectorKey.h", "vtkInformationIntegerKey.h", "vtkInformationIntegerPointerKey.h", "vtkInformationIntegerVectorKey.h", "vtkInformationIterator.h", "vtkInformationKey.h", "vtkInformationKeyLookup.h", "vtkInformationKeyVectorKey.h", "vtkInformationObjectBaseKey.h", "vtkInformationObjectBaseVectorKey.h", "vtkInformationRequestKey.h", "vtkInformationStringKey.h", "vtkInformationStringVectorKey.h", "vtkInformationUnsignedLongKey.h", "vtkInformationVariantKey.h", "vtkInformationVariantVectorKey.h", "vtkInformationVector.h", "vtkIntArray.h", "vtkLargeInteger.h", "vtkLogger.h", "vtkLongArray.h", "vtkLongLongArray.h", "vtkLookupTable.h", "vtkMath.h", "vtkMersenneTwister.h", "vtkMinimalStandardRandomSequence.h", "vtkMultiThreader.h", "vtkOStrStreamWrapper.h", "vtkOStreamWrapper.h", "vtkObject.h", "vtkObjectBase.h", "vtkObjectFactory.h", "vtkObjectFactoryCollection.h", "vtkOldStyleCallbackCommand.h", "vtkOutputWindow.h", "vtkOverrideInformation.h", "vtkOverrideInformationCollection.h", "vtkPoints.h", "vtkPoints2D.h", "vtkPriorityQueue.h", "vtkRandomPool.h", "vtkRandomSequence.h", "vtkReferenceCount.h", "vtkScalarsToColors.h", "vtkShortArray.h", "vtkSignedCharArray.h", "vtkSmartPointerBase.h", "vtkSortDataArray.h", "vtkStdString.h", "vtkStringArray.h", "vtkStringManager.h", "vtkStringOutputWindow.h", "vtkStringToken.h", "vtkTimePointUtility.h", "vtkTimeStamp.h", "vtkUnsignedCharArray.h", "vtkUnsignedIntArray.h", "vtkUnsignedLongArray.h", "vtkUnsignedLongLongArray.h", "vtkUnsignedShortArray.h", "vtkVariant.h", "vtkVariantArray.h", "vtkVersion.h", "vtkVoidArray.h", "vtkWeakPointerBase.h", "vtkWeakReference.h", "vtkWindow.h", "vtkXMLFileOutputWindow.h", "vtkCriticalSection.h", "vtkAOSDataArrayTemplate.h", "vtkArrayDispatch.h", "vtkArrayInterpolate.h", "vtkArrayIteratorTemplate.h", "vtkArrayPrint.h", "vtkDenseArray.h", "vtkGenericDataArray.h", "vtkMappedDataArray.h", "vtkSOADataArrayTemplate.h", "vtkSparseArray.h", "vtkTypedArray.h", "vtkTypedDataArray.h", "vtkCommonCoreModule.h"], "licenses": []}}, "kits": {"VTK::Views": {"library_name": null, "enabled": false}, "VTK::Common": {"library_name": null, "enabled": false}, "VTK::OpenGL": {"library_name": null, "enabled": false}, "VTK::Rendering": {"library_name": null, "enabled": false}, "VTK::Rendering": {"library_name": null, "enabled": false}, "VTK::Rendering": {"library_name": null, "enabled": false}, "VTK::OpenGL": {"library_name": null, "enabled": false}, "VTK::OpenGL": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::Parallel": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::Parallel": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::Rendering": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::Parallel": {"library_name": null, "enabled": false}, "VTK::Parallel": {"library_name": null, "enabled": false}, "VTK::Interaction": {"library_name": null, "enabled": false}, "VTK::Imaging": {"library_name": null, "enabled": false}, "VTK::Imaging": {"library_name": null, "enabled": false}, "VTK::Imaging": {"library_name": null, "enabled": false}, "VTK::Imaging": {"library_name": null, "enabled": false}, "VTK::Imaging": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::Views": {"library_name": null, "enabled": false}, "VTK::Interaction": {"library_name": null, "enabled": false}, "VTK::Rendering": {"library_name": null, "enabled": false}, "VTK::Rendering": {"library_name": null, "enabled": false}, "VTK::Imaging": {"library_name": null, "enabled": false}, "VTK::Interaction": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Parallel": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Imaging": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Parallel": {"library_name": null, "enabled": false}, "VTK::Parallel": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::OpenGL": {"library_name": null, "enabled": false}, "VTK::Parallel": {"library_name": null, "enabled": false}, "VTK::Parallel": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::Parallel": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Imaging": {"library_name": null, "enabled": false}, "VTK::IO": {"library_name": null, "enabled": false}, "VTK::Rendering": {"library_name": null, "enabled": false}, "VTK::Rendering": {"library_name": null, "enabled": false}, "VTK::Rendering": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Imaging": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Common": {"library_name": null, "enabled": false}, "VTK::Filters": {"library_name": null, "enabled": false}, "VTK::Common": {"library_name": null, "enabled": false}, "VTK::Common": {"library_name": null, "enabled": false}, "VTK::Common": {"library_name": null, "enabled": false}, "VTK::Common": {"library_name": null, "enabled": false}, "VTK::Common": {"library_name": null, "enabled": false}, "VTK::Common": {"library_name": null, "enabled": false}, "VTK::Common": {"library_name": null, "enabled": false}}} \ No newline at end of file diff --git a/vtk/src/script.py b/vtk/src/script.py new file mode 100755 index 0000000..7e313ef --- /dev/null +++ b/vtk/src/script.py @@ -0,0 +1,226 @@ +#!/usr/bin/env python + +import collections +import json +import os +import re +from pathlib import Path + + +def get_program_parameters(argv): + import argparse + description = 'Generate a find_package(VTK COMPONENTS ...) command for CMake.' + epilogue = ''' +Uses modules.json and your source files to generate a + find_package(VTK COMPONENTS ...) command listing all the vtk modules + needed by the C++ source and header files in your code. + +Paths for more than one source path can be specified. + +Note than if there are spaces in the paths, enclose the path in quotes. + +If it is unable to find modules for your headers then + a list of these, along with the files they are in, is produced + so you can manually add the corresponding modules or rebuild VTK + to include the missing modules. + +You will need to manually add any third-party modules + (if used) to the find_package command. + ''' + parser = argparse.ArgumentParser(description=description, epilog=epilogue, + formatter_class=argparse.RawTextHelpFormatter) + parser.add_argument('json', default=['modules.json'], help='The path to the VTK JSON file (modules.json).') + parser.add_argument('sources', nargs='+', help='The path to the source files.') + parser.add_argument('-f', '--file', help='The file name to write the output too.') + args = parser.parse_args() + return args.json, args.sources, args.file + + +class Patterns: + header_pattern = re.compile(r'^#include *[<\"](\S+)[>\"]') + vtk_include_pattern = re.compile(r'^(vtk\S+)') + vtk_qt_include_pattern = re.compile(r'^(QVTK\S+)') + + +def get_headers_modules(json_data): + """ + From the parsed JSON data file make a dictionary whose key is the + header filename and value is the module. + :param json_data: The parsed JSON file modules.json. + :return: + """ + + # The headers should be unique to a module, however we will not assume this. + res = collections.defaultdict(set) + for k, v in json_data['modules'].items(): + if 'headers' in v: + for k1 in v['headers']: + res[k1].add(k) + return res + + +def get_vtk_components(jpath, paths): + """ + Get the VTK components + :param jpath: The path to the JSON file. + :param paths: The C++ file paths. + :return: + """ + + with open(jpath) as data_file: + json_data = json.load(data_file) + vtk_headers_modules = get_headers_modules(json_data) + + modules = set() + inc_no_mod = set() + inc_no_mod_headers = collections.defaultdict(set) + mod_implements = collections.defaultdict(set) + headers = collections.defaultdict(set) + + for path in paths: + if path.is_file(): + content = path.read_text().split('\n') + for line in content: + m = Patterns.header_pattern.match(line.strip()) + if m: + # We have a header name, split it from its path (if the path exists). + header_parts = os.path.split(m.group(1)) + m = Patterns.vtk_include_pattern.match(header_parts[1]) + if m: + headers[m.group(1)].add(path) + continue + m = Patterns.vtk_qt_include_pattern.match(header_parts[1]) + if m: + headers[m.group(1)].add(path) + for incl in headers: + if incl in vtk_headers_modules: + m = vtk_headers_modules[incl] + for v in m: + modules.add(v) + else: + inc_no_mod.add(incl) + inc_no_mod_headers[incl] = headers[incl] + + if headers: + for m in modules: + if not json_data['modules'][m]['implementable']: + continue + for i in json_data['modules']: + if i in modules: + continue + if m in json_data['modules'][i]['implements']: + # Suggest module i since it implements m + mod_implements[i].add(m) + + return modules, mod_implements, inc_no_mod, inc_no_mod_headers + + +def disp_components(modules, module_implements): + """ + For the found modules display them in a form that the user can + copy/paste into their CMakeLists.txt file. + :param modules: The modules. + :param module_implements: Modules implementing other modules. + :return: + """ + res = ['find_package(VTK\n COMPONENTS'] + for m in sorted(modules): + res.append(' {:s}'.format(m.split('::')[1])) + if module_implements: + keys = sorted(module_implements) + max_width = len(max(keys, key=len).split('::')[1]) + comments = [ + ' #', + ' # These modules are suggested since they implement an existing module.', + ' # You may need to uncomment one or more of these.', + ' # If vtkRenderWindow is used and you want to use OpenGL,', + ' # you also need the RenderingOpenGL2 module.', + ' # If vtkRenderWindowInteractor is used,', + ' # uncomment RenderingUI and possibly InteractionStyle.', + ' # If text rendering is used, uncomment RenderingFreeType', + ' #' + ] + res.extend(comments) + for key in keys: + res.append( + f' # {key.split("::")[1]:<{max_width}} # implements {", ".join(sorted(module_implements[key]))}') + res.append(')\n') + + return res + + +def disp_missing_components(inc_no_mod, inc_no_mod_headers): + """ + Display the headers along with the missing VTK modules. + + :param inc_no_mod: Missing modules. + :param inc_no_mod_headers: Headers with missing modules. + :return: + """ + if inc_no_mod: + res = ['' + '*' * 64, + 'You will need to manually add the modules that', + ' use these headers to the find_package command.', + 'These could be external modules not in the modules.json file.', + 'Or you may need to rebuild VTK to include the missing modules.', + '', + 'Here are the vtk headers and corresponding files:'] + sinmd = sorted(inc_no_mod) + for i in sinmd: + sh = sorted(list(inc_no_mod_headers[i])) + res.append(f'in {i}:') + for j in sh: + res.append(f' {j}') + res.append('*' * 64) + + return res + else: + return None + + +def main(json_path, src_paths, ofn): + jpath = Path(json_path) + if jpath.is_dir(): + jpath = jpath / 'modules.json' + if not jpath.is_file(): + print(f'Non existent JSON file: {jpath}') + return + + paths = list() + valid_ext = ['.h', '.hxx', '.cxx', '.cpp', '.txx'] + path_list = list() + for fn in src_paths: + path = Path(fn) + if path.is_file() and path.suffix in valid_ext: + paths.append(path) + elif path.is_dir(): + for e in valid_ext: + path_list += list(Path(fn).rglob(f'*{e}')) + program_path = Path(__file__) + for path in path_list: + if path.resolve() != program_path.resolve(): + paths.append(path) + else: + print(f'Non existent path: {path}') + + modules, mod_implements, inc_no_mod, inc_no_mod_headers = get_vtk_components(jpath, paths) + + res = '\n'.join(disp_components(modules, mod_implements)) + if inc_no_mod: + res += '\n'.join(disp_missing_components(inc_no_mod, inc_no_mod_headers)) + + if ofn: + path = Path(ofn) + if path.suffix == '': + path = Path(ofn).with_suffix('.txt') + path.write_text(res) + else: + print(res) + + +if __name__ == '__main__': + import sys + + json_paths, src_paths, ofn = get_program_parameters(sys.argv) + main(json_paths, src_paths, ofn) From 6dcb8c5385a0e264918ac0a937e806e10aef3fb9 Mon Sep 17 00:00:00 2001 From: djairoh Date: Thu, 25 Apr 2024 11:12:43 +0200 Subject: [PATCH 04/26] fix: added map to repo --- vtk/src/map_661-661.png | Bin 0 -> 399746 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 vtk/src/map_661-661.png diff --git a/vtk/src/map_661-661.png b/vtk/src/map_661-661.png new file mode 100644 index 0000000000000000000000000000000000000000..cdfd5a67c96ad60fd5b9055601fbfdb329e16106 GIT binary patch literal 399746 zcmeFYWl&tr7B)IqfDk-*g1b9|OK^9W;0!PfGPni{K@*%{0fGb%Ft`M_009C72!p%3 z!=1dx>wZl%xYDgG`eBV^{k>-?$1gM0cK8K`QX6>_pfX0ebaH zQ|Z+!YFBrN9mv@h0Px8Q{2;E_E%l<;Lb8rl4;?ESXj7t2EGzfIi6~l==I7H2k#y4= z8h((Xw&@GBnb0t*7(H|nd$X6OXwpY0J+qxk<8sP(7TON@tDSC=@CE4zv2sY4$o8$KY{CMKk-(}pCGZ!rhw;wF8?wZBg`{v$yoH6?*AxXRejzYU> z&6#rGbq4V)Z|}wUtZXJcdho6Ce)YLi)F$Q;Xy7Xl z=@kS7PuoVE65GQ}ZAbi1NFqLhB(9CZGJL_A8naCef*1 znH9Q(guQxQr#S0Gd3fM>xWC9Z@(=`w(R8man&`?!IH3Emi??PLq3wz9Pcxroyqwsg=^gKWfU4FuG<)m&fMI)D`Y+--II)OD@> zoUDayXeA|{ius5j0Km3TOKKmmvx|p_k2vjLxFQJoPc|1V^Ggs+t`U{%gX;90&yo!>i~tiig0mxdwX+w^KnAl?YVe_g@w7e zdAWFbIS?8g9=Ucr{u5h{JSBD>i@+35AA>S{V!#NmYSM~EX3OLk9kV6;TVr}~e3IWau zLf~)v!s zWrKj?=e6b)5D@0&u;jNA=HTb&72p8!2ncf6*>PL*aoh1(Tk{G21!ZF`A`fu~TOx)N z1h%xd<#Khg|Eu5+;UdzSO5(JOd|3u*oCD z!v_TN3Gwi7^9%CfQ98D6f4lqJtuyGasYFfv*Q5}!wEkNcJS@FzZT_+o zf%Uf{YX?ggds{^G_`AFQBOmmCa0N>n0ZThx0U-`cUVc6fer_v44l5oj9u6LBAv-}^ zpn$D_?cZGCpXeSCJE*s%yREc6f=2{b2>1N!5k<}X*FdrSr!C$Nwtq$eK^OEhq?a5jDPf4jO+i!iP&EX{}yBr_5PNJ2wsR-$o0=)_;=0__Ws}e{CzC` zZ#F?q{l7;3D}Mh+*Z=7HuNe5Rl>g^l|D)@_V&K10{-1aK|3=r-e=VnMT@c@byb+6~ z!EzZp#6kWNmg3dXKt@e zshnQvGAQXqrTyx%Hhl|2C!d{*U3v$&RjG^hNay30^id$TqbbhkVO z3bvqA_Bl7-IjRV}&XLRD*p$zpvtzuKbKaD=H}l ziSfI=X9Gyw#^iQfDlBfY-fUR}8IDCSukSYmU7F2%H9Xw+L+-~tLxRt^B>WCFg8I<{ zE=VLFyE|@Ma_?47YfYGvk1vDV16vzBZzn~)C7NpkJ!b?LV2d4`C0A=)k{MKEI1)g^ zu_3C5;{=JvUi)Li^(5!O9Aj`~i!cB$L2B32gv$w#`ZjwZR&)HLesu{i8{sz$V+ud5kM5qP zEh)!`XR`Zupw%a#PrfTSDoUZ;jaQ8U_BuLLFx$AQaoeFzI3JHFLssX#A95d8a~~%k zcOQeGIuEQtkJ}nSSBsAtj~=O;RdQuP*>J^^A?mwc_`2tTfCX4HB8}r)tqx5qh&X`- zY+o8#%%gjT4VO@+CVR&m%_(+O!VrNTtDy0;*P$n1Qv??+L`So61T@XJD_;2gTcjYx zgHDL{k$;s?LC+G$SOOg&lkFh^BK4PB*^g(f%fZa4U(t%P@#6$OR>ZwT>{K)YFy>L1v z<#)n|V8UF7gh>@l@yftm8SE^XXW-q9m=S%w|Jxq|1>U3PebtQs13z zg#m{sg|dnI)sY`^umtnMwHb|mHbxS%Fr!(!l3dNeF@_AXc__o8u#{Cylo-*LFEykv z63sp}Z>6>|TX^@%PbXiZ6#`O=ccICcZpS9ii=s-RGk(H<{fJnaWH#Ssv}9o@0rNqd zuv76^F%A{l<^-erMs#t#ZUD+HwBbeU9-Ta0f{!S!omwlH%cG86^nlg4;|i|@sWWK| zDNzg9Z4Mdn=8#_)9smg3|E?L&EN$%wfM`vLIKKM98LP+!^5&s5w*Gehx@>WvhU*D_ z5@jkuw3LZSDBdcV)vt0qlV@`BSQH>cvde#TxS^O9(7#SI*3mcnbUF{zQq#7joJ`&J zT(sN%Dt&-&3ueLO7?H-h<_%cp`ttnzCP}nSDPGp9{>JXI5nro!pzfSduIgfIP89In z!1_b5`A;?qv(XKwYB&B8Rk9!Tk##Q4BNOOOtzhTW=%}xH3sa%;eZ>`e6?84fb=>_l zdk6N}VHM4e3TBR7%{6M9^X;Uc#lU9S$2k#&dF{2&S`(5B`NLs3i{6POcKDOw)mU)R z`RsZHYhh&9xtt2_1S4`c%EFxsi@>0x&Kzu{1CuT31?TUt4oH45q+MhQQpRx&P4 z-Z+Dmdw&|P<5YT8o-Q9O(;QEHHsd6q`u#i0cseZ^wnVItoJ`MH9)^XJV$&oPNoe;< z9I~19n$mf6qNYqm$APNZWMdB9Bw~stJxUqy%nCI20+}>+AAmt1Q2$X7KSb#__8Nv% z!vT(Do7xuT>_x*ag~22n;Kl1OaGrr3KEAKh@!J5xwO;YfBUoC5K_M)hE12Bee7_3JbX3Z$ zy?xH)oha4~TYz|lg(Z_EB=sTviklT}g2Cf_q43l=Cv@7E{ZFuYbF`E_xdG(%;4NU> zbDgFwrz+gC8eaTj`UC>?RXqdX+zTP=-o66pwzH@c2_WRER*ywkdzqBRwt>A_7(lTn z^^8abXDfxP6v^ZSq7) zw&~n#*O;miRB>)MOKfsHS}yKnHjLTw(QGq3;|CJnH|WUX!{9-&T#`!vOOj8Ueq{LQ z)H(&^@xn|jwbhB@z`*Zp^B1HcN%Te0FBJ2sDc=dvdu%Bwbsbg347wE)zR*`XY+8KHRpT~HR z40@yJ5|TMuTjv%v?;74*DhMTsSsxw**HW17ejVl!b$$_|tJ!PWro#?08;Lr=)S4@W z*%Dxz%s4K%GP-}T7vlgEEg8=cFPQ#N9RKmjU~65Smn_P%@3zp4rm-Nh!G-kHw#N%g zjbW9?0;NPX#eKFjVT!mw)&xsRwBn`k%=)^l1bs0NIeXwy(i>7_?mR5l!U{%rEFf32 z%nRUiddHdzMcl=Msrre^{darHej`u3r*m9-^i2<#UQy(a>;c2jxJ9RwQb{*&WQ@?& ze@Vr@$vAEGXyzfpl;+86ON{kyf9LQW6UDPj!Jvjs;rzpSDjqRU{1RZ#bY7y(S02SD zH+x!TRCZHFnZc5Vk>84yQ2MLvSJZDZV@?#2p(smP=aGScXcjcR$kJ-QCn<7?o-dX% z)9XhC6F_h7sP4la_qqrOx*``1cg{;y(O(6m4SAEn#}a;@XY<)-E3d-ORVd*VVb;*PId^}_T zXK44{So5plg!y1YN5%RrOg4w)BWJMU0?oU~uMUCLpyxux?pi^W9l{`^c*RnWS z*jnnm^-&ysJufn{x`b`pdG(svYQkh&nLFbsijdQg^~AA!01A5<@|h+{1wKw3k4-gIWdK~|Oe z2H*xFK8vxG!h%#4Ek|jdLkeN+?GSE#ykT5beb~Bz_!jH_7{+YVGk>kaqy6#qD@C;Q zOVD#v%vjH8{m?JdQ+@NXD(X6e;nB>OU$75K+Ubmf**(+^K{K4;(=bj4Kv9WjC|m7j0=8fN1}NP*LMq!Qm4Sr?18LAg2>!InsO|ZFPYqTYb}1m{rpX9 zQ>+}Vzd(j2*mpFU=*gohMj|L~=ikn~`dFVyIdZv3F7gc-RzXmiRjXp=SmnL)72Ati zp${ZYK;?+uP9_y1a>&o11S0V;`>f@d6-Nhij-E({vhKB;g%VbKK z6Oj=7P(`{8cvhg5U(?;9(68{e57d4ON2h>2ZXMozN!QEvyoyf|ItsE|hmL1+dCntk zsoiW9CiHXoc5&g<-=Lc`y0zZiHFlJ`-cLBq)O8Kl4-BUD`mCx4rx1WAbOpZLSGCj9eO@%4Btrt2%6r+#f{w>I#{q%$QBpxZYJ6?%q;iJ#?RuAQa?NhVM# z9ZXb`&vQpj3%wgK#VDTovRN-JoVtqD4rhab$>+=OS$7kFmJ~koOURAX>?L^3qn$k5 zSWK8p_#c>KYMvSOy=8>*i65T+eu6%5TUGA;kr$M0l3|B(I0~}kQI~HTF_|(KA?1*C zxygWQT&mCW`9L|dW=?~$&hVT>O^i?z`c`q8NYj_B=WGT9z;k-D zJk9yK7?y|Yw>Iz4gHIuB@k^UZ$u5O0-5QV+3%7v&&5l8DL;4fv-Ih(JL$#an!ehdS z9Px^i8Lso&?VZzAi6e5FJGRby-s%hP-fpal8xsV{2hk2?lI?W;VPy+S5ls&g`{4s-Z8MazB@vIX7FdG|?<#r?%T0mgfjS#eAhSX53Oi z*&axlorKzfLNp@LRq4v{zcHVP~jsI%5mM+4@Kn@dPmBYydEv5z*m6 zLDNbB6X}H0JS7OB9)Dl#5ttgS^*!;{I%;TcKva`htJ89BDXxJVP(48eP-AT`I0%wB zyi9_MW)4`+PJw?gP5BPlIK8ybN{Xg_N<+p%?g0u@^K;|j(w}4{Q~6e3(vYa-ZCG-v$2FPZd;-gA5S8H~ z@ZfxMX86NHiu|=o{?)L|Rl^`&a8PsOd~x={nm>96b}JHT!en0q=U$(x=JysrHHRGF z84*~ONp4LG`6v2nw|U-dKAn_1i&t?3@_6ySmTU@Mz^A@wR={?f(T?dEQnF2jp?g^? z4fCSL1>mgUg;d||=Ei4*Tin^jXa>mT?8NhFliu|(^D}U7abIP{{_$Iw%c})KaRB_S z$}wfgR5<~!pR1v3akCmGRoT~1AFPz!d>1`%LK3mxy`<6dl1pxw8T1c-f`1zHo$>+? z_$^eges1l{J0~soy+$eK`Fly^28GoSMqy209b< zK~*5hmrQARuiM_SJaV4g#?9V42X5?&+P5u?8>qP_*_T~3=5kC=?bn{c)-UONF1iLU zB1$c$x0d5L9tL>LX5?mXE0(cM*-7VRzmg?r$;xY!$k!9c)GPVykEayvAeXhUIlXE~ z4s7VCROLSutjna&r={*Q)a?6(hLw<6pmJ=!UWyk0&TPs7%`gVkVSa^EXAlZnB~4Vl zmd0p%6b1~g;mp@}>ec%VB;a~(OK+eO~CPjM!daDKe)`+9NVcepU3mvz*X zQ+T(OmkFru8>c3)RSp>^b^V0%usm5;h6lAQozurh`&oaUUC2^EjMHbbJ5tAv^la_5 zr0`Psy4WF4yB7yQz%e!V=dy87p#cvgP7PbufXRAXmyxpKu5oYjc@eKj3^J)MmpPZC zdZSH8M(e1L< zeKODCUvk@-w(Ugd;9ekFojkTh{2Lw4J`k>1SOz zO5^qI9v|1pZU&PqdN99Qn9`P$&Z;?ZZh=-c$QuZE^O8}Wizo((qYEoy;!F1@P+vQ| zB9&hbvmC)RcJiBuU3H>{z623kfBeUYG&Ex7%}P|ZV!>o)UbGr$L9$6jcRX(sX#0>eL~y!I3P zHF;wrxzK-qC9q>$Ae;goNo}wPkiHg&U8!x%pwo|;*q1|4*Hd7b0!uHq>EG3{X;0Ng z_KQtdPF0FKB?yiCQt~FOY5CLM(t=i+U9ecHY}~dT<*w){Ia>7W!5B)`bTV@jsr9XV z?;8Al4}E-V-16o>ag@^zJ;9i<%`lyEb!P^kWakp}vBq^F?Enu&Xi zT)7-Rehz4PM_E=S58)ilMhFkC{ z9rAJnH7)knkBu686n!)N&pLHz6H#_$l~F$QdE^F8_NYXJO?q?ZQfF3vkVw*Lkzp2l zT+LL%KB4b++gct>ag$sqaNprWqYEJwCKh4ESrP>%XLf~)H^-fOHVih;`;QI8-^X4W zn7O$LqlmRmrhs?5(Lxry`|%G^qDTShKNb=~Og_rV>(Cfds-gBOne~WCRE@ zEyu=^)^dDYk+cp~LJ#XB36IJUParLeQ$wYSf|r{(RONZHHlD{(fAJWko*vqp6IV)5IpQP=J3+n{Eh6BFiuFJ&=f(Kq`{*f633_|2#h z?&7G7Ik0z;bfqd>q|8s8!w-F4V_kSN{5Na1m5p_Ths*^*sbSp*d*&(X{Nd3>Q^>&} z67!SZsPkXDV_~P$qM`RjqQkPKuSjKmzbDn0z|4&jK!p4DpmAa;%K&uEZw+E2K4WO! zi+KyiX3*37HT){qT}O3>kde~kx4#0Y;L}%c1cfvVoW}fqBjfS%Hlutx@o|D+NC|E1 zZ8W_fKQKw^7b8R;cIC2fv-({jM`rLG3t zoW#-8DW9XMY~t>Qw$>NXN&Rb%0oGBH8qrQB!CuL0WLEFGJ)E&~!&hef*h$Xxw{JpC zM+`0RMqmZdTGOGFW?gNwu@(xsx;?QF-Pg2x%)PB$Ux@qCv)8np&gbezDKIgWl}*6; zL&7vtrB{Pet#l3oGqpj6e-Ip(BmNc_jA|pmO_Uza*)zt zo1l*p4)QZGCqiNFWIVm_`TfVPiLkFe+|m1^3JOdWD6gRnm?omv0V2YrZpT}3;-o-p zsQQjt=cpgIaev*yyJK8qyH+Z*SQJ=#P?dfT6>bz$1fsP5!~1u%bE z3E2$FiLR3zEy~TV+zf=P2fANzgN`%Wm0y5&v%aEINR zOVyg2^?Ny~TlW3NoCF~Dw%gHF#H8?99L%lf)34EohpKpz{ZUtxLk^@MsPW$ZQj6I^ zKSeutd16|)Yrrn^19azwMz+V^5DvY9WaqLlYVe)8L^QtAyOm$>Km_;z?g7+Pk)Li+ zWILMp!wlX$bSl-B&+8LIzcGtY7Cz{{9Zg{PfbIBgQ|rmb6RR?JJzLo4=np>#DM?+v z@6PGcT*Ve=$u@1}!t7!*kqs9~qU@GB6{13U;iI&hgH4q;#cR z(>Gw-U(_O=*S`uz#rYfeZDYbw814ns+J^lgSBLZLxR?o$XekH}^r5V%nUY!qV9*0} zd}-(=x3Uj$V?9tw*t)37n@_!H8|?l1m?=t+^UW1g%SVi4eXTRo`zxH7W~cMb0iVJX z3OLk#Lt4z>>T;!u&!wj;RgK_;&{+Wn9>-Rvj=poSz=Si%{+Dn~%9R9N$`lH0;n!2@*ib+s!EV!ed?@yujy|GnW6R$Q0M!~ri$2PnGHcntdQ8gJarXH+pasG@ncLWYjX%L9Ya!; zg(y^FjVR)x@IW74=n9Xq8dNmPXbVKiS3uBfgq;YbAt*uA=%PCWAzkIsF0%eB&J*kBlMc2JUQ$u~XBfY%UcCFJy0fjgG6SZr{{YT*=%{_FYn@)A-}T0X2Ew zBmF7p9uU(@M!s9+`rbn@X7cD8!4Z8z)eG6ifl!w>^q-!n1z889k0>P$@3}M?&p7p! zczz_D_8rD_axO@J%IO2KuJlS0msbiQrk@?Yh##UOl0#M1whepo&Y!i?bLu0(n?VQR zIgL42$o!AjNOq=8wXp2<<7`|F@gFQ){ibO#qu{CdApPn#)TTYvEi2A2EDYv2#%Ebd zsPCkOa+!7ZS{=WX)YUx;6O2Zsd~A;LD_bij~4+0IxKkx>fw>+wAll!3TN#woLC) zbj@?4PV!CoAh=7FHd3Yb;{XRhM?9gxwRCbqk4y!9+yS&{`o6C+-9Glz)UPA6PE z(e0l!WD6G_d>X1KYJr@w2lZ9pLBqQGS!XfFxGICVhI&bLq;yTbZz3v&FU15((3&LW zmnek7&gCcNy}_Gcd(R$Qt^*V66Z-7bh?UaQi|SSZB}QQ?q$s7D+-GS;Wg|+i(%Px- z#27&AJd;~;ASd!J4BY%`xzW=hJvKV;$+>H1YNj>sp0j|DIIBC6AGyZRn+IEDj;7df_5 z!Y>_d)NaEheJ=wygU*+a-Rt4)V$B|>rhbnPEoni=!}DIhA(P=wfr1sH8;t9#faZ{#cjU0dHMcDfy1g2#Ve)j%DmI|>;<=VV>@c~)^ zbD|i=Uf)z!^+^5^%uIOE6`!PGXdhQz-IMc2Rj4>1^mKlmKB45ZhO8S|%t8a>^i@lT z$oKju^P(p9lNk~-0A0$%b`Ks?JbENNHvo6tWQn3{7B@u}PKCflodgYDmb@?jP3zT~ zdvFzxp9;39W!k=DVGO%6-4K$l8Em-$JO0TB?(CxlUUm-bXcZq#M)X9Kf&5OTz~p24 zZy^P>q+wlob*)MnD|CwN$6KCwr!v??lz~ZlWqvYOYP&l}LAp+ZlI z^$@LtC8E<7r8I?EH;;)Xe(L6|XU|n|c4zIKVt=yc)5hE+-pQlM8-7omZkPk93j;K@ za)22F%+UZ+2UJk2{vJNt0vA&f;B@)-KK+CC3(3ecTy<*?>8gjVp~3y6B#RV=3Izkd z*vWSq9!&%Fl|2>y;Y zgh<<~`ky5;DcP;_zh@J0fk2>fzf_i|{sePAejz(&^)&b&X8~-*Z#evg2D~*sZ$5<} zL#g1^)8~&%_x+u>T7L4ONTguf&YMae#Od<$$s|1q^=w#fkObNfs?BMyVWaIh@wOH* zVI#ag<)Me2ZrkhhC6CvEyul?K{dfL}R9l&5x22kQ*Fsz;iSTU57nF6RDSgjk(Pp9R zn_*6fic)Uvm2Cw-GN$O3N;5*$Tgi*b92VnO2-<7R%4;ZF5kqw&#HFZ1U7r)7fWab@jN`izU)wujjH zQKb|50O*goZ7#_aE+&66%4fI|zvi1$b(Z6V1fkPN56ff?BOec=hEFf*YRc4%`QI~0 zo6OymG-H3_*{_q>&ANaeoL_jad|3H%?vi9$2%EZBUKVC*tw!UtYef3?%Ehp~KH?nb zo07lo)-ONanbX1?xDzfSdV&p*KZPE2@Fg?4HAuxj)ncP4|4I%he(?r-EhH3g2q@dr zBa~oqTO54B*VpKAA$dQWi*#il{2*B!19|Khvb!ASZ^>n8bvrd|Fnh#>2OA4d1l44C zAY&SE;z9zTS8aXBrgmLO4rbzs)+*;x&v;Xjf#5OJ^$7jY=iyeaW2tRf z2UPmr{f>LDiIPGIlu(dJ<-XsfHu3Mg6jFF4pa|T4ErfH*WirSK3^~7w!uN7_68Zho z-t;NSo7FmD&k=U3i7CFppX!3s)BWteM~vd5{x4KkpVso4L+lPZ4y3;p?8JZ43c-@V zQ+7#dKx$p^-^}Av+rmf(V9+Eo#DM{=3oW{{UUObB?<`(rA6fzceiC>_dDLsQvy^Q# zb8@7)rmGydzAa87GkOa0-yC?sKpXE%O9QUXI*KZa$oA-hRX7SQ{X|)A%|;;|Pzpf- zn)N@=x}XJgw*|z+&NrK6Jy+N)b~3mnH zUN&>$?KV%X9Nxih>OebcZ|rx5eXP7mSlruXD~+M^J65CKmeQk|cekx+{}Fe6 zw77V;tWkM?L(+hA5ox|lMszRMeto@-8x*k4C7CT@<14vx!6oVw*XjsdOdl9aS-Je( z&SmTVF~9`he7nf;=J2JMdCR2-{FiGR*JGEU{+IPS-SURnXZ(a`Rm2zQuO>zGpsjV4 zum`^}<;Wxv<1HU1HyBOB@ZCLq3>-P=S$Y=V* zFyS0$(VAZ~8YC1ijVIye!4lC-pe$z~c1RL1Kl@;44vI-fmLP>55{Ch4TiNS+$s5lk zx|0|oAl==`ZC2q32>ZO5&e_6XDa-1)T~RTl|2+ghU$Lj4F=wXCNQtbe9X>0t`GAqx)ZOv2DyY=EpCN0|XU0{sG2^W6*%DXn_u=rN# zt6iPn{UhBwA&pVC$zOpte`_4f}Txx zswg=$%joYLI=?%H#68591}5k=^*J$|n;^d$VmTU`Dr6}?jqc~s5VobT4+70#suWE* zH*|D35R23aQ-LFCV-x3+W8GIPY)S>!?W}or5ibt3Q=;heha$K?m?(@a%Z&NcwoLo) zdihd>d}^(ml8VQ1EsPMfOw-%h17<6OubKN>xCP4F$@aV-!q179RlFT<5=W+1(7TkO#0((k=K zxo_~2Xb~{Wx3E}X(kPcT6Wpc`9t4L5U=Mc>JNk}Ijo&|69;pELT5_e;qKcRv(s#hcB=$#9*xP6?Y8{Gt z9-c9PX*7C-i#mDW`?Kds95anVRjOfkP!OP}9IgF*HE^}*JXOc8b)LN*{+)U8VauUW z^Z|w%>$>cs)?iDXMe9IY6?I`c+4oyP6Vru8 zJz|)hN=1D&xQ*!8m$8@6RpNJAU`CT6wkFWuXR;b^1vgj<#0WEvy$JPks&iJ{Hs_Oe zNJDI*H5D-ciHy-OfCQ%mT#T5CJ>=bQ@)9l3jK>1A3s8rEH_m2Uk7D|uf3Vz%2yDE- zp(g=>jxOzVP=6{a#3G2j>99PK5t6hTc1sC zw??Eg0nl1`?6f9|2|4+_bRQ);rVpS52S}Dy-X&%3tY!{Yv~+Z2KAd^ua#~PU0vv2EK`srF%Fx&E%u?~@FXC&oux zsxS|1z%N{ut2N&)-6r3kizg$qBIGZ$@el^=b5EYe89jSV_=U2>(8Npll&}d_zdNC~ z-u8(@IzOEO5NTBsr7KHZdvc+mFvz`&%@86%QV|#(qA5>G$DVL93ZkgP*=H)VKs+)F z&H6v+s#bh=ALn4-n_y=(;25Dz62}?E^lKf%L@eVkb6<5?;}1mqVh=H*+H>=z&zN(j z7L0F@clT$S6_B2(SC^&Dm>avGUsjk}C=|xcQ@45ciHTPkgCU#%hnvt55X~U!X!7AF zbfiXfQoq(e+Haa*apcTzypT!nY}W7dOIqaDdYSGZ5`eLV))u?+j-E*sr@JCsK4-Ck zH79J!duU#;vHPT?&It!6r2nUOZEKrL;H~k7MxeEqq=!#%l8$|uP1{8_XtCu9_2AFL z`!(fFCu&rJN>eI6b;)+|1ba`<_Pcw@pcs#f?J)>dF2~mndr4uH&%fXY3amFi;9QyM z>ozSk-*ppvA7A2Y4}qRR5?z1ms9?TTf6vYG;Ocu+4h+a;hK-fS^AD~d1-UoI%8ZFQ3?+Q7#KLMZk=;L z&uUFaVQM@7CJMOD2xVfxr&k<8Vi$cbfX!x ziF(qp_)(T0aOH1MWHIIZv{u9^UXbvYbw&a@9bg)StW*f8SPG{~Z4f33b(f}-V<sgNcaB{t6El|@<~LsotUNP4V}jZ`UcF7|_toj0si^kDft6kj-Q6lQ2WB7pm7ZH!8%O_Ek9|dkk3@zw^gR5N z7W-&^>%@8pE|D72w}L6b(VlzXv*hA12UW}})xwG=n%fiZNyo8oPSel(-f{BZ;y!dg z`V?$xbUZ$|S!V@LS;Qd@3`BZLx@ekCn`sTA8`K9J>%uC}-HGJ#o7@yH>xV~oXGI9z zrd5#eWNv)3b@I+iN0PR-4(^JB?{ab~M_+;vrvPIh#B*v-G-!^S52BS1G|a;! zZq|+0#-=nGxvm2P_OXv=m8)2NJvWaQsz9JKy^$))t;=iR@@K* z@)EZ5<}l&PZbd87vU#VP`gk4h_wv+5TXtbvE7{@?0mhs=y@NFzDxS8*Vp$s|ZRp=E z+{fzs6o$|Cr9Gx)7pZ<)cp1a;+V$Y2;FM@*W~RCA)tj}}49d#G(ess7ak_AV74Q}* zErs(YRO1;zhHI39MDx&8>68eqgnIb5Lt$|lNN_9#sSMP0XRP5!ZpPxRJ z|5ZAZ#8sc*n_mkyw{;@6$)dP2uUm~g<+}KAxn&5(%fLkVufjl~w&A`VjQl%UWmy}R za!YYcJPD>4afERUoYV>5QyzTiC1wVYT8K=72z7#~+ z3&<)3iabJ_4ZV5s4_iCXmns^(9`-jkmnSZ^D{2oGoHQ7m45wKA7kI1M*kkUR$cJzZ zJGq9bg95RScO0g3*WRxvL7_Cjw}9V2T681QJX8Ju* z^+j=j;hf&kWNoDCO8iyb1&0)R%@FVlc81`1>G>D2p@I)K0k)|H4lg9%%Q7$yK3%WL z*{8qV92uAPyZ2i}9x%lH7Jf2uG7ajb2bfLG1VL?4P9`m09_~wsa2I0PNKU3$1|RO6 z4KJ#n`#QBq^OMU8GqD4j8q@1NI*|;$@Hav!1_GG-DAN3QcaksT8b)7f;=HCmowS=Kt(~o1Q}#Od z@>LOS%XlPCp3)zitNoygWOziWldPx#-ZdT#hjCca$=fi#`wF9uY5NRv4uBT{%6HjU zS>o6htG_9m<qSzi(TnHti2P zL_d(Kt7s4%-aTdENoyj=?k8U%)!SD7Bdn* zDT^>-&Jk;@zwJaiuoJ#w%n%LNnMr_o7q)hvsvOyWsvQSh2a$K{?_#6~<`_ z8LP{_2A5(heS>sXhl{FjgTZdaF^cjQnYFffT7;TpxlfJBa6!#?>jyW)!TC;s1^afxJKV7sg2Wf`b2_R7GOv!DYH?hn6)8+XWpB2)T7-)U zssVzVn*q@29A!>M_g#rvlHwS)MbYXbwQO&lkq3OnB3%e;8B26^{XSNBYI%`#dK=WT4OcSn8`GjvIfq!i zP^_4#fH;|Wt25EYq?fA_odV+~;^@RJjW9$=y7Mzpn48I^C`+lX_!kQOI{6h;}RvINl=Lw)N0GwN%GFo9qJG7>Dbt~iurVPTC$~LwwGCGYoXKL=)A{cD_Z1_dGEY_ zp?w1x4O^jKU0cY?6>u@}-EXO36vnQAn3%BT&?ooMBDrekGQ-CVi%LYmW3;TJb2`$6 z;!pdof+XkXC^$#*nf!QEoLy5Yj77Ns@=cg}j3?7O{&cEoN2=~Yg4q=btTe!oY_|E# zk#>OLYSX8z>ey=&C$?E5@;6V6ns`w)Fw~5^7X2P7`kP5?>Crd$>#Az-oSg(V?}qDv zNG%SwSz)g3qsmhHT7i8Ei7$U)yV=BAb z9-;Krg0wd`iR(T^8fcCcoy&#vskr^3r?!s?-&Zoh*_BYPxB~rX`M2q?C>AR_$Ki{E z`zx?!ae7U=2S10sZE%*Ba*dJa=|+C7R{&^Y0}Z8C0qL8K6HweDO6$kyl}^JJhf!oZ zDMpU517H+HV}sRJ?_}}5*+D2vuI9AZNUNJM* zfKL=*j*QXyD0mk{KOp>$v)8|P{}?zcVnzk4{5Y`x7VlvxFJD_O5kIwWaDT@RoN38F zw?s@CF3}UzKtg3WW2TP7F4$5@^dar#Ho=Ff$`hKOd5my9eVr~gC-h1>>QOEvAORn( zFrlpqN}RKUcR^bhJKa;lo_sdiIrLBIio%x?caM8*CgnD>zLXbLw{tV4B6^z>n`fSO zK$6jCZ%N{qS@Koo2rv{GQ6r`Cx{+vs@hGUi-0#2D10=Uuq$p3UdOzH+P{&iz>x4-2 z;SjNWrJeoE{^6%49ge-cc%b+nJeZTkbl`ekv;RjvadGjr?crzs1#c>KV3!>aZI{No zCW{>pDm2=z>Y`}Z^Cq~0et?1Zz=OUlSHNo_H3~Eip|uS?XbN>Geo+GAp-$SW@!9vR zdq*p4!O&csb+lZPkJW&!$D}5H#|1LGP!IsC#nE2sxGP(&h&yZ#IvONthzT@B>CxR- z1+_`Ek`S%dq)<)Ok^x5tW6?UzfkK zlVctz+8lJwEvcNo)C?+i!+a6voj_Kgq_NjpJ>6(`w}BcjP2J=`yvuc#_CTuKa5)!? zd{SWJC2-x86CAjdH3i`NB$eW#u%eE3~;$;+yf`qR;m4UD0`hiD3nc0W=cvZBzb<1@c>U%N0v{G5*l(pezV^8y9%3e}oC zw04{V!p+!60Wj2~>`Vtp*^&U>kLTBT+zgD`C3N0e4z+rYY)HKr(cp0UsqxtTc&*S7 zbO?#hdH6zNa20q+u@j`9x6pRYlyg6tYf&)T{aSP1c`$5HJbEjY%5D>et4MR`eRiQF z=*ILbAPVnci{Kb{tLb7TiWhmhB^;TtL}UE7r-W;C)aZzDM{b1vPX-Q47x1WZlyu@x zv|^e0#y&Lfn~Vyty-%*8n$qb{R{Ygs->F}lr-f3b#Tbe2C-);8HE|LfumMQ3CwMZ$Pn@r9}ixZJ$ZRnTyc~*C@SygIxn> zTVBp>s%t$<#=z*2t36TdfF&9R;!*#MTYyI6bE}frDe-hi#jia9g#UV-Y?(}hOe69( z>r*v%$@nQHhl-Y$3whq5B@N3=-=;1yp!YdljXRLp=ZzairVddLyvXHen(HB8y{ay#Ve*=PpGH zcR)JZB&m?gR76m_V}6{*Ku{B8p;1p#f|>F#IE;!1BiQC$V_SoxH9!jQgvZ?cs+}9K zVv2)_2iVf$(N8iac`NeL75)8L_`7Cx%&9yg#p%i#Ee2H)bg~g*uQxY63Ny3y9vKPC zhL9N`u|(F0$XV<-#28&uBKLMn6?%s}?BKE@W3*XNBEG2F5;4*HvUvW<~{sM*xV^j!{z6 zC@76&xr|!I*Z&Uykw9+0I>cza=0t?(M(OBkbyX1IArkO5bOci$9YI3*R+98g2Fk^W z-cI?HMcxE%0vPXn;3hz2>P^|}f&&1z49dAOj{tx%b+3~lc6w>IY`_19uUg|a&Tk!EKKRTR zJ_`VEe*5(^PoKN?#+CWur>IRKc?mv8*ZcSF_gy!iAJXEp)gFaG$?&wlb_=leMT zNC;QI`Pz%0|MV!8*DvnAdhvR2{;8Lr>-USblq2V_zj}G?^zi$C^6JhrXLdgR-c8dh7y|R5FACKoE4c--}MyMs;pWd+dEA#6Q*ZXVL;7t-WwBnaVDe(-adO zya!-JX=g)lXR=c(_SxslD@#8$!&8~7?KEQ<0PNM`=|OvOpZI`o*|(2%)S&|a?P0*J zB+>;pRYxvZ066LnDW)0Cj?_dDwk1!w=sVxu9(@h~HW~m}lS6sCV>zaCd)&I36Pl1R zCmAIv0BogOyX`d_oZzgF2kt#g=&Qp=FNlcVHhMaX^9{L45b+4P0F`MP)AdBcP>Fqm zh`ePIXk$BTXSJ(*^aRsY_BZX+X1X!$ribl*$uo+i1HCl$mfY@~k|Y&4+semp&eP+L zCv3USDUO-Y2RAIypTC!yZ)iD}VHz&wlCWZ+%$`I^7-r&TssdD6;6?*MI9PJ0CxP z=9zN<@NfR{@9e*Mb?@S}Y*0S;iKnhz+WVc~_$^VC!G}Nmm;d+K^IK<54gary{xyi` z>{DkXCEx$!SHAb}zV)e}f4T0|@BP!?P5VW&SpMEW`P~;j{}a7Tj;|j4zyJGJFaFtU znPB<$sdA%#PVnl^}Z+eIDWb>PiJgl z{9YRXVCg`)Sa2k%m6V>(F-GomRx-Lwh&!8Wh#n#AB086k`>ge_pOR3rrSpbiCP=y= z`F6%nWptQ&K%EIDLL`{xB*zF>#&>S$LT-FQP+%Apyii`JBmn?{MZ$E>8iv_OZX{GD z^e+S2ytGJgJ#E&9m1R`PI7k^vJJq&Z*mNt^q_M4hBwGt}oUkNB1OOoh zADv*_cw=KwSU09YC^F1eOH~teYg<5o5m}YEq?jUtmFpMR(L5 zr7V+J++`rIL|O2a?IcNNW*U(_?4|{}blHqtVIh^jt80jO@(I0WQV)S8C z0-dz{n5V(}KlzuxzxwmSr=NZ9`6qw(w}0=YFZ|4Be&utoeEr{#&Yyby8{hruFa8|H zHwBT9eu@BP~9^4-@i9bUZN|IBj$aCq_h-}v>v zwR!dw>gT(Q_5m-a9(q;K`@$*j2S0renGctR!=pjOoADxB@4YYcettkVBweX|CSzwZ zaM5=@b`B~Vd=O`I=c4QLH2@g0^&a&Uk&%GfHvcC4Rt;q6|$owhp}a>32C zGG1{~a@@Jljl{O{`lzc8)o4u|ue{6_T6CVRi8`TLd9^7wu3P?{{R<|bpWb|>poNLF zWY7NjRJ^=3tCwmiU2VzfLhqF7FOTw0V=jGV7CYI_tq3j~%_!NtJ=FU^?H{#AE;vaA zabROQGeMAPj!_*rK=8qLt}=eMCI#RG1w*g|ve7wPNDBassTX>-mF@sQZL1y|2+ZE$ zEBB6$=cC7jY|>LXYY*BziTPf0NDw*JQ$ZvE*x;0#Z^}~+w=1)`i-rQ-PR=Y%?W0d= zYJ(F5Y;d<(uW7=dvmK$bU~4xw&K)Lhi*B2+8w0dPuQmz@q7;Mk{zx4ODoc@#L&K?5 zvg45j?{Zp}ysvz>3b^M)NRm*@lvgVX-gyN8K6qH|e?JEAhpXPnTF%k^QG#%a0C7Tb z!T|xN3;?FPhcExi=jK-r|MK5{>r4OO*Z#?W_dl8tbBX}q+^3&Y*6np>yG*Co4u0}i zKDST?8^3em)X|kaYur!#+^4?w&%V02be*mBjxHZO_4l5~7^}K@_5byiRG-zYVQ@i0{bL5@K}0oy#xW z@>!ePYNABKASbpm%baB{I!V*10vEKP0ztyzzn7TkbxVb$h7zS*k@ht_?g{m>j z*0qB4jbBPC1rZ40M%M{VI@bxBVdx6Zk@pLjZ^%s-9RLInA-YX5oSJbA&ILe(YOey3 zG3s@(-nce8)wK=eI3Y5jausy9lbyL(y|E(SD-;hQ-mM#ABF986?gyS2sIDgx;g9x%Floabcn_Sx?ob4YjPHpyn z>K9-B-XDIOtq-35$>*gIF@)d$U%!$R=`Z~4FC|6#JHPQyZ#6AA^G)}tb%}T%dqKQA zi$wPm!hh6Tdko?4I_!8Rv*dll#{GHtdT z-78z?WpCM7ZS`aoAJ$BPi?H$8b zU|QRH<&I7OD%05DR_@|K@-B z?U#S`udQD={jIP4(YfcJ004KJ3&prmJ7s#|6VJZ>&F}oe^XC%^|KWR=p7`W5sGnDh z`X_$rr~mP<|EBEapZ}Y`ti1<-$+d%D{99j6inLp{lk0~!@&D$)D-vkbBiKFS$-f_T zXB595MEn8zo&A_Xc%xO*6;Gde-xK>BZzlM#3!fNDj-m?T)nmJ~@#!JTkq58@IUR@# zPU2MZ6aaEuYNrZdf|8ZP*PDyAmo{gw91bFqB?E#|kJ=+O`dC@P%@A!#W<9=K7_1zW zf~SlP+4fg1ub(dTAMVrIZf>WO73aRZc=|%|`dB?Rl=Hp1&vATu*ks)6fHUrM<`bUi zx%%??vGRJan_`3-+wA0byIF~Zq;Dg-i{1qdP9!*$L=^Px3T6pP0U$5RzgilMrk$@k z@4ze&h8VyFj}R6l)xKqzGL|Xb2tq4U5x@w@R4=wk zh@@F#<^Z6*YE4TKNm+hvIUUMjh)xgz00a>aj=@pkzn8?VXcb8k@VhK)Ma#3nWO8?m7VM~0A81)%hi>> zESF|UFa?0dwVQzH&2%pGq0fDf!TV&$@qN(a4h|rxNI9SFO~tSTfQ|Fp0P*#2eD~6~ zUo)-#;(z~Nm=GcO+pq7O`^o?GKmOYP{LlZ7fB2hRFx%-b{Wo6`~oqqXFh)6mJX{jM2~(~i6{Ji-k*0rqORlbeesVY zgpX&K5Gd34J+WZuOvYMg4qGD#`rgdB7@zI8$md-HyJ7}FUvFe;<~w-^Pem20FMTA4}MKhx^MvyygsR(8I@oD^}k(BW`Lj^4)U(MKAEHK_2cm@&C=7)KM4T)%T5sT zlfU}&FMj?fbffy)>(My?sEu1cv-vmv{(nUonVdNJzLy6VKd`)b!Y>)U>#umfoZ5ao zSU5ab1(uUVv2{;5M2}P$2zR8y%9bt&5I}P+v`+*H2y{E4q=Hm6C7F(mUe!+|JtA7UX@38YC2yD>qV!9rD4gHkdI+J~#jvq{D-H zzxFC;xeZPbG0{f^gG5yOZs{mRWEG_rLE8u`qk3ahN{ZSxKDy4WVyvb1s2CBHY{1omCr>8ST1dSI^qn!TjG}45!>=Li$NP z>yGC>q6+d!$G&`ie8*cpHZ$w(niye(@A70Y*4kT!!_qD*v*1Js!UK2{Y+v*%H9wu5 z%~;m?t|toRwF_?2O(PJFrS^4Y>%(rp@eRY2Vidp=#5m!7-Ya-cv7`w5=r__0?RA7u z@?L}(A*@z<5db4*LmMFoLNI17M&&g@SO?7sZ*3C+FpwCbU`aw5@>o!&ycHxd&L&KD zw$-7DD0D`*zU7EWg3JObuYGPE?gAz#I_-^QvUTm!Rzp6hY#n3lTvv)RMxUXaGB%wa zA55;rDCtLY%sd9~6E&Lyz_`85@A33Ho-FKZS6+Ya+#Swr)VoEDTQ$Cc=CGb8h|+)Y z4}a5Y{mcLDf0h*K8~ewrpC+xEwC^G%byr>5FE5;WwB99pH%CVgkm?~o@r1X-AFSWm zL-z@PFbde+2>`Iu_gch{BIIHOfXxKw36+j=P131m|>>G8aFdS;gE$%ugf>}enXzz}DI=OkU# zNZn4iuhdsfu*!9kCfYjy@WB$C_~5kH7}1;wfimT$1XGM$Wfp=6f{5~sq!JL*J|cpg zcN8-d6dV)qjyTMQ45e?JEA4=f+uH*L|~sOG&KoYD4ZE(E_rHSYHl(OI{du$N!{ z_zPeBe1B`WyJ%bM?smbn((_t8wex}L@`LO*2;Pfw-#1;*9n-KpLM$BpxQ}`r}NFVog$Yd8`Q2w2vN*1#uU>+^a@rk^#Y;~0LFExEa%g?t35)FeniH} zWAJ{!>J7_$R<+lT(sxwjzBjAscgNLMT|1zYd&z{_Y4X0dNAzfPpZE4;yFXm~ohLrH}4`k>wAL^8||+ufY! zgLE)!XZof)tqA~tT`;Sq55^7x_^|W<1an4G2&D6E6PjaP2_iE>8t(-L1K@*gTnhj| z`ju;XJgJ@5UIBm&9Dw_9WMjK2*Ih6a0Yn!G*WR~YmAvPoLKqf$o@XTh5R6=~wS%7Q zyEqv=-M{$l@&3hwCqI4OAt$lOlMPDfw40I$1ZW2h!Z23Hg~$_{B_x$JtxZ+A3O@$# z50R25qb)iaf#|8z-g&sZe~&hKG_7D--TLMr&nNem#@sHuG*8}#Z9jr<2t61se$p%) zJTJuyd9HLYyj zxP~H15$W-si{3@AOrFs!B_#li)#26V(!yv6WCek%h8W@*%{CH0)<_~Tlp8t8N~8eb zpcX6twQn50lrx{)7O(!+Jbi6i)|ULrx$B?b`JRieWR- zmm7mu8!EAlruL1Bx^@-Cw8wfQv3@JTiwj25)Og&Nj+1aZc(1g*@hn5s&T%3$n&mvt zdFF!h5EGIjAO$T($tD48gIP=ZF~sP@R<^lXG}vgilWjp5Bb*`{K~L?%MociLxDP;_ z2LNDLNSv*Sp$)F_o?_wxPH74N6cNeR06K(F?cB{*Mj);hNge=PG#N@qvcQ;9!aZ_* zDiRVUrq(-z$)VZ<0E$FTa~B5M)CNHG@aB`J+orw#+8#wT7a0LWBa|c^$&Gcnkx)S* zQNCH|xpCTh6JktQ&Jm{%U~D`F?-M8A4;{Q$M{(iQ^3r}$WH2n>$MkwQ>s1Q?SOCB+ z%6@qt&cFYzwraZK?8YP9vEC2y?mHJhX%>F6ob>&qJtBoh?u#161Hiph`vw3(Q9<$2 z#l`|fC<2#cbkHgQRWQD^hT(|~#D#?5eh7zavd1u|n0Bu9F-9=g>jVHbuE}UN6hnsi z3j5z(mop*hnH1ib-=O0Fup#N8_N$U&PY+rE*vhpINZ<$n$BNAr9m@Gj!`<3Y<+@Yp z7DN2iasKq6Z5{c_<@GP0AAjZYdd~b8&rWV_U^Bs;3Nqo0a2LI#DFqtg2f{%G77~ds zo}K*3w0v$@-FXoo&6WBsNwag=4LiY`)%Q7(#8)}Fktt=s1_L&@-dx?U4_)*H%UtkN zHD#Eu%h7?__t8;Ar)q{Vo#|sA+=X(7A;WP3phE-zk&{$l+WM|w#nLVXkxN@inh?xF zU@ABt9Klq3Er@7b8vz0MoTjyFT?EPmpae+NzV57z1XvK5MQR*DNC!PuN9%H=dn!`0<(De@ds0O-*n1=;#WId#zPmg&F;YrP?u(T6ds zJqGWOinL)V$1}4(<)iZM!bR{Gp4qu}648X=Er$GT@H!~2Wk56F=IQT1he z6x7fzG6V%hjRgRhs4z1uAsm69X_64sfgnV294V?t`KgR#F8U*ND6s5&+t?tfJfEi& z<+o%;&>jedJ8wU&WiZvpf-s7>i)K3=Z%guLlc!oop6Is#Fl#xdVNKf0^8^5{EQdca z3=3N!4oB*6D0Xt@2dNnV%oPQIFPwfWrv(70pd^+Qk-@3nY=3d;iP35qaZ?lWj>W|4 z!)MBckE*X0PWS;^sMrl5afMCNG<)G(w?%%1SkOb-~M{Ppz z?%vOJG4=&HSKvO!D>{BYCj~Qrz{Y@(9%iN>Ek$~wdsiEGp!OP9CrIWr8?d#_q&T0a zE2wK+Ggjk?oh)3deN(&2I&-U`iJh!I^l2&xYeVg$v(5$&J>L7&@aU-FI-qav_EC&i z7Rh%G%bsvMnJTykfF3Jb(}fTv#z zI#0j8xAxVmqxX6^*1Ju4>iPZ)6p@utK~O<3B?MDMj`i%=9!>0Iti}gwuM2eqz=&?i zQ%?^*CaAbNzp^mRS~5`9t{mkYkc7$zfC2kZBM=T0!DuAb1(6sb7v0h=B@q&3naD#7 z8Ovj61Re;|FL_VmoFXF00s+ct$_S@KTyOSLR1g9Y;<{Xq5eKj;xM8wsL6>xGO^hP= z1GR?&0vr)o1%MI5xZJqV8=l^r9L)|dEf^8ntIl*0;_6>Y)2)1)fk1#`3_h5Wm-It0 z1|Ea=qYB;t0FsyIHo-XP%*s#aj$%V9%5$eaeSW|=zV^mGH1oF{vAyE`<<}h(3@CXd zdlmX2uQ>6P<2M8$i1EZY6DdLfFxMV{)HVu=e2CZEz%dax zw2m%p-YtEPM*v7j=e#i9X@87>Xi${!=p!Ryrl-a`PADZjM2isu;1{;)v9j`25pRULQO2F~l#;JrS>MUk6M4HKe_&bj%}Kdi%Yr*j z!yO;aSdDd5Jlv>FLJ_gi#1H|XGp(g2CCO2Hn6Z47&V^u#5$?&pB|aks04-Q1NTz(F ze9H(0fX+5c+ZF&GQ57Kv-~a�Q6ZIy&Ib&7kuNElH|^rt#sq!;w>K>!7W8H<=L#8 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%0Aa+eCdxVPzMTkiFjiVRZzA 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
_K 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 z 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
_K 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 z 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 Date: Fri, 3 May 2024 00:06:49 +0200 Subject: [PATCH 07/26] working on implementing timer and callback functionality --- vtk/src/helperClasses/BackgroundImage.h | 15 +++++ vtk/src/helperClasses/EGlyphLayer.cpp | 60 ++++++++++--------- vtk/src/helperClasses/EGlyphLayer.h | 14 ++++- vtk/src/helperClasses/LGlyphLayer.cpp | 80 ++++++++++++++++++++++++- vtk/src/helperClasses/LGlyphLayer.h | 16 ++++- vtk/src/helperClasses/Layer.cpp | 4 ++ vtk/src/helperClasses/Layer.h | 9 +++ vtk/src/helperClasses/Program.cpp | 32 +++++++--- vtk/src/helperClasses/Program.h | 7 +-- vtk/src/main.cpp | 8 ++- 10 files changed, 200 insertions(+), 45 deletions(-) diff --git a/vtk/src/helperClasses/BackgroundImage.h b/vtk/src/helperClasses/BackgroundImage.h index 7026993..1061189 100644 --- a/vtk/src/helperClasses/BackgroundImage.h +++ b/vtk/src/helperClasses/BackgroundImage.h @@ -4,18 +4,33 @@ #include "Layer.h" #include +/** Implements the Layer class for the case of a background image. + * Specifically, reads a backgroundImage given by the imagePath attribute and puts it on layer 0. + */ class BackgroundImage : public Layer { private: std::string imagePath; vtkSmartPointer readerFactory; + /** This private function updates the background image using the imagePath attribute. + */ void updateImage(); public: + /** Constructor. + * @param imagePath : String to the path of the image to use as background. + */ BackgroundImage(std::string imagePath); + /** Getter. + * @return the imagePath attribute. + */ std::string getImagePath(); + + /** Setter. Can be used to change the background image + * @param imagePath : String to the path of the new image to use. + */ void setImagePath(std::string imagePath); }; diff --git a/vtk/src/helperClasses/EGlyphLayer.cpp b/vtk/src/helperClasses/EGlyphLayer.cpp index 6c5050e..7146dc5 100644 --- a/vtk/src/helperClasses/EGlyphLayer.cpp +++ b/vtk/src/helperClasses/EGlyphLayer.cpp @@ -1,4 +1,7 @@ #include "EGlyphLayer.h" +#include +#include +#include #include #include #include @@ -39,8 +42,6 @@ tuple, vector, vector> readGrid() { } - - EGlyphLayer::EGlyphLayer() { this->ren = vtkSmartPointer::New(); this->ren->SetLayer(1); @@ -54,53 +55,56 @@ EGlyphLayer::EGlyphLayer() { void EGlyphLayer::readCoordinates() { vtkNew points; auto [times, lats, lons] = readGrid(); // FIXME: import Robin's readData function and use it + vtkNew direction; + direction->SetName("direction"); + direction->SetNumberOfComponents(3); + direction->SetNumberOfTuples(67*116); //FIXME: use robins function to get num of points + points->Allocate(67*116); - double i = 0; + int i = 0; for (double lat : lats) { for (double lon : lons) { - //FIXME: hard-coded values; should update with window geometry. - points->InsertNextPoint((lat*1000-46125)*661/16500, (lon*1000+15875)*661/28750, 0); + direction->SetTuple3(i, 0.45, 0.90, 0); //FIXME: read this info from file; figure out how to update it dynamically + points->InsertPoint(i++, (lat*1000-46125)/25, (lon*1000+15875)/43.5, 0); // FIXME: counts on fixed window geometry to map properly; refactor to make use of active window geometry. + // see also https://vtk.org/doc/nightly/html/classvtkPolyDataMapper2D.html } } this->data->SetPoints(points); + this->data->GetPointData()->AddArray(direction); + this->data->GetPointData()->SetActiveVectors("direction"); + + vtkNew arrowSource; + arrowSource->SetGlyphTypeToArrow(); + arrowSource->SetScale(8); //TODO: set this properly + arrowSource->Update(); - // vtkNew arrowSource; - vtkNew arrowSource; vtkNew glyph2D; glyph2D->SetSourceConnection(arrowSource->GetOutputPort()); glyph2D->SetInputData(this->data); + glyph2D->OrientOn(); + glyph2D->ClampingOn(); + glyph2D->SetScaleModeToScaleByVector(); + glyph2D->SetVectorModeToUseVector(); glyph2D->Update(); - vtkNew(mapper); + vtkNew coordinate; + coordinate->SetCoordinateSystemToWorld(); + + vtkNew(mapper); + // mapper->SetTransformCoordinate(coordinate); mapper->SetInputConnection(glyph2D->GetOutputPort()); mapper->Update(); - vtkNew actor; + vtkNew actor; actor->SetMapper(mapper); - vtkNew colors; - actor->GetProperty()->SetColor(colors->GetColor3d("Salmon").GetData()); + actor->GetProperty()->SetColor(0,0,0); + actor->GetProperty()->SetOpacity(0.2); this->ren->AddActor(actor); - - // vtkNew glyphFilter; - // glyphFilter->SetInputData(this->data); - // glyphFilter->Update(); - // - // vtkNew mapper; - // mapper->SetInputConnection(glyphFilter->GetOutputPort()); - // mapper->Update(); - // - // vtkNew colors; - // vtkNew actor; - // actor->SetMapper(mapper); - // actor->GetProperty()->SetColor(colors->GetColor3d("Gold").GetData()); - // actor->GetProperty()->SetPointSize(3); - // - // this->ren->AddActor(actor); } -void EGlyphLayer::updateData(short t) { +void EGlyphLayer::updateData(int t) { } diff --git a/vtk/src/helperClasses/EGlyphLayer.h b/vtk/src/helperClasses/EGlyphLayer.h index e401d07..04d2559 100644 --- a/vtk/src/helperClasses/EGlyphLayer.h +++ b/vtk/src/helperClasses/EGlyphLayer.h @@ -4,15 +4,27 @@ #include "Layer.h" #include +/** Implements the Layer class for the case of a Eulerian visualization. + * Specifically, this class models the eulerian flow-fields of the simulation using the 'glyph' mark and 'direction' and 'form' channels to denote direction and strength of velocities. + */ class EGlyphLayer : public Layer { private: vtkSmartPointer data; + /** This private function sets up the initial coordinates for the glyphs in the dataset. + * It also reads some initial data to actually display. + */ void readCoordinates(); public: + /** Constructor. + */ EGlyphLayer(); - void updateData(short t); + + /** updates the glyphs to reflect the given timestamp in the dataset. + * @param t : the time at which to fetch the data. + */ + void updateData(int t); }; diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/helperClasses/LGlyphLayer.cpp index 9541079..7607a47 100644 --- a/vtk/src/helperClasses/LGlyphLayer.cpp +++ b/vtk/src/helperClasses/LGlyphLayer.cpp @@ -1,11 +1,89 @@ #include "LGlyphLayer.h" +#include +#include +#include +#include +#include +#include +#include +// TODO: add interactionStyle functionality +// TODO: add timer + advection (probably from the program class not here) +// TODO: how do we handle mapping between pixelspace and lat/lon (needed for advection)? Current idea: store the vtkPoints in lat/lon system, then apply a transformfilter to map them to the current window geometry. This should allow for a changing viewport as well - we can query the new camera position and map accordingly. +// Further notes; current thinking is to allow tracking a particle's age by using a scalar array in the VtkPolyData. This would be incremented for every tick/updateData function call. +// Another challenge is the concept of beaching; dead particles must not be included in the advect function call (wasted computations), but they should not be outright deleted from the vtkPoints either (we still want to display them). Working Solution: have another array of ints in the vtkPolyData, which tracks for how many calls of UpdateData a given particle has not had its position changed. If this int reaches some treshold (5? 10? 3? needs some testing), exclude the particle from the advect call. +// +// TODO: modelling all this in vtkClasses is workable, but ideally i would want to work with a native C++ class. See if this is doable and feasible. LGlyphLayer::LGlyphLayer() { this->ren = vtkSmartPointer::New(); this->ren->SetLayer(2); + + this->points = vtkSmartPointer::New(); + this->data = vtkSmartPointer::New(); + this->data->SetPoints(this->points); + + vtkNew circleSource; + circleSource->SetGlyphTypeToCircle(); + circleSource->SetScale(15); + circleSource->Update(); + + vtkNew glyph2D; + glyph2D->SetSourceConnection(circleSource->GetOutputPort()); + glyph2D->SetInputData(this->data); + glyph2D->SetColorModeToColorByScalar(); + glyph2D->Update(); + + vtkNew mapper; + mapper->SetInputConnection(glyph2D->GetOutputPort()); + mapper->Update(); + + vtkNew actor; + actor->SetMapper(mapper); + actor->GetProperty()->SetColor(1,1,1); + + this->ren->AddActor(actor); } -void LGlyphLayer::updateData(short n) { +// creates a few points so we can test the updateData function +void LGlyphLayer::spoofPoints() { + this->points->InsertNextPoint(53, 2, 0); + this->points->InsertNextPoint(48.2, 111.01, 0); + this->points->InsertNextPoint(331, 331, 0); + this->points->Modified(); +} + + +// returns new coords for a point; used to test the updateData function +std::pair advect(int time, double lat, double lon) { + return {lat+1, lon+1} ; +} + + +// converts a x,y pair from pixel coordinates to real world latitude and longitude. +// TODO: make this more modular by having it interact with the backgroundImage layer (and possibly the camera panning/zooming logic when that is implemented). +std::pair pixelToReal(double x, double y) { + //assumes a 661x661 window with a range of [46.125, 62.625] lat and [-15.875, 12.875] lon. + return {(x*25+46125)/1000, (y*43.5-15875)/1000}; +} + +// converts a lat,lon pair from real world values to pixel coordinates. +// TODO: see above. +std::pair realToPixel(double lat, double lon) { + //assumes a 661x661 window with a range of [46.125, 62.625] lat and [-15.875, 12.875] lon. + return {(lat*1000-46125)/25, (lon*1000+15875)/43.5}; +} + +// FIXME: actually the above functions are a bit of a naive way of modelling these. Much better would be to have the points at the real-world latitude and longitude, and apply a filter in the pipeline to convert them to the appropriate window geometry. + void LGlyphLayer::updateData(int t) { + double point[3]; + for (vtkIdType n=0; n < this->points->GetNumberOfPoints(); n++) { + this->points->GetPoint(n, point); + auto grads = pixelToReal(point[0], point[1]); + auto newGrads = advect(n, grads.first, grads.second); + auto newPixs = realToPixel(newGrads.first, newGrads.second); + this->points->SetPoint(n, newPixs.first, newPixs.second, 0); + } + this->points->Modified(); } diff --git a/vtk/src/helperClasses/LGlyphLayer.h b/vtk/src/helperClasses/LGlyphLayer.h index 775e256..e13257c 100644 --- a/vtk/src/helperClasses/LGlyphLayer.h +++ b/vtk/src/helperClasses/LGlyphLayer.h @@ -4,14 +4,28 @@ #include "Layer.h" #include +/** Implements the Layer class for the case of a Lagrangian visualization. + * Specifically, this class models the Lagrangian particles in the simulation using the 'glyph' mark and 'transparency' channel to denote age. + */ class LGlyphLayer : public Layer { private: vtkSmartPointer points; vtkSmartPointer data; + public: + /** Constructor. + */ LGlyphLayer(); - void updateData(short t); + + /** This function spoofs a few points in the dataset. Mostly used for testing. + */ + void spoofPoints(); + + /** updates the glyphs to reflect the given timestamp in the dataset. + * @param t : the time at which to fetch the data. + */ + void updateData(int t) override; }; diff --git a/vtk/src/helperClasses/Layer.cpp b/vtk/src/helperClasses/Layer.cpp index 8691804..b447f4a 100644 --- a/vtk/src/helperClasses/Layer.cpp +++ b/vtk/src/helperClasses/Layer.cpp @@ -5,3 +5,7 @@ using std::string; vtkSmartPointer Layer::getLayer() { return this->ren; } + +void Layer::updateData(int t) { + cout << "wrong function dimwit" << endl; +} diff --git a/vtk/src/helperClasses/Layer.h b/vtk/src/helperClasses/Layer.h index 753f6bf..7e418b8 100644 --- a/vtk/src/helperClasses/Layer.h +++ b/vtk/src/helperClasses/Layer.h @@ -11,7 +11,16 @@ protected: vtkSmartPointer ren; public: + /** gets the vtkRenderer to assign it to the vtkRenderWindow of the program class. + * @return pointer to the vtkRenderer of this class. + */ virtual vtkSmartPointer getLayer(); + + + /** updates the data in the layer to reflect the given timestamp. + * @param t : the timestamp which the data should reflect. + */ + virtual void updateData(int t); }; #endif diff --git a/vtk/src/helperClasses/Program.cpp b/vtk/src/helperClasses/Program.cpp index b0c52d8..b46ca81 100644 --- a/vtk/src/helperClasses/Program.cpp +++ b/vtk/src/helperClasses/Program.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "Program.h" @@ -7,23 +8,40 @@ void Program::setWinProperties() { this->win->SetWindowName("Simulation"); this->win->SetSize(661, 661); + this->win->SetDesiredUpdateRate(60); this->interact->SetRenderWindow(this->win); + this->interact->Initialize(); + } -// Program::Program() : background(), euler(), lagrange(), win(), interact() { -// setWinProperties(); -// } +void Program::CallbackFunction(vtkObject* caller, long unsigned int eventId, void* clientData, void* callData) { + cout << "timed" << endl; + ((Program *)clientData)->lagrange.updateData(1); + //FIXME: from what i understand this should call the (overriden) updateData function in LGlyphLayer. It's not - and calls the virtual(?) updateData function in Layer instead, for some reason. + //Im too tired to comprehend this right now. +} -Program::Program(Layer bg, Layer e, Layer l) : background(bg), euler(e), lagrange(l), win(), interact() { + +void Program::setupTimer() { + vtkNew callback; + callback->SetCallback(this->CallbackFunction); + callback->SetClientData(this); + this->interact->AddObserver(vtkCommand::TimerEvent, callback); + this->interact->CreateRepeatingTimer(17); // 60 fps == 1000 / 60 == 16.7 ms per frame +} + + +Program::Program(Layer *bg, Layer *e, Layer *l) : background(*bg), euler(*e), lagrange(*l), win(), interact() { this->win = vtkSmartPointer::New(); this->interact = vtkSmartPointer::New(); this->win->SetNumberOfLayers(3); - this->win->AddRenderer(bg.getLayer()); - this->win->AddRenderer(e.getLayer()); - this->win->AddRenderer(l.getLayer()); + this->win->AddRenderer(bg->getLayer()); + this->win->AddRenderer(e->getLayer()); + this->win->AddRenderer(l->getLayer()); setWinProperties(); + setupTimer(); } diff --git a/vtk/src/helperClasses/Program.h b/vtk/src/helperClasses/Program.h index f086bdf..769cc64 100644 --- a/vtk/src/helperClasses/Program.h +++ b/vtk/src/helperClasses/Program.h @@ -16,17 +16,16 @@ private: vtkSmartPointer interact; void setWinProperties(); - + static void CallbackFunction(vtkObject* caller, long unsigned int eventId, void* clientData, void* callData); + void setupTimer(); public: - // Program(); - Program(Layer bg, Layer e, Layer l); + Program(Layer *bg, Layer *e, Layer *l); void setBackground(Layer bg); void setEuler(Layer e); void setLagrange(Layer l); - // void addInteractionStyle(vtkInteractorStyle style); void render(); diff --git a/vtk/src/main.cpp b/vtk/src/main.cpp index bd48eb0..d5aa31d 100644 --- a/vtk/src/main.cpp +++ b/vtk/src/main.cpp @@ -1,5 +1,4 @@ #include -#include #include #include #include @@ -11,6 +10,7 @@ #include "helperClasses/BackgroundImage.h" #include "helperClasses/EGlyphLayer.h" +#include "helperClasses/LGlyphLayer.h" #include "helperClasses/Program.h" using namespace std; @@ -19,8 +19,10 @@ using namespace std; int main() { auto bg = new BackgroundImage("../../../../data/map_661-661.png"); auto e = new EGlyphLayer(); - auto l = new EGlyphLayer(); - auto program = new Program(*bg, *e, *l); + auto l = new LGlyphLayer(); + l->spoofPoints(); + + auto program = new Program(bg, e, l); program->render(); return EXIT_SUCCESS; From b83f49b4adb04b741c652c5700d993ae7778103c Mon Sep 17 00:00:00 2001 From: djairoh Date: Fri, 3 May 2024 00:17:28 +0200 Subject: [PATCH 08/26] fix: had to chagne to pointers for the virtual function to override properly --- vtk/src/helperClasses/LGlyphLayer.cpp | 2 +- vtk/src/helperClasses/Layer.cpp | 1 - vtk/src/helperClasses/Program.cpp | 26 ++++++++++++-------------- vtk/src/helperClasses/Program.h | 12 ++++++------ 4 files changed, 19 insertions(+), 22 deletions(-) diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/helperClasses/LGlyphLayer.cpp index 7607a47..bec5866 100644 --- a/vtk/src/helperClasses/LGlyphLayer.cpp +++ b/vtk/src/helperClasses/LGlyphLayer.cpp @@ -57,7 +57,7 @@ void LGlyphLayer::spoofPoints() { // returns new coords for a point; used to test the updateData function std::pair advect(int time, double lat, double lon) { - return {lat+1, lon+1} ; + return {lat+0.001, lon+0.001} ; } diff --git a/vtk/src/helperClasses/Layer.cpp b/vtk/src/helperClasses/Layer.cpp index b447f4a..68476ac 100644 --- a/vtk/src/helperClasses/Layer.cpp +++ b/vtk/src/helperClasses/Layer.cpp @@ -7,5 +7,4 @@ vtkSmartPointer Layer::getLayer() { } void Layer::updateData(int t) { - cout << "wrong function dimwit" << endl; } diff --git a/vtk/src/helperClasses/Program.cpp b/vtk/src/helperClasses/Program.cpp index b46ca81..8f5a578 100644 --- a/vtk/src/helperClasses/Program.cpp +++ b/vtk/src/helperClasses/Program.cpp @@ -16,10 +16,8 @@ void Program::setWinProperties() { } void Program::CallbackFunction(vtkObject* caller, long unsigned int eventId, void* clientData, void* callData) { - cout << "timed" << endl; - ((Program *)clientData)->lagrange.updateData(1); - //FIXME: from what i understand this should call the (overriden) updateData function in LGlyphLayer. It's not - and calls the virtual(?) updateData function in Layer instead, for some reason. - //Im too tired to comprehend this right now. + ((Program *)clientData)->lagrange->updateData(1); + ((Program *)clientData)->win->Render(); } @@ -32,7 +30,7 @@ void Program::setupTimer() { } -Program::Program(Layer *bg, Layer *e, Layer *l) : background(*bg), euler(*e), lagrange(*l), win(), interact() { +Program::Program(Layer *bg, Layer *e, Layer *l) : background(bg), euler(e), lagrange(l), win(), interact() { this->win = vtkSmartPointer::New(); this->interact = vtkSmartPointer::New(); @@ -45,25 +43,25 @@ Program::Program(Layer *bg, Layer *e, Layer *l) : background(*bg), euler(*e), la } -void Program::setBackground(Layer bg) { - this->win->RemoveRenderer(this->background.getLayer()); +void Program::setBackground(Layer *bg) { + this->win->RemoveRenderer(this->background->getLayer()); this->background = bg; - this->win->AddRenderer(bg.getLayer()); + this->win->AddRenderer(bg->getLayer()); } -void Program::setEuler(Layer e) { - this->win->RemoveRenderer(this->euler.getLayer()); +void Program::setEuler(Layer *e) { + this->win->RemoveRenderer(this->euler->getLayer()); this->euler = e; - this->win->AddRenderer(e.getLayer()); + this->win->AddRenderer(e->getLayer()); } -void Program::setLagrange(Layer l) { - this->win->RemoveRenderer(this->lagrange.getLayer()); +void Program::setLagrange(Layer *l) { + this->win->RemoveRenderer(this->lagrange->getLayer()); this->lagrange = l; - this->win->AddRenderer(l.getLayer()); + this->win->AddRenderer(l->getLayer()); } // void Program::addInteractionStyle(vtkInteractorStyle style); diff --git a/vtk/src/helperClasses/Program.h b/vtk/src/helperClasses/Program.h index 769cc64..35013d5 100644 --- a/vtk/src/helperClasses/Program.h +++ b/vtk/src/helperClasses/Program.h @@ -9,9 +9,9 @@ class Program { private: - Layer background; - Layer euler; - Layer lagrange; + Layer *background; + Layer *euler; + Layer *lagrange; vtkSmartPointer win; vtkSmartPointer interact; @@ -22,9 +22,9 @@ private: public: Program(Layer *bg, Layer *e, Layer *l); - void setBackground(Layer bg); - void setEuler(Layer e); - void setLagrange(Layer l); + void setBackground(Layer *bg); + void setEuler(Layer *e); + void setLagrange(Layer *l); // void addInteractionStyle(vtkInteractorStyle style); From 63892ca363245203fb55e56690c757a0aebb7c32 Mon Sep 17 00:00:00 2001 From: robin Date: Fri, 3 May 2024 14:15:27 +0200 Subject: [PATCH 09/26] spawning points --- .gitignore | 2 +- vtk/src/CMakeLists.txt | 2 + vtk/src/helperClasses/LGlyphLayer.cpp | 12 ++++ vtk/src/helperClasses/LGlyphLayer.h | 4 ++ vtk/src/helperClasses/Program.cpp | 12 +++- vtk/src/helperClasses/Program.h | 4 +- vtk/src/helperClasses/SpawnPointCallback.cpp | 60 ++++++++++++++++++++ vtk/src/helperClasses/SpawnPointCallback.h | 31 ++++++++++ vtk/src/main.cpp | 1 + 9 files changed, 123 insertions(+), 5 deletions(-) create mode 100644 vtk/src/helperClasses/SpawnPointCallback.cpp create mode 100644 vtk/src/helperClasses/SpawnPointCallback.h diff --git a/.gitignore b/.gitignore index 5ca0973..4befed3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ .DS_Store - +.idea diff --git a/vtk/src/CMakeLists.txt b/vtk/src/CMakeLists.txt index f4446c2..97f6e2e 100644 --- a/vtk/src/CMakeLists.txt +++ b/vtk/src/CMakeLists.txt @@ -42,6 +42,8 @@ add_executable(VtkBase MACOSX_BUNDLE main.cpp helperClasses/LGlyphLayer.h helperClasses/Program.cpp helperClasses/Program.h + helperClasses/SpawnPointCallback.h + helperClasses/SpawnPointCallback.cpp ) execute_process( diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/helperClasses/LGlyphLayer.cpp index bec5866..005439d 100644 --- a/vtk/src/helperClasses/LGlyphLayer.cpp +++ b/vtk/src/helperClasses/LGlyphLayer.cpp @@ -1,4 +1,5 @@ #include "LGlyphLayer.h" +#include "SpawnPointCallback.h" #include #include #include @@ -6,6 +7,17 @@ #include #include #include +#include +#include + + +vtkSmartPointer LGlyphLayer::createSpawnPointCallback() { + auto newPointCallBack = vtkSmartPointer::New(); + newPointCallBack->setData(data); + newPointCallBack->setPoints(points); + return newPointCallBack; +} + // TODO: add interactionStyle functionality // TODO: add timer + advection (probably from the program class not here) diff --git a/vtk/src/helperClasses/LGlyphLayer.h b/vtk/src/helperClasses/LGlyphLayer.h index e13257c..edc751d 100644 --- a/vtk/src/helperClasses/LGlyphLayer.h +++ b/vtk/src/helperClasses/LGlyphLayer.h @@ -2,7 +2,9 @@ #define LGLYPHLAYER_H #include "Layer.h" +#include "SpawnPointCallback.h" #include +#include /** Implements the Layer class for the case of a Lagrangian visualization. * Specifically, this class models the Lagrangian particles in the simulation using the 'glyph' mark and 'transparency' channel to denote age. @@ -13,6 +15,7 @@ private: vtkSmartPointer data; + public: /** Constructor. */ @@ -27,6 +30,7 @@ public: */ void updateData(int t) override; + vtkSmartPointer createSpawnPointCallback(); }; #endif diff --git a/vtk/src/helperClasses/Program.cpp b/vtk/src/helperClasses/Program.cpp index 8f5a578..1451cee 100644 --- a/vtk/src/helperClasses/Program.cpp +++ b/vtk/src/helperClasses/Program.cpp @@ -1,8 +1,10 @@ #include #include #include +#include #include "Program.h" +#include "SpawnPointCallback.h" void Program::setWinProperties() { @@ -13,6 +15,8 @@ void Program::setWinProperties() { this->interact->SetRenderWindow(this->win); this->interact->Initialize(); + vtkNew style; + interact->SetInteractorStyle(style); } void Program::CallbackFunction(vtkObject* caller, long unsigned int eventId, void* clientData, void* callData) { @@ -20,7 +24,6 @@ void Program::CallbackFunction(vtkObject* caller, long unsigned int eventId, voi ((Program *)clientData)->win->Render(); } - void Program::setupTimer() { vtkNew callback; callback->SetCallback(this->CallbackFunction); @@ -29,7 +32,6 @@ void Program::setupTimer() { this->interact->CreateRepeatingTimer(17); // 60 fps == 1000 / 60 == 16.7 ms per frame } - Program::Program(Layer *bg, Layer *e, Layer *l) : background(bg), euler(e), lagrange(l), win(), interact() { this->win = vtkSmartPointer::New(); this->interact = vtkSmartPointer::New(); @@ -64,7 +66,11 @@ void Program::setLagrange(Layer *l) { this->win->AddRenderer(l->getLayer()); } -// void Program::addInteractionStyle(vtkInteractorStyle style); +void Program::setLagrangeInteractor(SpawnPointCallback *cb){ + interact->AddObserver(vtkCommand::LeftButtonPressEvent, cb); + interact->AddObserver(vtkCommand::LeftButtonReleaseEvent, cb); + interact->AddObserver(vtkCommand::MouseMoveEvent, cb); +} void Program::render() { diff --git a/vtk/src/helperClasses/Program.h b/vtk/src/helperClasses/Program.h index 35013d5..002c977 100644 --- a/vtk/src/helperClasses/Program.h +++ b/vtk/src/helperClasses/Program.h @@ -6,6 +6,7 @@ #include #include "Layer.h" +#include "SpawnPointCallback.h" class Program { private: @@ -25,8 +26,9 @@ public: void setBackground(Layer *bg); void setEuler(Layer *e); void setLagrange(Layer *l); + void setLagrangeInteractor(SpawnPointCallback *cb); - // void addInteractionStyle(vtkInteractorStyle style); +// void addObserver(vtkInteractorStyle *style); void render(); }; diff --git a/vtk/src/helperClasses/SpawnPointCallback.cpp b/vtk/src/helperClasses/SpawnPointCallback.cpp new file mode 100644 index 0000000..14dbc49 --- /dev/null +++ b/vtk/src/helperClasses/SpawnPointCallback.cpp @@ -0,0 +1,60 @@ +#include "SpawnPointCallback.h" + +#include +#include +#include +#include +#include +#include + +void convertDisplayToWorld(vtkRenderer* renderer, int x, int y, double *worldPos) { + double displayPos[3] = {static_cast(x), static_cast(y), 0.0}; + renderer->SetDisplayPoint(displayPos); + renderer->DisplayToWorld(); + renderer->GetWorldPoint(worldPos); +} + +void SpawnPointCallback::Execute(vtkObject *caller, unsigned long evId, void *callData) { + // Note the use of reinterpret_cast to cast the caller to the expected type. + auto interactor = reinterpret_cast(caller); + + if (evId == vtkCommand::LeftButtonPressEvent) { + dragging = true; + } + if (evId == vtkCommand::LeftButtonReleaseEvent) { + dragging = false; + } + if (!dragging) { + return; + } + + int x, y; + interactor->GetEventPosition(x, y); + + vtkIdType id = points->InsertNextPoint(x, y, 0); + data->SetPoints(points); + + vtkSmartPointer vertex = vtkSmartPointer::New(); + vertex->GetPointIds()->SetId(0, id); + + vtkSmartPointer vertices = vtkSmartPointer::New(); + vertices->InsertNextCell(vertex); + data->SetVerts(vertices); +// data->Modified(); // These might be needed im not sure. +// ren->GetRenderWindow()->Render(); +} + + +SpawnPointCallback::SpawnPointCallback() : data(nullptr), points(nullptr) {} + +SpawnPointCallback *SpawnPointCallback::New() { + return new SpawnPointCallback; +} + +void SpawnPointCallback::setData(const vtkSmartPointer &data) { + this->data = data; +} + +void SpawnPointCallback::setPoints(const vtkSmartPointer &points) { + this->points = points; +} \ No newline at end of file diff --git a/vtk/src/helperClasses/SpawnPointCallback.h b/vtk/src/helperClasses/SpawnPointCallback.h new file mode 100644 index 0000000..99ab160 --- /dev/null +++ b/vtk/src/helperClasses/SpawnPointCallback.h @@ -0,0 +1,31 @@ +#ifndef VTKBASE_SPAWNPOINTCALLBACK_H +#define VTKBASE_SPAWNPOINTCALLBACK_H + + +#include +#include +#include +#include + +class SpawnPointCallback : public vtkCallbackCommand { + +public: + static SpawnPointCallback *New(); + SpawnPointCallback(); + + void setPoints(const vtkSmartPointer &points); + + void setData(const vtkSmartPointer &data); + +private: + vtkSmartPointer data; + vtkSmartPointer points; +public: + +private: + void Execute(vtkObject *caller, unsigned long evId, void *callData) override; + bool dragging = false; +}; + + +#endif //VTKBASE_SPAWNPOINTCALLBACK_H diff --git a/vtk/src/main.cpp b/vtk/src/main.cpp index d5aa31d..78b1a3a 100644 --- a/vtk/src/main.cpp +++ b/vtk/src/main.cpp @@ -23,6 +23,7 @@ int main() { l->spoofPoints(); auto program = new Program(bg, e, l); + program->setLagrangeInteractor(l->createSpawnPointCallback()); program->render(); return EXIT_SUCCESS; From da17aa5cfaa5bbf2a954b97847a823bb258bf654 Mon Sep 17 00:00:00 2001 From: djairoh Date: Fri, 3 May 2024 15:23:34 +0200 Subject: [PATCH 10/26] refactor of VtkCallbackCommand to be its' own class --- vtk/src/CMakeLists.txt | 2 ++ ...nd (conflicted copy 2024-05-03 143152).cpp | 22 +++++++++++++ ...mand (conflicted copy 2024-05-03 151842).h | 22 +++++++++++++ vtk/src/commands/TimerCallbackCommand.cpp | 30 +++++++++++++++++ vtk/src/commands/TimerCallbackCommand.h | 22 +++++++++++++ vtk/src/helperClasses/EGlyphLayer.cpp | 24 +++++++++----- vtk/src/helperClasses/EGlyphLayer.h | 3 ++ vtk/src/helperClasses/LGlyphLayer.cpp | 2 +- vtk/src/helperClasses/Program.cpp | 33 ++++++++++++++----- vtk/src/helperClasses/Program.h | 2 +- 10 files changed, 142 insertions(+), 20 deletions(-) create mode 100644 vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 143152).cpp create mode 100644 vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 151842).h create mode 100644 vtk/src/commands/TimerCallbackCommand.cpp create mode 100644 vtk/src/commands/TimerCallbackCommand.h diff --git a/vtk/src/CMakeLists.txt b/vtk/src/CMakeLists.txt index f4446c2..b7601ad 100644 --- a/vtk/src/CMakeLists.txt +++ b/vtk/src/CMakeLists.txt @@ -42,6 +42,8 @@ add_executable(VtkBase MACOSX_BUNDLE main.cpp helperClasses/LGlyphLayer.h helperClasses/Program.cpp helperClasses/Program.h + commands/TimerCallbackCommand.h + commands/TimerCallbackCommand.cpp ) execute_process( diff --git a/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 143152).cpp b/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 143152).cpp new file mode 100644 index 0000000..2a5391d --- /dev/null +++ b/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 143152).cpp @@ -0,0 +1,22 @@ +#include "TimerCallbackCommand.h" +#include "../helperClasses/Program.h" + + +// TimerCallbackCommand::TimerCallbackCommand() : dt(3600), maxTime(3600*24*365), time(0) {} + +TimerCallbackCommand *New() { + TimerCallbackCommand *cb = new TimerCallbackCommand(); + cb->setDefaults(); + return cb; +} + +void TimerCallbackCommand::Execute(vtkObject *caller, long unsigned int eventId, void* clientData, void* callData) { + this->time += this->dt; + + if (this->time >= this->maxTime) { + return; + // TODO: how do we deal with reaching the end of the simulated dataset? Do we just stop simulating, loop back around? What about the location of the particles in this case? Just some ideas to consider, but we should iron this out pretty soon. + } + + ((Program *)clientData)->updateData(this->time); +} diff --git a/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 151842).h b/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 151842).h new file mode 100644 index 0000000..76ece9e --- /dev/null +++ b/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 151842).h @@ -0,0 +1,22 @@ +#ifndef TIMERCALLBACKCOMMAND_H +#define TIMERCALLBACKCOMMAND_H + +#include +#include "../helperClasses/Program.h" + +class TimerCallbackCommand : public vtkCallbackCommand { +public: + TimerCallbackCommand(); + static TimerCallbackCommand* New(Program *program); + void Execute(vtkObject* caller, unsigned long eventId, void* vtkNotUsed(callData)) override; + + void setDefaults(); + + +private: + int time; + int dt; + int maxTime; +}; + +#endif diff --git a/vtk/src/commands/TimerCallbackCommand.cpp b/vtk/src/commands/TimerCallbackCommand.cpp new file mode 100644 index 0000000..4c43b74 --- /dev/null +++ b/vtk/src/commands/TimerCallbackCommand.cpp @@ -0,0 +1,30 @@ +#include "TimerCallbackCommand.h" +#include "../helperClasses/Program.h" + + +TimerCallbackCommand::TimerCallbackCommand() : dt(3600), maxTime(3600*24*365), time(0) {} + +TimerCallbackCommand* TimerCallbackCommand::New(Program *program) { + TimerCallbackCommand *cb = new TimerCallbackCommand(); + cb->setProgram(program); + return cb; +} + +void TimerCallbackCommand::Execute(vtkObject* caller, unsigned long eventId, void* vtkNotUsed(callData)) { + cout << this->time << " " << this->maxTime << endl; + + this->time += this->dt; + + if (this->time >= this->maxTime) { + return; + // TODO: how do we deal with reaching the end of the simulated dataset? Do we just stop simulating, loop back around? What about the location of the particles in this case? Just some ideas to consider, but we should iron this out pretty soon. + } + + this->program->updateData(this->time); +} + + + +void TimerCallbackCommand::setProgram(Program *program) { + this->program = program; +} diff --git a/vtk/src/commands/TimerCallbackCommand.h b/vtk/src/commands/TimerCallbackCommand.h new file mode 100644 index 0000000..ff478b8 --- /dev/null +++ b/vtk/src/commands/TimerCallbackCommand.h @@ -0,0 +1,22 @@ +#ifndef TIMERCALLBACKCOMMAND_H +#define TIMERCALLBACKCOMMAND_H + +#include +#include "../helperClasses/Program.h" + +class TimerCallbackCommand : public vtkCallbackCommand { +public: + TimerCallbackCommand(); + static TimerCallbackCommand* New(Program *program); + void Execute(vtkObject* caller, unsigned long eventId, void* vtkNotUsed(callData)) override; + + void setProgram(Program *program); + +private: + int time; + int dt; + int maxTime; + Program *program; +}; + +#endif diff --git a/vtk/src/helperClasses/EGlyphLayer.cpp b/vtk/src/helperClasses/EGlyphLayer.cpp index 7146dc5..4e4b9c0 100644 --- a/vtk/src/helperClasses/EGlyphLayer.cpp +++ b/vtk/src/helperClasses/EGlyphLayer.cpp @@ -48,6 +48,8 @@ EGlyphLayer::EGlyphLayer() { this->ren->InteractiveOff(); this->data = vtkSmartPointer::New(); + this->direction = vtkSmartPointer::New(); + this->direction->SetName("direction"); readCoordinates(); } @@ -55,22 +57,23 @@ EGlyphLayer::EGlyphLayer() { void EGlyphLayer::readCoordinates() { vtkNew points; auto [times, lats, lons] = readGrid(); // FIXME: import Robin's readData function and use it - vtkNew direction; - direction->SetName("direction"); - direction->SetNumberOfComponents(3); - direction->SetNumberOfTuples(67*116); //FIXME: use robins function to get num of points - points->Allocate(67*116); + this->numLats = lats.size(); + this->numLons = lons.size(); + + this->direction->SetNumberOfComponents(3); + this->direction->SetNumberOfTuples(numLats*numLons); + points->Allocate(numLats*numLons); int i = 0; for (double lat : lats) { for (double lon : lons) { - direction->SetTuple3(i, 0.45, 0.90, 0); //FIXME: read this info from file; figure out how to update it dynamically + direction->SetTuple3(i, 0.45, 0.90, 0); //FIXME: read this info from file points->InsertPoint(i++, (lat*1000-46125)/25, (lon*1000+15875)/43.5, 0); // FIXME: counts on fixed window geometry to map properly; refactor to make use of active window geometry. // see also https://vtk.org/doc/nightly/html/classvtkPolyDataMapper2D.html } } this->data->SetPoints(points); - this->data->GetPointData()->AddArray(direction); + this->data->GetPointData()->AddArray(this->direction); this->data->GetPointData()->SetActiveVectors("direction"); vtkNew arrowSource; @@ -101,10 +104,13 @@ void EGlyphLayer::readCoordinates() { actor->GetProperty()->SetColor(0,0,0); actor->GetProperty()->SetOpacity(0.2); - this->ren->AddActor(actor); + this->ren->AddActor(actor) ; } void EGlyphLayer::updateData(int t) { - + for (int i=0; i < numLats*numLons; i++) { + this->direction->SetTuple3(i, std::cos(t), std::sin(t), 0); // FIXME: fetch data from file. + } + this->direction->Modified(); } diff --git a/vtk/src/helperClasses/EGlyphLayer.h b/vtk/src/helperClasses/EGlyphLayer.h index 04d2559..8631f32 100644 --- a/vtk/src/helperClasses/EGlyphLayer.h +++ b/vtk/src/helperClasses/EGlyphLayer.h @@ -10,6 +10,9 @@ class EGlyphLayer : public Layer { private: vtkSmartPointer data; + vtkSmartPointer direction; + int numLats; + int numLons; /** This private function sets up the initial coordinates for the glyphs in the dataset. * It also reads some initial data to actually display. diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/helperClasses/LGlyphLayer.cpp index bec5866..c0cfbec 100644 --- a/vtk/src/helperClasses/LGlyphLayer.cpp +++ b/vtk/src/helperClasses/LGlyphLayer.cpp @@ -57,7 +57,7 @@ void LGlyphLayer::spoofPoints() { // returns new coords for a point; used to test the updateData function std::pair advect(int time, double lat, double lon) { - return {lat+0.001, lon+0.001} ; + return {lat+0.1, lon+0.1} ; } diff --git a/vtk/src/helperClasses/Program.cpp b/vtk/src/helperClasses/Program.cpp index 8f5a578..66bb818 100644 --- a/vtk/src/helperClasses/Program.cpp +++ b/vtk/src/helperClasses/Program.cpp @@ -1,9 +1,23 @@ #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include "Program.h" - +#include "../commands/TimerCallbackCommand.h" void Program::setWinProperties() { this->win->SetWindowName("Simulation"); @@ -15,15 +29,8 @@ void Program::setWinProperties() { } -void Program::CallbackFunction(vtkObject* caller, long unsigned int eventId, void* clientData, void* callData) { - ((Program *)clientData)->lagrange->updateData(1); - ((Program *)clientData)->win->Render(); -} - - void Program::setupTimer() { - vtkNew callback; - callback->SetCallback(this->CallbackFunction); + auto callback = vtkSmartPointer::New(this); callback->SetClientData(this); this->interact->AddObserver(vtkCommand::TimerEvent, callback); this->interact->CreateRepeatingTimer(17); // 60 fps == 1000 / 60 == 16.7 ms per frame @@ -67,6 +74,14 @@ void Program::setLagrange(Layer *l) { // void Program::addInteractionStyle(vtkInteractorStyle style); + +void Program::updateData(int t) { + this->win->Render(); + this->lagrange->updateData(t); + this->euler->updateData(t); +} + + void Program::render() { this->win->Render(); this->interact->Start(); diff --git a/vtk/src/helperClasses/Program.h b/vtk/src/helperClasses/Program.h index 35013d5..e18f945 100644 --- a/vtk/src/helperClasses/Program.h +++ b/vtk/src/helperClasses/Program.h @@ -16,7 +16,6 @@ private: vtkSmartPointer interact; void setWinProperties(); - static void CallbackFunction(vtkObject* caller, long unsigned int eventId, void* clientData, void* callData); void setupTimer(); public: @@ -27,6 +26,7 @@ public: void setLagrange(Layer *l); // void addInteractionStyle(vtkInteractorStyle style); + void updateData(int t); void render(); }; From 6637ec7c1811aa058976c7358a7db8e14e694833 Mon Sep 17 00:00:00 2001 From: djairoh Date: Sun, 5 May 2024 08:04:19 +0200 Subject: [PATCH 11/26] removed duplicitous files --- ...nd (conflicted copy 2024-05-03 143152).cpp | 22 ------------------- ...mand (conflicted copy 2024-05-03 151842).h | 22 ------------------- 2 files changed, 44 deletions(-) delete mode 100644 vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 143152).cpp delete mode 100644 vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 151842).h diff --git a/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 143152).cpp b/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 143152).cpp deleted file mode 100644 index 2a5391d..0000000 --- a/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 143152).cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include "TimerCallbackCommand.h" -#include "../helperClasses/Program.h" - - -// TimerCallbackCommand::TimerCallbackCommand() : dt(3600), maxTime(3600*24*365), time(0) {} - -TimerCallbackCommand *New() { - TimerCallbackCommand *cb = new TimerCallbackCommand(); - cb->setDefaults(); - return cb; -} - -void TimerCallbackCommand::Execute(vtkObject *caller, long unsigned int eventId, void* clientData, void* callData) { - this->time += this->dt; - - if (this->time >= this->maxTime) { - return; - // TODO: how do we deal with reaching the end of the simulated dataset? Do we just stop simulating, loop back around? What about the location of the particles in this case? Just some ideas to consider, but we should iron this out pretty soon. - } - - ((Program *)clientData)->updateData(this->time); -} diff --git a/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 151842).h b/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 151842).h deleted file mode 100644 index 76ece9e..0000000 --- a/vtk/src/commands/TimerCallbackCommand (conflicted copy 2024-05-03 151842).h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef TIMERCALLBACKCOMMAND_H -#define TIMERCALLBACKCOMMAND_H - -#include -#include "../helperClasses/Program.h" - -class TimerCallbackCommand : public vtkCallbackCommand { -public: - TimerCallbackCommand(); - static TimerCallbackCommand* New(Program *program); - void Execute(vtkObject* caller, unsigned long eventId, void* vtkNotUsed(callData)) override; - - void setDefaults(); - - -private: - int time; - int dt; - int maxTime; -}; - -#endif From 7d4fde3485dae633099a41c376ddc72503dd1af9 Mon Sep 17 00:00:00 2001 From: djairoh Date: Sun, 5 May 2024 08:28:38 +0200 Subject: [PATCH 12/26] removed unnecessary print --- vtk/src/commands/TimerCallbackCommand.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/vtk/src/commands/TimerCallbackCommand.cpp b/vtk/src/commands/TimerCallbackCommand.cpp index 4c43b74..d8edfd7 100644 --- a/vtk/src/commands/TimerCallbackCommand.cpp +++ b/vtk/src/commands/TimerCallbackCommand.cpp @@ -11,8 +11,6 @@ TimerCallbackCommand* TimerCallbackCommand::New(Program *program) { } void TimerCallbackCommand::Execute(vtkObject* caller, unsigned long eventId, void* vtkNotUsed(callData)) { - cout << this->time << " " << this->maxTime << endl; - this->time += this->dt; if (this->time >= this->maxTime) { From feec302053f9726165db7efb292a5fee59501450 Mon Sep 17 00:00:00 2001 From: djairoh Date: Sun, 5 May 2024 08:29:55 +0200 Subject: [PATCH 13/26] added addObserver function to layer --- vtk/src/helperClasses/Layer.cpp | 7 +++++++ vtk/src/helperClasses/Layer.h | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/vtk/src/helperClasses/Layer.cpp b/vtk/src/helperClasses/Layer.cpp index 68476ac..f5a4a50 100644 --- a/vtk/src/helperClasses/Layer.cpp +++ b/vtk/src/helperClasses/Layer.cpp @@ -1,4 +1,6 @@ #include "Layer.h" +#include +#include using std::string; @@ -8,3 +10,8 @@ vtkSmartPointer Layer::getLayer() { void Layer::updateData(int t) { } + + +void Layer::addObserver(const char *event, vtkCommand *observer) { + this->getLayer()->GetRenderWindow()->GetInteractor()->AddObserver(event, observer); +} diff --git a/vtk/src/helperClasses/Layer.h b/vtk/src/helperClasses/Layer.h index 7e418b8..5a357c5 100644 --- a/vtk/src/helperClasses/Layer.h +++ b/vtk/src/helperClasses/Layer.h @@ -1,6 +1,7 @@ #ifndef LAYER_H #define LAYER_H +#include #include /** This class represents one abstract layer to be rendered to VTK. @@ -21,6 +22,12 @@ public: * @param t : the timestamp which the data should reflect. */ virtual void updateData(int t); + + /** Adds an observer to the renderWindowinteractor within which this layer is active. + * @param event : the specific event type to subscribe to (see the vtkCommand::EventIds enum) + * @param observer : the observer to add. + */ + virtual void addObserver(const char *event, vtkCommand *observer); }; #endif From 2f0cd19bc49417f0f45999eea1ae0c8a391ed0a0 Mon Sep 17 00:00:00 2001 From: djairoh Date: Sun, 5 May 2024 12:05:01 +0200 Subject: [PATCH 14/26] refactor program to work with a vector of layers instead --- vtk/src/helperClasses/Program.cpp | 76 +++++++++++++++++++++---------- vtk/src/helperClasses/Program.h | 20 +++++--- vtk/src/main.cpp | 9 ++-- 3 files changed, 71 insertions(+), 34 deletions(-) diff --git a/vtk/src/helperClasses/Program.cpp b/vtk/src/helperClasses/Program.cpp index c7451be..6d411a8 100644 --- a/vtk/src/helperClasses/Program.cpp +++ b/vtk/src/helperClasses/Program.cpp @@ -40,39 +40,64 @@ void Program::setupTimer() { this->interact->CreateRepeatingTimer(17); // 60 fps == 1000 / 60 == 16.7 ms per frame } -Program::Program(Layer *bg, Layer *e, Layer *l) : background(bg), euler(e), lagrange(l), win(), interact() { +Program::Program() { this->win = vtkSmartPointer::New(); this->interact = vtkSmartPointer::New(); - this->win->SetNumberOfLayers(3); - this->win->AddRenderer(bg->getLayer()); - this->win->AddRenderer(e->getLayer()); - this->win->AddRenderer(l->getLayer()); + this->win->SetNumberOfLayers(0); setWinProperties(); setupTimer(); } +// Program::Program(Layer *bg, Layer *e, Layer *l) : background(bg), euler(e), lagrange(l), win(), interact() { +// this->win = vtkSmartPointer::New(); +// this->interact = vtkSmartPointer::New(); +// +// this->win->SetNumberOfLayers(3); +// this->win->AddRenderer(bg->getLayer()); +// this->win->AddRenderer(e->getLayer()); +// this->win->AddRenderer(l->getLayer()); +// setWinProperties(); +// setupTimer(); +// } -void Program::setBackground(Layer *bg) { - this->win->RemoveRenderer(this->background->getLayer()); - this->background = bg; - this->win->AddRenderer(bg->getLayer()); - +void Program::addLayer(Layer* layer) { + this->layers.push_back(layer); + this->win->AddRenderer(layer->getLayer()); + this->win->SetNumberOfLayers(this->win->GetNumberOfLayers()+1); +} + +void Program::removeLayer(Layer *layer) { + this->win->RemoveRenderer(layer->getLayer()); + + auto it = std::find(this->layers.begin(), this->layers.end(), layer); + if (it != this->layers.end()) { + this->layers.erase(it); + this->win->SetNumberOfLayers(this->win->GetNumberOfLayers()-1); + } } -void Program::setEuler(Layer *e) { - this->win->RemoveRenderer(this->euler->getLayer()); - this->euler = e; - this->win->AddRenderer(e->getLayer()); -} - - -void Program::setLagrange(Layer *l) { - this->win->RemoveRenderer(this->lagrange->getLayer()); - this->lagrange = l; - this->win->AddRenderer(l->getLayer()); -} +// void Program::setBackground(Layer *bg) { +// this->win->RemoveRenderer(this->background->getLayer()); +// this->background = bg; +// this->win->AddRenderer(bg->getLayer()); +// +// } +// +// +// void Program::setEuler(Layer *e) { +// this->win->RemoveRenderer(this->euler->getLayer()); +// this->euler = e; +// this->win->AddRenderer(e->getLayer()); +// } +// +// +// void Program::setLagrange(Layer *l) { +// this->win->RemoveRenderer(this->lagrange->getLayer()); +// this->lagrange = l; +// this->win->AddRenderer(l->getLayer()); +// // } void Program::setLagrangeInteractor(SpawnPointCallback *cb){ interact->AddObserver(vtkCommand::LeftButtonPressEvent, cb); @@ -84,8 +109,11 @@ void Program::setLagrangeInteractor(SpawnPointCallback *cb){ void Program::updateData(int t) { this->win->Render(); - this->lagrange->updateData(t); - this->euler->updateData(t); + for (Layer *l : layers) { + l->updateData(t); + } + // this->lagrange->updateData(t); + // this->euler->updateData(t); } diff --git a/vtk/src/helperClasses/Program.h b/vtk/src/helperClasses/Program.h index f6b2453..96939fe 100644 --- a/vtk/src/helperClasses/Program.h +++ b/vtk/src/helperClasses/Program.h @@ -10,9 +10,11 @@ class Program { private: - Layer *background; - Layer *euler; - Layer *lagrange; + // Layer *background; + // Layer *euler; + // Layer *lagrange; + + std::vector layers; vtkSmartPointer win; vtkSmartPointer interact; @@ -20,11 +22,15 @@ private: void setupTimer(); public: - Program(Layer *bg, Layer *e, Layer *l); + Program(); + // Program(Layer *bg, Layer *e, Layer *l); - void setBackground(Layer *bg); - void setEuler(Layer *e); - void setLagrange(Layer *l); + void addLayer(Layer *layer); + void removeLayer(Layer *layer); + + // void setBackground(Layer *bg); + // void setEuler(Layer *e); + // void setLagrange(Layer *l); void setLagrangeInteractor(SpawnPointCallback *cb); // void addInteractionStyle(vtkInteractorStyle style); diff --git a/vtk/src/main.cpp b/vtk/src/main.cpp index 78b1a3a..7be9e38 100644 --- a/vtk/src/main.cpp +++ b/vtk/src/main.cpp @@ -17,12 +17,15 @@ using namespace std; int main() { - auto bg = new BackgroundImage("../../../../data/map_661-661.png"); - auto e = new EGlyphLayer(); auto l = new LGlyphLayer(); l->spoofPoints(); - auto program = new Program(bg, e, l); + Program *program = new Program(); + program->addLayer(new BackgroundImage("../../../../data/map_661-661.png")); + program->addLayer(new EGlyphLayer()); + program->addLayer(l); + + // auto program = new Program(bg, e, l); program->setLagrangeInteractor(l->createSpawnPointCallback()); program->render(); From 98f64160ad9309e81c4150e113f152c7e0e04c41 Mon Sep 17 00:00:00 2001 From: djairoh Date: Sun, 5 May 2024 12:06:57 +0200 Subject: [PATCH 15/26] removed commented out code --- vtk/src/helperClasses/Program.cpp | 39 +++---------------------------- vtk/src/helperClasses/Program.h | 9 ------- 2 files changed, 3 insertions(+), 45 deletions(-) diff --git a/vtk/src/helperClasses/Program.cpp b/vtk/src/helperClasses/Program.cpp index 6d411a8..3be950b 100644 --- a/vtk/src/helperClasses/Program.cpp +++ b/vtk/src/helperClasses/Program.cpp @@ -49,17 +49,6 @@ Program::Program() { setupTimer(); } -// Program::Program(Layer *bg, Layer *e, Layer *l) : background(bg), euler(e), lagrange(l), win(), interact() { -// this->win = vtkSmartPointer::New(); -// this->interact = vtkSmartPointer::New(); -// -// this->win->SetNumberOfLayers(3); -// this->win->AddRenderer(bg->getLayer()); -// this->win->AddRenderer(e->getLayer()); -// this->win->AddRenderer(l->getLayer()); -// setWinProperties(); -// setupTimer(); -// } void Program::addLayer(Layer* layer) { this->layers.push_back(layer); @@ -78,31 +67,11 @@ void Program::removeLayer(Layer *layer) { } -// void Program::setBackground(Layer *bg) { -// this->win->RemoveRenderer(this->background->getLayer()); -// this->background = bg; -// this->win->AddRenderer(bg->getLayer()); -// -// } -// -// -// void Program::setEuler(Layer *e) { -// this->win->RemoveRenderer(this->euler->getLayer()); -// this->euler = e; -// this->win->AddRenderer(e->getLayer()); -// } -// -// -// void Program::setLagrange(Layer *l) { -// this->win->RemoveRenderer(this->lagrange->getLayer()); -// this->lagrange = l; -// this->win->AddRenderer(l->getLayer()); -// // } void Program::setLagrangeInteractor(SpawnPointCallback *cb){ - interact->AddObserver(vtkCommand::LeftButtonPressEvent, cb); - interact->AddObserver(vtkCommand::LeftButtonReleaseEvent, cb); - interact->AddObserver(vtkCommand::MouseMoveEvent, cb); + this->interact->AddObserver(vtkCommand::LeftButtonPressEvent, cb); + this->interact->AddObserver(vtkCommand::LeftButtonReleaseEvent, cb); + this->interact->AddObserver(vtkCommand::MouseMoveEvent, cb); } @@ -112,8 +81,6 @@ void Program::updateData(int t) { for (Layer *l : layers) { l->updateData(t); } - // this->lagrange->updateData(t); - // this->euler->updateData(t); } diff --git a/vtk/src/helperClasses/Program.h b/vtk/src/helperClasses/Program.h index 96939fe..46f26e9 100644 --- a/vtk/src/helperClasses/Program.h +++ b/vtk/src/helperClasses/Program.h @@ -10,10 +10,6 @@ class Program { private: - // Layer *background; - // Layer *euler; - // Layer *lagrange; - std::vector layers; vtkSmartPointer win; vtkSmartPointer interact; @@ -23,17 +19,12 @@ private: public: Program(); - // Program(Layer *bg, Layer *e, Layer *l); void addLayer(Layer *layer); void removeLayer(Layer *layer); - // void setBackground(Layer *bg); - // void setEuler(Layer *e); - // void setLagrange(Layer *l); void setLagrangeInteractor(SpawnPointCallback *cb); - // void addInteractionStyle(vtkInteractorStyle style); void updateData(int t); void render(); From 72fb7e1f9289ae328de6ff71ab1d108beba2061c Mon Sep 17 00:00:00 2001 From: djairoh Date: Sun, 5 May 2024 12:24:17 +0200 Subject: [PATCH 16/26] (wip) updated readme --- vtk/README.md | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/vtk/README.md b/vtk/README.md index ec2a268..8f87e04 100644 --- a/vtk/README.md +++ b/vtk/README.md @@ -1,3 +1,16 @@ +## Vtk +This folder contains the Vtk program which actually displays the simulated data. The code is driven by the `Program` class, which contains the upper level of the vtk pipeline: the class has attributes for a vtkRenderWindow and vtkRenderWindowInteractor. vtkRenderers are managed through an abstract `Layer` class, which the program keeps track of trough a vector attribute. + +Each layer implementation contains and manages one vtkRenderer, this includes managing which layer of the vtkrenderwindow ths layer renders to. Currently implemented are three such layers: + * the `BackgroundImage` class reads in image data and displays this to the screen on the 0th layer - the background. + * the `EGlyphLayer` class renders a visualization of the Eulerian flow-velocities as a grid of arrow-glyphs (in which the direction and length of the glyph represents the direction and strength of the velocity at that point). Right now it spoofs the data for these glyphs, but this class will interface with the code for reading h5 data to accurately display the velocities at a given timestamp. + * the `LGlyphLayer` class renders a given set of particles as circular glyphs. These particles are advected according to an advection function, which in this implementation is spoofed. Like the EglyphLayer class, this layer will interact with the code for advecting particles according to the actual dataset, to accurately simulate its particles. + +The `LGlyphLayer` deserves some more explanation, as it depends on the `SpawnpointCallback` class to place particles in its dataset. The `SpawnpointCallback` makes use of the vtkCallbackCommand class and the vtk observer pattern to create new particles on mouseclick. It does so through a shared reference to the LGlyphLayer's `data` and `points` attributes, which the SpawnpointCallback then edits directlr. + +The program also adds a second observer to the vtk pattern through the `TimerCallbackCommand`. This class subscribes to a vtkTimerEvent to manage the simulation of the program. To this end the TimerCallbackCommand has attributes for a timestep (dt) and current time (time). On every callback, the current time is updated according to the dt attribute, and this change is propagated to the layers containing the data by use of the program and layer's `updateData()` functions. + + ## Location of data The data path is hardcoded such that the following tree structure is assumed: ``` @@ -19,21 +32,3 @@ cmake .. make ``` -### Building with Linux -Makes use of `mdspan` which is not supported by glibc++ at time of writing. See [compiler support](https://en.cppreference.com/w/cpp/compiler_support/23) for `mdspan`. The solution to this is to use Clang and libc++; this is configured in our CMake setup, however the default installation of the `netcdf-cxx` package on at least Arch linux (and suspectedly Debian derivatives as well) specifically builds for the glibc implementation. To get the netcdf C++ bindings functional with the libc++ implementation, one needs to build from source. On Linux, this requires a few changes to the CMake file included with the netcdf-cxx source code, which are detailed below. - -Step-by-step to build the program using clang++ and libc++ on linux: - 1. Download the source code of netcdf-cxx, found at 'https://github.com/Unidata/netcdf-cxx4/releases/tag/v4.3.1' (make sure to download the release source code, as the master branch contains non-compilable code). - 2. Edit the CMakeLists.txt file, by appending '-stdlib=libc++' to the `CMAKE_CXX_FLAGS` variable in line 430. This means line 430 should read: - ```cmake - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wno-unused-variable -Wno-unused-parameter -stdlib=libc++") - ``` - 2. Build the source code with the following: - ```sh - mkdir build && cd build - cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/clang++ - make - ctest - sudo make install - ``` - 3. Now the code should compile through the standard steps described in the Compiling section. From d462d6f9f5c85bb6f12705ed797b1fe65da1330b Mon Sep 17 00:00:00 2001 From: djairoh Date: Sun, 5 May 2024 12:34:26 +0200 Subject: [PATCH 17/26] updated documentation --- vtk/src/helperClasses/LGlyphLayer.cpp | 2 -- vtk/src/helperClasses/Program.h | 36 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/helperClasses/LGlyphLayer.cpp index e3d10d2..fb9f5bc 100644 --- a/vtk/src/helperClasses/LGlyphLayer.cpp +++ b/vtk/src/helperClasses/LGlyphLayer.cpp @@ -19,8 +19,6 @@ vtkSmartPointer LGlyphLayer::createSpawnPointCallback() { } -// TODO: add interactionStyle functionality -// TODO: add timer + advection (probably from the program class not here) // TODO: how do we handle mapping between pixelspace and lat/lon (needed for advection)? Current idea: store the vtkPoints in lat/lon system, then apply a transformfilter to map them to the current window geometry. This should allow for a changing viewport as well - we can query the new camera position and map accordingly. // Further notes; current thinking is to allow tracking a particle's age by using a scalar array in the VtkPolyData. This would be incremented for every tick/updateData function call. // Another challenge is the concept of beaching; dead particles must not be included in the advect function call (wasted computations), but they should not be outright deleted from the vtkPoints either (we still want to display them). Working Solution: have another array of ints in the vtkPolyData, which tracks for how many calls of UpdateData a given particle has not had its position changed. If this int reaches some treshold (5? 10? 3? needs some testing), exclude the particle from the advect call. diff --git a/vtk/src/helperClasses/Program.h b/vtk/src/helperClasses/Program.h index 46f26e9..642eadd 100644 --- a/vtk/src/helperClasses/Program.h +++ b/vtk/src/helperClasses/Program.h @@ -8,25 +8,61 @@ #include "Layer.h" #include "SpawnPointCallback.h" +/** This class manages the upper levels of the vtk pipeline; it has attributes for the vtkrenderWindow and a vector of Layers to represent a variable number of vtkRenderers. + * It can also set up a vtkTimer by connecting an instance of TimerCallbackCommand with its contained vtkRenderWindowInteractor. + */ class Program { private: + /** This attribute models a variable number of vtkRenderers, managed through the abstract Layer class. + */ std::vector layers; + + /** The window this program's layers render to. + */ vtkSmartPointer win; + + /** The interactor through which the layers can interact with the window. + */ vtkSmartPointer interact; + /** This function sets some default properties on the vtkRenderWindow. Extracted to its' own function to keep the constructor from becoming cluttered. + */ void setWinProperties(); + + /** This function sets up and connects a TimerCallbackCommand with the program. + */ void setupTimer(); public: + /** Constructor. + */ Program(); + /** This function adds a new layer (and thus vtkRenderer) to the program. + * The layer is expected to set its own position in the vtkRenderWindow layer system. + * @param layer : pointer to the layer to add. + */ void addLayer(Layer *layer); + + /** This function removes a given layer from the vtkRenderWindow and layers vector. + * If the given layer is not actually in the program, nothing happens. + * @param layer : the layer to removeLayer + */ void removeLayer(Layer *layer); + /** This function sets the given SpawnpointCallback to be used with the program. + * @param cb : the callback to use. + */ void setLagrangeInteractor(SpawnPointCallback *cb); + /** This function updates the data for the associated layers to the given timestamp. + * Also updates the renderWindow. + * @param t : the timestamp to update the data to. + */ void updateData(int t); + /** This function renders the vtkRenderWindow for the first time. + */ void render(); }; From 346e44da481ba470105e130a4b336528fe5ffc15 Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 5 May 2024 14:50:26 +0200 Subject: [PATCH 18/26] normalised cartographic camera --- vtk/src/CMakeLists.txt | 1 + vtk/src/commands/TimerCallbackCommand.cpp | 2 - vtk/src/helperClasses/EGlyphLayer.cpp | 17 ++- vtk/src/helperClasses/LGlyphLayer.cpp | 104 +++++++++--------- .../NormalisedCartographicCamera.cpp | 43 ++++++++ .../NormalisedCartographicCamera.h | 8 ++ vtk/src/helperClasses/SpawnPointCallback.cpp | 15 ++- vtk/src/helperClasses/SpawnPointCallback.h | 3 + 8 files changed, 128 insertions(+), 65 deletions(-) create mode 100644 vtk/src/helperClasses/NormalisedCartographicCamera.cpp create mode 100644 vtk/src/helperClasses/NormalisedCartographicCamera.h diff --git a/vtk/src/CMakeLists.txt b/vtk/src/CMakeLists.txt index 8a20136..9cb04bc 100644 --- a/vtk/src/CMakeLists.txt +++ b/vtk/src/CMakeLists.txt @@ -46,6 +46,7 @@ add_executable(VtkBase MACOSX_BUNDLE main.cpp commands/TimerCallbackCommand.cpp helperClasses/SpawnPointCallback.h helperClasses/SpawnPointCallback.cpp + helperClasses/NormalisedCartographicCamera.cpp ) execute_process( diff --git a/vtk/src/commands/TimerCallbackCommand.cpp b/vtk/src/commands/TimerCallbackCommand.cpp index 4c43b74..d8edfd7 100644 --- a/vtk/src/commands/TimerCallbackCommand.cpp +++ b/vtk/src/commands/TimerCallbackCommand.cpp @@ -11,8 +11,6 @@ TimerCallbackCommand* TimerCallbackCommand::New(Program *program) { } void TimerCallbackCommand::Execute(vtkObject* caller, unsigned long eventId, void* vtkNotUsed(callData)) { - cout << this->time << " " << this->maxTime << endl; - this->time += this->dt; if (this->time >= this->maxTime) { diff --git a/vtk/src/helperClasses/EGlyphLayer.cpp b/vtk/src/helperClasses/EGlyphLayer.cpp index 4e4b9c0..4d3265d 100644 --- a/vtk/src/helperClasses/EGlyphLayer.cpp +++ b/vtk/src/helperClasses/EGlyphLayer.cpp @@ -13,6 +13,7 @@ #include #include #include +#include "NormalisedCartographicCamera.h" using namespace netCDF; using namespace std; @@ -64,11 +65,15 @@ void EGlyphLayer::readCoordinates() { this->direction->SetNumberOfTuples(numLats*numLons); points->Allocate(numLats*numLons); + auto camera = createNormalisedCartographicCamera(); + ren->SetActiveCamera(camera); + int i = 0; for (double lat : lats) { for (double lon : lons) { + cout << "lon: " << lon << " lat: " << lat << endl; direction->SetTuple3(i, 0.45, 0.90, 0); //FIXME: read this info from file - points->InsertPoint(i++, (lat*1000-46125)/25, (lon*1000+15875)/43.5, 0); // FIXME: counts on fixed window geometry to map properly; refactor to make use of active window geometry. + points->InsertPoint(i++, lon, lat, 0); // FIXME: counts on fixed window geometry to map properly; refactor to make use of active window geometry. // see also https://vtk.org/doc/nightly/html/classvtkPolyDataMapper2D.html } } @@ -78,7 +83,7 @@ void EGlyphLayer::readCoordinates() { vtkNew arrowSource; arrowSource->SetGlyphTypeToArrow(); - arrowSource->SetScale(8); //TODO: set this properly + arrowSource->SetScale(0.2); //TODO: set this properly arrowSource->Update(); vtkNew glyph2D; @@ -90,15 +95,15 @@ void EGlyphLayer::readCoordinates() { glyph2D->SetVectorModeToUseVector(); glyph2D->Update(); - vtkNew coordinate; - coordinate->SetCoordinateSystemToWorld(); +// vtkNew coordinate; +// coordinate->SetCoordinateSystemToWorld(); - vtkNew(mapper); + vtkNew(mapper); // mapper->SetTransformCoordinate(coordinate); mapper->SetInputConnection(glyph2D->GetOutputPort()); mapper->Update(); - vtkNew actor; + vtkNew actor; actor->SetMapper(mapper); actor->GetProperty()->SetColor(0,0,0); diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/helperClasses/LGlyphLayer.cpp index e3d10d2..00e3ef5 100644 --- a/vtk/src/helperClasses/LGlyphLayer.cpp +++ b/vtk/src/helperClasses/LGlyphLayer.cpp @@ -9,16 +9,23 @@ #include #include #include +#include +#include +#include +#include +#include + +#include "NormalisedCartographicCamera.h" vtkSmartPointer LGlyphLayer::createSpawnPointCallback() { auto newPointCallBack = vtkSmartPointer::New(); newPointCallBack->setData(data); newPointCallBack->setPoints(points); + newPointCallBack->setRen(ren); return newPointCallBack; } - // TODO: add interactionStyle functionality // TODO: add timer + advection (probably from the program class not here) // TODO: how do we handle mapping between pixelspace and lat/lon (needed for advection)? Current idea: store the vtkPoints in lat/lon system, then apply a transformfilter to map them to the current window geometry. This should allow for a changing viewport as well - we can query the new camera position and map accordingly. @@ -28,74 +35,61 @@ vtkSmartPointer LGlyphLayer::createSpawnPointCallback() { // TODO: modelling all this in vtkClasses is workable, but ideally i would want to work with a native C++ class. See if this is doable and feasible. LGlyphLayer::LGlyphLayer() { - this->ren = vtkSmartPointer::New(); - this->ren->SetLayer(2); + this->ren = vtkSmartPointer::New(); + this->ren->SetLayer(2); - this->points = vtkSmartPointer::New(); - this->data = vtkSmartPointer::New(); - this->data->SetPoints(this->points); - - vtkNew circleSource; - circleSource->SetGlyphTypeToCircle(); - circleSource->SetScale(15); - circleSource->Update(); + this->points = vtkSmartPointer::New(); + this->data = vtkSmartPointer::New(); + this->data->SetPoints(this->points); - vtkNew glyph2D; - glyph2D->SetSourceConnection(circleSource->GetOutputPort()); - glyph2D->SetInputData(this->data); - glyph2D->SetColorModeToColorByScalar(); - glyph2D->Update(); + vtkNew circleSource; + circleSource->SetGlyphTypeToCircle(); + circleSource->SetScale(1); + circleSource->Update(); - vtkNew mapper; - mapper->SetInputConnection(glyph2D->GetOutputPort()); - mapper->Update(); + vtkNew glyph2D; + glyph2D->SetSourceConnection(circleSource->GetOutputPort()); + glyph2D->SetInputData(this->data); + glyph2D->SetColorModeToColorByScalar(); + glyph2D->Update(); - vtkNew actor; - actor->SetMapper(mapper); - actor->GetProperty()->SetColor(1,1,1); + auto camera = createNormalisedCartographicCamera(); + ren->SetActiveCamera(camera); - this->ren->AddActor(actor); + vtkNew mapper; + mapper->SetInputConnection(glyph2D->GetOutputPort()); + mapper->Update(); + + vtkNew actor; + actor->SetMapper(mapper); + + this->ren->AddActor(actor); } // creates a few points so we can test the updateData function void LGlyphLayer::spoofPoints() { - this->points->InsertNextPoint(53, 2, 0); - this->points->InsertNextPoint(48.2, 111.01, 0); - this->points->InsertNextPoint(331, 331, 0); +// this->points->InsertNextPoint(200, 200 , 0); + this->points->InsertNextPoint(-4.125, 61.375 , 0); + this->points->InsertNextPoint(4.896555178870355, 52.373557841669516, 0); +// this->points->InsertNextPoint(48.2, 111.01, 0); +// this->points->InsertNextPoint(331, 331, 0); +// this->points->InsertNextPoint(0, 50, 0); +// this->points->InsertNextPoint(200, 200 , 0); - this->points->Modified(); + this->points->Modified(); } - // returns new coords for a point; used to test the updateData function std::pair advect(int time, double lat, double lon) { - return {lat+0.1, lon+0.1} ; + return {lat + 0., lon + 0.}; } - -// converts a x,y pair from pixel coordinates to real world latitude and longitude. -// TODO: make this more modular by having it interact with the backgroundImage layer (and possibly the camera panning/zooming logic when that is implemented). -std::pair pixelToReal(double x, double y) { - //assumes a 661x661 window with a range of [46.125, 62.625] lat and [-15.875, 12.875] lon. - return {(x*25+46125)/1000, (y*43.5-15875)/1000}; -} - -// converts a lat,lon pair from real world values to pixel coordinates. -// TODO: see above. -std::pair realToPixel(double lat, double lon) { - //assumes a 661x661 window with a range of [46.125, 62.625] lat and [-15.875, 12.875] lon. - return {(lat*1000-46125)/25, (lon*1000+15875)/43.5}; -} - -// FIXME: actually the above functions are a bit of a naive way of modelling these. Much better would be to have the points at the real-world latitude and longitude, and apply a filter in the pipeline to convert them to the appropriate window geometry. - void LGlyphLayer::updateData(int t) { - double point[3]; - for (vtkIdType n=0; n < this->points->GetNumberOfPoints(); n++) { - this->points->GetPoint(n, point); - auto grads = pixelToReal(point[0], point[1]); - auto newGrads = advect(n, grads.first, grads.second); - auto newPixs = realToPixel(newGrads.first, newGrads.second); - this->points->SetPoint(n, newPixs.first, newPixs.second, 0); - } - this->points->Modified(); +void LGlyphLayer::updateData(int t) { + double point[3]; + for (vtkIdType n = 0; n < this->points->GetNumberOfPoints(); n++) { + this->points->GetPoint(n, point); + auto [xNew, yNew] = advect(n, point[0], point[1]); + this->points->SetPoint(n, xNew, yNew, 0); + } + this->points->Modified(); } diff --git a/vtk/src/helperClasses/NormalisedCartographicCamera.cpp b/vtk/src/helperClasses/NormalisedCartographicCamera.cpp new file mode 100644 index 0000000..d34bafe --- /dev/null +++ b/vtk/src/helperClasses/NormalisedCartographicCamera.cpp @@ -0,0 +1,43 @@ +#include "NormalisedCartographicCamera.h" +#include + +vtkSmartPointer createNormalisedCartographicCamera() { + const double XMin = -15.875; + const double XMax = 12.875; + const double YMin = 46.125; + const double YMax = 62.625; + + double farClipPlane = 100; + double nearClipPlane = 1; + double eyeTransform[] = { + 2/(XMax-XMin), 0, 0, -(XMax+XMin)/(XMax-XMin), + 0, 2/(YMax-YMin), 0, -(YMax+YMin)/(YMax-YMin), + 0, 0, 2/(nearClipPlane-farClipPlane), -(farClipPlane+nearClipPlane)/(farClipPlane-nearClipPlane), + 0, 0, 0, 1 + }; + + vtkSmartPointer camera = vtkSmartPointer::New(); + camera->ParallelProjectionOn(); // Enable parallel projection + camera->UseExplicitProjectionTransformMatrixOn(); + +//// // Calculate the center and the size of the view + double centerX = (XMax + XMin) / 2.0; + double centerY = (YMax + YMin) / 2.0; + double width = XMax - XMin; + double height = YMax - YMin; +//// // Set the camera position, focal point, and view up +// camera->SetPosition(centerX, centerY, 1000); // Place the camera above the center +// camera->SetFocalPoint(centerX, centerY, 0); // Look at the center +// camera->SetViewUp(0, 1, 0); // Set the up vector to be along the Y-axis +//// +//// // Set parallel scale +// double parallelScale = std::max(width, height) / 2.0; +// camera->SetParallelScale(parallelScale); + + vtkNew projectionMatrix; + projectionMatrix->DeepCopy(eyeTransform); + camera->SetExplicitProjectionTransformMatrix(projectionMatrix); +// camera->SetScreenBottomLeft(XMin, YMin, 0); +// camera->SetScreenTopRight(XMax, YMax, 0); + return camera; +} diff --git a/vtk/src/helperClasses/NormalisedCartographicCamera.h b/vtk/src/helperClasses/NormalisedCartographicCamera.h new file mode 100644 index 0000000..fca5a39 --- /dev/null +++ b/vtk/src/helperClasses/NormalisedCartographicCamera.h @@ -0,0 +1,8 @@ +#include + +#ifndef VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H +#define VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H + +#endif //VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H + +vtkSmartPointer createNormalisedCartographicCamera(); \ No newline at end of file diff --git a/vtk/src/helperClasses/SpawnPointCallback.cpp b/vtk/src/helperClasses/SpawnPointCallback.cpp index 14dbc49..15eca3b 100644 --- a/vtk/src/helperClasses/SpawnPointCallback.cpp +++ b/vtk/src/helperClasses/SpawnPointCallback.cpp @@ -31,7 +31,14 @@ void SpawnPointCallback::Execute(vtkObject *caller, unsigned long evId, void *ca int x, y; interactor->GetEventPosition(x, y); - vtkIdType id = points->InsertNextPoint(x, y, 0); + double worldPos[4] = {2, 0 ,0, 0}; + double displayPos[3] = {static_cast(x), static_cast(y), 0.0}; + ren->SetDisplayPoint(displayPos); + ren->DisplayToWorld(); + ren->GetWorldPoint(worldPos); + cout << "clicked on lon = " << worldPos[0] << " and lat = " << worldPos[1] << endl; + + vtkIdType id = points->InsertNextPoint(worldPos[0], worldPos[1], 0); data->SetPoints(points); vtkSmartPointer vertex = vtkSmartPointer::New(); @@ -57,4 +64,8 @@ void SpawnPointCallback::setData(const vtkSmartPointer &data) { void SpawnPointCallback::setPoints(const vtkSmartPointer &points) { this->points = points; -} \ No newline at end of file +} + +void SpawnPointCallback::setRen(const vtkSmartPointer &ren) { + this->ren = ren; +} diff --git a/vtk/src/helperClasses/SpawnPointCallback.h b/vtk/src/helperClasses/SpawnPointCallback.h index 99ab160..e71063d 100644 --- a/vtk/src/helperClasses/SpawnPointCallback.h +++ b/vtk/src/helperClasses/SpawnPointCallback.h @@ -17,9 +17,12 @@ public: void setData(const vtkSmartPointer &data); + void setRen(const vtkSmartPointer &ren); + private: vtkSmartPointer data; vtkSmartPointer points; + vtkSmartPointer ren; public: private: From 3356b5561aa7384894e90c424f4954d868b5fa40 Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 5 May 2024 16:33:45 +0200 Subject: [PATCH 19/26] Feat: Improved organisation of Cartographic transformation --- vtk/.gitignore | 3 +- vtk/src/CMakeLists.txt | 2 +- vtk/src/compile_commands.json | 1 - .../CartographicTransformation.cpp | 46 +++++++++++++++++++ .../CartographicTransformation.h | 29 ++++++++++++ vtk/src/helperClasses/EGlyphLayer.cpp | 11 +++-- vtk/src/helperClasses/LGlyphLayer.cpp | 27 ++++++----- .../NormalisedCartographicCamera.cpp | 43 ----------------- .../NormalisedCartographicCamera.h | 8 ---- vtk/src/helperClasses/SpawnPointCallback.cpp | 8 +++- vtk/src/helperClasses/SpawnPointCallback.h | 5 +- 11 files changed, 109 insertions(+), 74 deletions(-) delete mode 120000 vtk/src/compile_commands.json create mode 100644 vtk/src/helperClasses/CartographicTransformation.cpp create mode 100644 vtk/src/helperClasses/CartographicTransformation.h delete mode 100644 vtk/src/helperClasses/NormalisedCartographicCamera.cpp delete mode 100644 vtk/src/helperClasses/NormalisedCartographicCamera.h diff --git a/vtk/.gitignore b/vtk/.gitignore index 95abd3d..ea37cb8 100644 --- a/vtk/.gitignore +++ b/vtk/.gitignore @@ -3,4 +3,5 @@ src/.DS_Store src/.cache src/build .idea -src/cmake-build-debug \ No newline at end of file +src/cmake-build-debug +compile_commands.json \ No newline at end of file diff --git a/vtk/src/CMakeLists.txt b/vtk/src/CMakeLists.txt index 9cb04bc..cb39085 100644 --- a/vtk/src/CMakeLists.txt +++ b/vtk/src/CMakeLists.txt @@ -46,7 +46,7 @@ add_executable(VtkBase MACOSX_BUNDLE main.cpp commands/TimerCallbackCommand.cpp helperClasses/SpawnPointCallback.h helperClasses/SpawnPointCallback.cpp - helperClasses/NormalisedCartographicCamera.cpp + helperClasses/CartographicTransformation.cpp ) execute_process( diff --git a/vtk/src/compile_commands.json b/vtk/src/compile_commands.json deleted file mode 120000 index 25eb4b2..0000000 --- a/vtk/src/compile_commands.json +++ /dev/null @@ -1 +0,0 @@ -build/compile_commands.json \ No newline at end of file diff --git a/vtk/src/helperClasses/CartographicTransformation.cpp b/vtk/src/helperClasses/CartographicTransformation.cpp new file mode 100644 index 0000000..54c528e --- /dev/null +++ b/vtk/src/helperClasses/CartographicTransformation.cpp @@ -0,0 +1,46 @@ +#include "CartographicTransformation.h" +#include +#include +#include + +vtkSmartPointer createNormalisedCamera() { + vtkSmartPointer camera = vtkSmartPointer::New(); + camera->ParallelProjectionOn(); // Enable parallel projection + + camera->SetPosition(0, 0, 1000); // Place the camera above the center + camera->SetFocalPoint(0, 0, 0); // Look at the center + camera->SetViewUp(0, 1, 0); // Set the up vector to be along the Y-axis + camera->SetParallelScale(1); // x,y in [-1, 1] + + return camera; +} + +vtkSmartPointer getCartographicTransformMatrix() { + const double XMin = -15.875; + const double XMax = 12.875; + const double YMin = 46.125; + const double YMax = 62.625; + + double eyeTransform[] = { + 2/(XMax-XMin), 0, 0, -(XMax+XMin)/(XMax-XMin), + 0, 2/(YMax-YMin), 0, -(YMax+YMin)/(YMax-YMin), + 0, 0, 1, 0, + 0, 0, 0, 1 + }; + + auto matrix = vtkSmartPointer::New(); + matrix->DeepCopy(eyeTransform); + return matrix; +} + +// Assumes Normalised camera is used +vtkSmartPointer createCartographicTransformFilter() { + vtkNew transform; + + transform->SetMatrix(getCartographicTransformMatrix()); + + vtkSmartPointer transformFilter = vtkSmartPointer::New(); + transformFilter->SetTransform(transform); + + return transformFilter; +} diff --git a/vtk/src/helperClasses/CartographicTransformation.h b/vtk/src/helperClasses/CartographicTransformation.h new file mode 100644 index 0000000..368483d --- /dev/null +++ b/vtk/src/helperClasses/CartographicTransformation.h @@ -0,0 +1,29 @@ +#include +#include + +#ifndef VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H +#define VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H + +#endif //VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H + +/** + * Constructs a orthographically projected camera that looks at the square x,y in [-1, 1] with z = 0 and w = 1. + * The space [-1,1] x [-1,1] x {0} will be referred to as the normalised space. + * @return pointer to camera + */ +vtkSmartPointer createNormalisedCamera(); + +/** + * Constructs a 4x4 projection matrix that maps homogenious (longitude, latitude, 0, 1) points + * to the normalised space. + * TODO: This transformation has room for improvement see: + * https://github.com/MakeNEnjoy/interactive-track-and-trace/issues/12 + * @return pointer to 4x4 matrix + */ +vtkSmartPointer getCartographicTransformMatrix(); + +/** + * Convenience function that converts the 4x4 projection matrix into a vtkTransformFilter + * @return pointer to transform filter + */ +vtkSmartPointer createCartographicTransformFilter(); \ No newline at end of file diff --git a/vtk/src/helperClasses/EGlyphLayer.cpp b/vtk/src/helperClasses/EGlyphLayer.cpp index 4d3265d..0722a34 100644 --- a/vtk/src/helperClasses/EGlyphLayer.cpp +++ b/vtk/src/helperClasses/EGlyphLayer.cpp @@ -13,7 +13,7 @@ #include #include #include -#include "NormalisedCartographicCamera.h" +#include "CartographicTransformation.h" using namespace netCDF; using namespace std; @@ -65,7 +65,7 @@ void EGlyphLayer::readCoordinates() { this->direction->SetNumberOfTuples(numLats*numLons); points->Allocate(numLats*numLons); - auto camera = createNormalisedCartographicCamera(); + auto camera = createNormalisedCamera(); ren->SetActiveCamera(camera); int i = 0; @@ -73,7 +73,7 @@ void EGlyphLayer::readCoordinates() { for (double lon : lons) { cout << "lon: " << lon << " lat: " << lat << endl; direction->SetTuple3(i, 0.45, 0.90, 0); //FIXME: read this info from file - points->InsertPoint(i++, lon, lat, 0); // FIXME: counts on fixed window geometry to map properly; refactor to make use of active window geometry. + points->InsertPoint(i++, lon, lat, 0); // see also https://vtk.org/doc/nightly/html/classvtkPolyDataMapper2D.html } } @@ -81,6 +81,9 @@ void EGlyphLayer::readCoordinates() { this->data->GetPointData()->AddArray(this->direction); this->data->GetPointData()->SetActiveVectors("direction"); + vtkSmartPointer transformFilter = createCartographicTransformFilter(); + transformFilter->SetInputData(data); + vtkNew arrowSource; arrowSource->SetGlyphTypeToArrow(); arrowSource->SetScale(0.2); //TODO: set this properly @@ -88,7 +91,7 @@ void EGlyphLayer::readCoordinates() { vtkNew glyph2D; glyph2D->SetSourceConnection(arrowSource->GetOutputPort()); - glyph2D->SetInputData(this->data); + glyph2D->SetInputConnection(transformFilter->GetOutputPort()); glyph2D->OrientOn(); glyph2D->ClampingOn(); glyph2D->SetScaleModeToScaleByVector(); diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/helperClasses/LGlyphLayer.cpp index 00e3ef5..3b1a051 100644 --- a/vtk/src/helperClasses/LGlyphLayer.cpp +++ b/vtk/src/helperClasses/LGlyphLayer.cpp @@ -15,7 +15,7 @@ #include #include -#include "NormalisedCartographicCamera.h" +#include "CartographicTransformation.h" vtkSmartPointer LGlyphLayer::createSpawnPointCallback() { @@ -42,20 +42,25 @@ LGlyphLayer::LGlyphLayer() { this->data = vtkSmartPointer::New(); this->data->SetPoints(this->points); + auto camera = createNormalisedCamera(); + ren->SetActiveCamera(camera); + + auto transform = createCartographicTransformFilter(); + + vtkSmartPointer transformFilter = createCartographicTransformFilter(); + transformFilter->SetInputData(data); + vtkNew circleSource; circleSource->SetGlyphTypeToCircle(); - circleSource->SetScale(1); + circleSource->SetScale(0.05); circleSource->Update(); vtkNew glyph2D; glyph2D->SetSourceConnection(circleSource->GetOutputPort()); - glyph2D->SetInputData(this->data); + glyph2D->SetInputConnection(transformFilter->GetOutputPort()); glyph2D->SetColorModeToColorByScalar(); glyph2D->Update(); - auto camera = createNormalisedCartographicCamera(); - ren->SetActiveCamera(camera); - vtkNew mapper; mapper->SetInputConnection(glyph2D->GetOutputPort()); mapper->Update(); @@ -68,13 +73,11 @@ LGlyphLayer::LGlyphLayer() { // creates a few points so we can test the updateData function void LGlyphLayer::spoofPoints() { -// this->points->InsertNextPoint(200, 200 , 0); this->points->InsertNextPoint(-4.125, 61.375 , 0); - this->points->InsertNextPoint(4.896555178870355, 52.373557841669516, 0); -// this->points->InsertNextPoint(48.2, 111.01, 0); -// this->points->InsertNextPoint(331, 331, 0); -// this->points->InsertNextPoint(0, 50, 0); -// this->points->InsertNextPoint(200, 200 , 0); + this->points->InsertNextPoint(6.532949683882039, 53.24308582564463, 0); // Coordinates of Zernike + this->points->InsertNextPoint(5.315307819255385, 60.40001057122271, 0); // Coordinates of Bergen + this->points->InsertNextPoint( 6.646210231365825, 46.52346296009023, 0); // Coordinates of Lausanne + this->points->InsertNextPoint(-6.553894313570932, 62.39522131195857, 0); // Coordinates of the top of the Faroe islands this->points->Modified(); } diff --git a/vtk/src/helperClasses/NormalisedCartographicCamera.cpp b/vtk/src/helperClasses/NormalisedCartographicCamera.cpp deleted file mode 100644 index d34bafe..0000000 --- a/vtk/src/helperClasses/NormalisedCartographicCamera.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "NormalisedCartographicCamera.h" -#include - -vtkSmartPointer createNormalisedCartographicCamera() { - const double XMin = -15.875; - const double XMax = 12.875; - const double YMin = 46.125; - const double YMax = 62.625; - - double farClipPlane = 100; - double nearClipPlane = 1; - double eyeTransform[] = { - 2/(XMax-XMin), 0, 0, -(XMax+XMin)/(XMax-XMin), - 0, 2/(YMax-YMin), 0, -(YMax+YMin)/(YMax-YMin), - 0, 0, 2/(nearClipPlane-farClipPlane), -(farClipPlane+nearClipPlane)/(farClipPlane-nearClipPlane), - 0, 0, 0, 1 - }; - - vtkSmartPointer camera = vtkSmartPointer::New(); - camera->ParallelProjectionOn(); // Enable parallel projection - camera->UseExplicitProjectionTransformMatrixOn(); - -//// // Calculate the center and the size of the view - double centerX = (XMax + XMin) / 2.0; - double centerY = (YMax + YMin) / 2.0; - double width = XMax - XMin; - double height = YMax - YMin; -//// // Set the camera position, focal point, and view up -// camera->SetPosition(centerX, centerY, 1000); // Place the camera above the center -// camera->SetFocalPoint(centerX, centerY, 0); // Look at the center -// camera->SetViewUp(0, 1, 0); // Set the up vector to be along the Y-axis -//// -//// // Set parallel scale -// double parallelScale = std::max(width, height) / 2.0; -// camera->SetParallelScale(parallelScale); - - vtkNew projectionMatrix; - projectionMatrix->DeepCopy(eyeTransform); - camera->SetExplicitProjectionTransformMatrix(projectionMatrix); -// camera->SetScreenBottomLeft(XMin, YMin, 0); -// camera->SetScreenTopRight(XMax, YMax, 0); - return camera; -} diff --git a/vtk/src/helperClasses/NormalisedCartographicCamera.h b/vtk/src/helperClasses/NormalisedCartographicCamera.h deleted file mode 100644 index fca5a39..0000000 --- a/vtk/src/helperClasses/NormalisedCartographicCamera.h +++ /dev/null @@ -1,8 +0,0 @@ -#include - -#ifndef VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H -#define VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H - -#endif //VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H - -vtkSmartPointer createNormalisedCartographicCamera(); \ No newline at end of file diff --git a/vtk/src/helperClasses/SpawnPointCallback.cpp b/vtk/src/helperClasses/SpawnPointCallback.cpp index 15eca3b..e52b88f 100644 --- a/vtk/src/helperClasses/SpawnPointCallback.cpp +++ b/vtk/src/helperClasses/SpawnPointCallback.cpp @@ -7,6 +7,8 @@ #include #include +#include "CartographicTransformation.h" + void convertDisplayToWorld(vtkRenderer* renderer, int x, int y, double *worldPos) { double displayPos[3] = {static_cast(x), static_cast(y), 0.0}; renderer->SetDisplayPoint(displayPos); @@ -36,6 +38,7 @@ void SpawnPointCallback::Execute(vtkObject *caller, unsigned long evId, void *ca ren->SetDisplayPoint(displayPos); ren->DisplayToWorld(); ren->GetWorldPoint(worldPos); + inverseCartographicProjection->MultiplyPoint(worldPos, worldPos); cout << "clicked on lon = " << worldPos[0] << " and lat = " << worldPos[1] << endl; vtkIdType id = points->InsertNextPoint(worldPos[0], worldPos[1], 0); @@ -52,7 +55,10 @@ void SpawnPointCallback::Execute(vtkObject *caller, unsigned long evId, void *ca } -SpawnPointCallback::SpawnPointCallback() : data(nullptr), points(nullptr) {} +SpawnPointCallback::SpawnPointCallback() : data(nullptr), points(nullptr), inverseCartographicProjection(nullptr) { + inverseCartographicProjection = getCartographicTransformMatrix(); + inverseCartographicProjection->Invert(); +} SpawnPointCallback *SpawnPointCallback::New() { return new SpawnPointCallback; diff --git a/vtk/src/helperClasses/SpawnPointCallback.h b/vtk/src/helperClasses/SpawnPointCallback.h index e71063d..bef6ca4 100644 --- a/vtk/src/helperClasses/SpawnPointCallback.h +++ b/vtk/src/helperClasses/SpawnPointCallback.h @@ -6,6 +6,7 @@ #include #include #include +#include class SpawnPointCallback : public vtkCallbackCommand { @@ -18,14 +19,12 @@ public: void setData(const vtkSmartPointer &data); void setRen(const vtkSmartPointer &ren); - private: vtkSmartPointer data; vtkSmartPointer points; vtkSmartPointer ren; -public: + vtkSmartPointer inverseCartographicProjection; -private: void Execute(vtkObject *caller, unsigned long evId, void *callData) override; bool dragging = false; }; From c8fac120dc40585a8c7a1ff97eeb86334f36756c Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 5 May 2024 16:37:39 +0200 Subject: [PATCH 20/26] fix: added warning --- vtk/src/helperClasses/CartographicTransformation.h | 1 + 1 file changed, 1 insertion(+) diff --git a/vtk/src/helperClasses/CartographicTransformation.h b/vtk/src/helperClasses/CartographicTransformation.h index 368483d..56ffbeb 100644 --- a/vtk/src/helperClasses/CartographicTransformation.h +++ b/vtk/src/helperClasses/CartographicTransformation.h @@ -16,6 +16,7 @@ vtkSmartPointer createNormalisedCamera(); /** * Constructs a 4x4 projection matrix that maps homogenious (longitude, latitude, 0, 1) points * to the normalised space. + * TODO: This will soon require UVGrid as a parameter after the advection code is merged properly. * TODO: This transformation has room for improvement see: * https://github.com/MakeNEnjoy/interactive-track-and-trace/issues/12 * @return pointer to 4x4 matrix From a36991dbcaa746a5f24bc10fb42147265c402bbf Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 5 May 2024 16:44:16 +0200 Subject: [PATCH 21/26] fix:added back non-identity advection --- vtk/src/helperClasses/LGlyphLayer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/helperClasses/LGlyphLayer.cpp index 3b1a051..fdc4741 100644 --- a/vtk/src/helperClasses/LGlyphLayer.cpp +++ b/vtk/src/helperClasses/LGlyphLayer.cpp @@ -84,7 +84,7 @@ void LGlyphLayer::spoofPoints() { // returns new coords for a point; used to test the updateData function std::pair advect(int time, double lat, double lon) { - return {lat + 0., lon + 0.}; + return {lat + 0.01, lon + 0.01}; } void LGlyphLayer::updateData(int t) { From 3f7de8fdce1b85eec592f1effd7492e4a83f1672 Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 5 May 2024 18:59:30 +0200 Subject: [PATCH 22/26] fix: stylistic changes + addObservers --- vtk/src/CMakeLists.txt | 28 ++++++------- .../CartographicTransformation.cpp | 0 .../CartographicTransformation.h | 0 vtk/src/{helperClasses => }/Program.cpp | 40 +++++++++---------- vtk/src/{helperClasses => }/Program.h | 17 ++++---- .../SpawnPointCallback.cpp | 2 +- .../SpawnPointCallback.h | 0 vtk/src/commands/TimerCallbackCommand.cpp | 2 +- vtk/src/commands/TimerCallbackCommand.h | 2 +- .../BackgroundImage.cpp | 0 .../BackgroundImage.h | 0 .../{helperClasses => layers}/EGlyphLayer.cpp | 2 +- .../{helperClasses => layers}/EGlyphLayer.h | 0 .../{helperClasses => layers}/LGlyphLayer.cpp | 15 +++++-- .../{helperClasses => layers}/LGlyphLayer.h | 4 +- vtk/src/{helperClasses => layers}/Layer.cpp | 5 +-- vtk/src/{helperClasses => layers}/Layer.h | 5 +-- vtk/src/main.cpp | 10 ++--- 18 files changed, 67 insertions(+), 65 deletions(-) rename vtk/src/{helperClasses => }/CartographicTransformation.cpp (100%) rename vtk/src/{helperClasses => }/CartographicTransformation.h (100%) rename vtk/src/{helperClasses => }/Program.cpp (70%) rename vtk/src/{helperClasses => }/Program.h (86%) rename vtk/src/{helperClasses => commands}/SpawnPointCallback.cpp (98%) rename vtk/src/{helperClasses => commands}/SpawnPointCallback.h (100%) rename vtk/src/{helperClasses => layers}/BackgroundImage.cpp (100%) rename vtk/src/{helperClasses => layers}/BackgroundImage.h (100%) rename vtk/src/{helperClasses => layers}/EGlyphLayer.cpp (98%) rename vtk/src/{helperClasses => layers}/EGlyphLayer.h (100%) rename vtk/src/{helperClasses => layers}/LGlyphLayer.cpp (86%) rename vtk/src/{helperClasses => layers}/LGlyphLayer.h (87%) rename vtk/src/{helperClasses => layers}/Layer.cpp (58%) rename vtk/src/{helperClasses => layers}/Layer.h (78%) diff --git a/vtk/src/CMakeLists.txt b/vtk/src/CMakeLists.txt index cb39085..ef2a3aa 100644 --- a/vtk/src/CMakeLists.txt +++ b/vtk/src/CMakeLists.txt @@ -31,22 +31,22 @@ endif() # netcdf setup find_package(netCDF REQUIRED) -add_executable(VtkBase MACOSX_BUNDLE main.cpp - helperClasses/BackgroundImage.cpp - helperClasses/BackgroundImage.h - helperClasses/EGlyphLayer.cpp - helperClasses/EGlyphLayer.h - helperClasses/Layer.cpp - helperClasses/Layer.h - helperClasses/LGlyphLayer.cpp - helperClasses/LGlyphLayer.h - helperClasses/Program.cpp - helperClasses/Program.h +add_executable(VtkBase MACOSX_BUNDLE main.cpp + layers/BackgroundImage.cpp + layers/BackgroundImage.h + layers/EGlyphLayer.cpp + layers/EGlyphLayer.h + layers/Layer.cpp + layers/Layer.h + layers/LGlyphLayer.cpp + layers/LGlyphLayer.h + Program.cpp + Program.h commands/TimerCallbackCommand.h commands/TimerCallbackCommand.cpp - helperClasses/SpawnPointCallback.h - helperClasses/SpawnPointCallback.cpp - helperClasses/CartographicTransformation.cpp + commands/SpawnPointCallback.h + commands/SpawnPointCallback.cpp + CartographicTransformation.cpp ) execute_process( diff --git a/vtk/src/helperClasses/CartographicTransformation.cpp b/vtk/src/CartographicTransformation.cpp similarity index 100% rename from vtk/src/helperClasses/CartographicTransformation.cpp rename to vtk/src/CartographicTransformation.cpp diff --git a/vtk/src/helperClasses/CartographicTransformation.h b/vtk/src/CartographicTransformation.h similarity index 100% rename from vtk/src/helperClasses/CartographicTransformation.h rename to vtk/src/CartographicTransformation.h diff --git a/vtk/src/helperClasses/Program.cpp b/vtk/src/Program.cpp similarity index 70% rename from vtk/src/helperClasses/Program.cpp rename to vtk/src/Program.cpp index 3be950b..f5d1a93 100644 --- a/vtk/src/helperClasses/Program.cpp +++ b/vtk/src/Program.cpp @@ -18,8 +18,8 @@ #include #include "Program.h" -#include "../commands/TimerCallbackCommand.h" -#include "SpawnPointCallback.h" +#include "commands/TimerCallbackCommand.h" +#include "commands/SpawnPointCallback.h" void Program::setWinProperties() { this->win->SetWindowName("Simulation"); @@ -50,41 +50,37 @@ Program::Program() { } -void Program::addLayer(Layer* layer) { +void Program::addLayer(Layer *layer) { this->layers.push_back(layer); this->win->AddRenderer(layer->getLayer()); - this->win->SetNumberOfLayers(this->win->GetNumberOfLayers()+1); + this->win->SetNumberOfLayers(this->win->GetNumberOfLayers() + 1); } void Program::removeLayer(Layer *layer) { this->win->RemoveRenderer(layer->getLayer()); - auto it = std::find(this->layers.begin(), this->layers.end(), layer); - if (it != this->layers.end()) { - this->layers.erase(it); - this->win->SetNumberOfLayers(this->win->GetNumberOfLayers()-1); + auto it = std::find(this->layers.begin(), this->layers.end(), layer); + if (it != this->layers.end()) { + this->layers.erase(it); + this->win->SetNumberOfLayers(this->win->GetNumberOfLayers() - 1); } } - - -void Program::setLagrangeInteractor(SpawnPointCallback *cb){ - this->interact->AddObserver(vtkCommand::LeftButtonPressEvent, cb); - this->interact->AddObserver(vtkCommand::LeftButtonReleaseEvent, cb); - this->interact->AddObserver(vtkCommand::MouseMoveEvent, cb); -} - - - void Program::updateData(int t) { - this->win->Render(); - for (Layer *l : layers) { + win->Render(); + for (Layer *l: layers) { l->updateData(t); } } +void Program::setupInteractions() { + for (Layer *l: layers) { + l->addObservers(interact); + } +} void Program::render() { - this->win->Render(); - this->interact->Start(); + setupInteractions(); + win->Render(); + interact->Start(); } diff --git a/vtk/src/helperClasses/Program.h b/vtk/src/Program.h similarity index 86% rename from vtk/src/helperClasses/Program.h rename to vtk/src/Program.h index 642eadd..4097e4c 100644 --- a/vtk/src/helperClasses/Program.h +++ b/vtk/src/Program.h @@ -5,8 +5,8 @@ #include #include -#include "Layer.h" -#include "SpawnPointCallback.h" +#include "layers/Layer.h" +#include "commands/SpawnPointCallback.h" /** This class manages the upper levels of the vtk pipeline; it has attributes for the vtkrenderWindow and a vector of Layers to represent a variable number of vtkRenderers. * It can also set up a vtkTimer by connecting an instance of TimerCallbackCommand with its contained vtkRenderWindowInteractor. @@ -33,6 +33,8 @@ private: */ void setupTimer(); + void setupInteractions(); + public: /** Constructor. */ @@ -50,19 +52,16 @@ public: */ void removeLayer(Layer *layer); - /** This function sets the given SpawnpointCallback to be used with the program. - * @param cb : the callback to use. - */ - void setLagrangeInteractor(SpawnPointCallback *cb); - /** This function updates the data for the associated layers to the given timestamp. * Also updates the renderWindow. * @param t : the timestamp to update the data to. */ void updateData(int t); - /** This function renders the vtkRenderWindow for the first time. - */ + /** + * This function renders the vtkRenderWindow for the first time. + * Only call this function once! + */ void render(); }; diff --git a/vtk/src/helperClasses/SpawnPointCallback.cpp b/vtk/src/commands/SpawnPointCallback.cpp similarity index 98% rename from vtk/src/helperClasses/SpawnPointCallback.cpp rename to vtk/src/commands/SpawnPointCallback.cpp index e52b88f..e29d190 100644 --- a/vtk/src/helperClasses/SpawnPointCallback.cpp +++ b/vtk/src/commands/SpawnPointCallback.cpp @@ -7,7 +7,7 @@ #include #include -#include "CartographicTransformation.h" +#include "../CartographicTransformation.h" void convertDisplayToWorld(vtkRenderer* renderer, int x, int y, double *worldPos) { double displayPos[3] = {static_cast(x), static_cast(y), 0.0}; diff --git a/vtk/src/helperClasses/SpawnPointCallback.h b/vtk/src/commands/SpawnPointCallback.h similarity index 100% rename from vtk/src/helperClasses/SpawnPointCallback.h rename to vtk/src/commands/SpawnPointCallback.h diff --git a/vtk/src/commands/TimerCallbackCommand.cpp b/vtk/src/commands/TimerCallbackCommand.cpp index d8edfd7..94e9de9 100644 --- a/vtk/src/commands/TimerCallbackCommand.cpp +++ b/vtk/src/commands/TimerCallbackCommand.cpp @@ -1,5 +1,5 @@ #include "TimerCallbackCommand.h" -#include "../helperClasses/Program.h" +#include "../Program.h" TimerCallbackCommand::TimerCallbackCommand() : dt(3600), maxTime(3600*24*365), time(0) {} diff --git a/vtk/src/commands/TimerCallbackCommand.h b/vtk/src/commands/TimerCallbackCommand.h index ff478b8..618c7bf 100644 --- a/vtk/src/commands/TimerCallbackCommand.h +++ b/vtk/src/commands/TimerCallbackCommand.h @@ -2,7 +2,7 @@ #define TIMERCALLBACKCOMMAND_H #include -#include "../helperClasses/Program.h" +#include "../Program.h" class TimerCallbackCommand : public vtkCallbackCommand { public: diff --git a/vtk/src/helperClasses/BackgroundImage.cpp b/vtk/src/layers/BackgroundImage.cpp similarity index 100% rename from vtk/src/helperClasses/BackgroundImage.cpp rename to vtk/src/layers/BackgroundImage.cpp diff --git a/vtk/src/helperClasses/BackgroundImage.h b/vtk/src/layers/BackgroundImage.h similarity index 100% rename from vtk/src/helperClasses/BackgroundImage.h rename to vtk/src/layers/BackgroundImage.h diff --git a/vtk/src/helperClasses/EGlyphLayer.cpp b/vtk/src/layers/EGlyphLayer.cpp similarity index 98% rename from vtk/src/helperClasses/EGlyphLayer.cpp rename to vtk/src/layers/EGlyphLayer.cpp index 0722a34..cb91825 100644 --- a/vtk/src/helperClasses/EGlyphLayer.cpp +++ b/vtk/src/layers/EGlyphLayer.cpp @@ -13,7 +13,7 @@ #include #include #include -#include "CartographicTransformation.h" +#include "../CartographicTransformation.h" using namespace netCDF; using namespace std; diff --git a/vtk/src/helperClasses/EGlyphLayer.h b/vtk/src/layers/EGlyphLayer.h similarity index 100% rename from vtk/src/helperClasses/EGlyphLayer.h rename to vtk/src/layers/EGlyphLayer.h diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/layers/LGlyphLayer.cpp similarity index 86% rename from vtk/src/helperClasses/LGlyphLayer.cpp rename to vtk/src/layers/LGlyphLayer.cpp index 6fe6caf..845d628 100644 --- a/vtk/src/helperClasses/LGlyphLayer.cpp +++ b/vtk/src/layers/LGlyphLayer.cpp @@ -1,5 +1,5 @@ #include "LGlyphLayer.h" -#include "SpawnPointCallback.h" +#include "../commands/SpawnPointCallback.h" #include #include #include @@ -15,7 +15,7 @@ #include #include -#include "CartographicTransformation.h" +#include "../CartographicTransformation.h" vtkSmartPointer LGlyphLayer::createSpawnPointCallback() { @@ -26,7 +26,6 @@ vtkSmartPointer LGlyphLayer::createSpawnPointCallback() { return newPointCallBack; } -// TODO: how do we handle mapping between pixelspace and lat/lon (needed for advection)? Current idea: store the vtkPoints in lat/lon system, then apply a transformfilter to map them to the current window geometry. This should allow for a changing viewport as well - we can query the new camera position and map accordingly. // Further notes; current thinking is to allow tracking a particle's age by using a scalar array in the VtkPolyData. This would be incremented for every tick/updateData function call. // Another challenge is the concept of beaching; dead particles must not be included in the advect function call (wasted computations), but they should not be outright deleted from the vtkPoints either (we still want to display them). Working Solution: have another array of ints in the vtkPolyData, which tracks for how many calls of UpdateData a given particle has not had its position changed. If this int reaches some treshold (5? 10? 3? needs some testing), exclude the particle from the advect call. // @@ -94,3 +93,13 @@ void LGlyphLayer::updateData(int t) { } this->points->Modified(); } + +void LGlyphLayer::addObservers(vtkSmartPointer interactor) { + auto newPointCallBack = vtkSmartPointer::New(); + newPointCallBack->setData(data); + newPointCallBack->setPoints(points); + newPointCallBack->setRen(ren); + interactor->AddObserver(vtkCommand::LeftButtonPressEvent, newPointCallBack); + interactor->AddObserver(vtkCommand::LeftButtonReleaseEvent, newPointCallBack); + interactor->AddObserver(vtkCommand::MouseMoveEvent, newPointCallBack); +} diff --git a/vtk/src/helperClasses/LGlyphLayer.h b/vtk/src/layers/LGlyphLayer.h similarity index 87% rename from vtk/src/helperClasses/LGlyphLayer.h rename to vtk/src/layers/LGlyphLayer.h index edc751d..22993b4 100644 --- a/vtk/src/helperClasses/LGlyphLayer.h +++ b/vtk/src/layers/LGlyphLayer.h @@ -2,7 +2,7 @@ #define LGLYPHLAYER_H #include "Layer.h" -#include "SpawnPointCallback.h" +#include "../commands/SpawnPointCallback.h" #include #include @@ -31,6 +31,8 @@ public: void updateData(int t) override; vtkSmartPointer createSpawnPointCallback(); + + void addObservers(vtkSmartPointer interactor) override; }; #endif diff --git a/vtk/src/helperClasses/Layer.cpp b/vtk/src/layers/Layer.cpp similarity index 58% rename from vtk/src/helperClasses/Layer.cpp rename to vtk/src/layers/Layer.cpp index f5a4a50..6b7bb56 100644 --- a/vtk/src/helperClasses/Layer.cpp +++ b/vtk/src/layers/Layer.cpp @@ -11,7 +11,6 @@ vtkSmartPointer Layer::getLayer() { void Layer::updateData(int t) { } - -void Layer::addObserver(const char *event, vtkCommand *observer) { - this->getLayer()->GetRenderWindow()->GetInteractor()->AddObserver(event, observer); +void Layer::addObservers(vtkSmartPointer interactor) { + // By default, do nothing. } diff --git a/vtk/src/helperClasses/Layer.h b/vtk/src/layers/Layer.h similarity index 78% rename from vtk/src/helperClasses/Layer.h rename to vtk/src/layers/Layer.h index 5a357c5..7ee86b1 100644 --- a/vtk/src/helperClasses/Layer.h +++ b/vtk/src/layers/Layer.h @@ -24,10 +24,9 @@ public: virtual void updateData(int t); /** Adds an observer to the renderWindowinteractor within which this layer is active. - * @param event : the specific event type to subscribe to (see the vtkCommand::EventIds enum) - * @param observer : the observer to add. + * @param interactor : pointer to the interactor that observers can be added to. */ - virtual void addObserver(const char *event, vtkCommand *observer); + virtual void addObservers(vtkSmartPointer interactor); }; #endif diff --git a/vtk/src/main.cpp b/vtk/src/main.cpp index 7be9e38..fb89ea4 100644 --- a/vtk/src/main.cpp +++ b/vtk/src/main.cpp @@ -8,10 +8,10 @@ #include #include -#include "helperClasses/BackgroundImage.h" -#include "helperClasses/EGlyphLayer.h" -#include "helperClasses/LGlyphLayer.h" -#include "helperClasses/Program.h" +#include "layers/BackgroundImage.h" +#include "layers/EGlyphLayer.h" +#include "layers/LGlyphLayer.h" +#include "Program.h" using namespace std; @@ -25,8 +25,6 @@ int main() { program->addLayer(new EGlyphLayer()); program->addLayer(l); - // auto program = new Program(bg, e, l); - program->setLagrangeInteractor(l->createSpawnPointCallback()); program->render(); return EXIT_SUCCESS; From eb74a777fec4fc6813673eeb1b9154e324511aac Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 5 May 2024 19:00:14 +0200 Subject: [PATCH 23/26] deleted opening-hdf5 --- opening-hdf5/.gitignore | 6 -- opening-hdf5/README.md | 39 ------------- opening-hdf5/src/CMakeLists.txt | 32 ---------- opening-hdf5/src/main.cpp | 100 -------------------------------- 4 files changed, 177 deletions(-) delete mode 100644 opening-hdf5/.gitignore delete mode 100644 opening-hdf5/README.md delete mode 100644 opening-hdf5/src/CMakeLists.txt delete mode 100644 opening-hdf5/src/main.cpp diff --git a/opening-hdf5/.gitignore b/opening-hdf5/.gitignore deleted file mode 100644 index 95abd3d..0000000 --- a/opening-hdf5/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.DS_Store -src/.DS_Store -src/.cache -src/build -.idea -src/cmake-build-debug \ No newline at end of file diff --git a/opening-hdf5/README.md b/opening-hdf5/README.md deleted file mode 100644 index ec2a268..0000000 --- a/opening-hdf5/README.md +++ /dev/null @@ -1,39 +0,0 @@ -## Location of data -The data path is hardcoded such that the following tree structure is assumed: -``` -data/ - grid.h5 - hydrodynamic_U.h5 - hydrodynamic_V.h5 -interactive-track-and-trace/ - opening-hdf5/ - ... -``` - -## Compiling -Let the current directory be the `src` directory. Run: -```shell -mkdir build -cd build -cmake .. -make -``` - -### Building with Linux -Makes use of `mdspan` which is not supported by glibc++ at time of writing. See [compiler support](https://en.cppreference.com/w/cpp/compiler_support/23) for `mdspan`. The solution to this is to use Clang and libc++; this is configured in our CMake setup, however the default installation of the `netcdf-cxx` package on at least Arch linux (and suspectedly Debian derivatives as well) specifically builds for the glibc implementation. To get the netcdf C++ bindings functional with the libc++ implementation, one needs to build from source. On Linux, this requires a few changes to the CMake file included with the netcdf-cxx source code, which are detailed below. - -Step-by-step to build the program using clang++ and libc++ on linux: - 1. Download the source code of netcdf-cxx, found at 'https://github.com/Unidata/netcdf-cxx4/releases/tag/v4.3.1' (make sure to download the release source code, as the master branch contains non-compilable code). - 2. Edit the CMakeLists.txt file, by appending '-stdlib=libc++' to the `CMAKE_CXX_FLAGS` variable in line 430. This means line 430 should read: - ```cmake - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wno-unused-variable -Wno-unused-parameter -stdlib=libc++") - ``` - 2. Build the source code with the following: - ```sh - mkdir build && cd build - cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/clang++ - make - ctest - sudo make install - ``` - 3. Now the code should compile through the standard steps described in the Compiling section. diff --git a/opening-hdf5/src/CMakeLists.txt b/opening-hdf5/src/CMakeLists.txt deleted file mode 100644 index e1a4067..0000000 --- a/opening-hdf5/src/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -cmake_minimum_required (VERSION 3.28) -project (ReadHDF5) - -set(CMAKE_CXX_STANDARD 23) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -# Force use of libc++ for mdspan support -set(CMAKE_CXX_COMPILER "clang++") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ ") - -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -find_package(netCDF REQUIRED) - -add_executable(ReadHDF5 main.cpp) - -execute_process( - COMMAND nc-config --includedir - OUTPUT_VARIABLE NETCDF_INCLUDE_DIR - OUTPUT_STRIP_TRAILING_WHITESPACE -) - -execute_process( - COMMAND ncxx4-config --libdir - OUTPUT_VARIABLE NETCDFCXX_LIB_DIR - OUTPUT_STRIP_TRAILING_WHITESPACE -) - -target_include_directories(ReadHDF5 PUBLIC ${netCDF_INCLUDE_DIR}) - -find_library(NETCDF_LIB NAMES netcdf-cxx4 netcdf_c++4 PATHS ${NETCDFCXX_LIB_DIR} NO_DEFAULT_PATH) -target_link_libraries(ReadHDF5 ${NETCDF_LIB}) diff --git a/opening-hdf5/src/main.cpp b/opening-hdf5/src/main.cpp deleted file mode 100644 index 68e0ee8..0000000 --- a/opening-hdf5/src/main.cpp +++ /dev/null @@ -1,100 +0,0 @@ -#include -#include -#include -#include - -#include - -using namespace std; -using namespace netCDF; - -template -void printContentsOfVec(const std::vector& vec) { - for (const auto& element : vec) { - cout << element << " "; - } - cout << std::endl; -} - -template -vector getVarVector(NcVar var) { - int length = 1; - for (NcDim dim : var.getDims()) { - length *= dim.getSize(); - } - - vector vec(length); - - var.getVar(vec.data()); - - return vec; -} - -template -using arr3d = std::mdspan< - T, - std::dextents< - std::size_t, - 3 - > - >; - - -template -void print3DMatrixSlice(arr3d arr, int t) { - for (int x = 0; x < arr.extent(1); x++) { - for (int y = 0; y < arr.extent(2); y++) { - print("{} ", arr[t,x,y]); - } - println(""); - } -} - -void print3DMatrixSlice(arr3d arr, int t) { - for (int x = 0; x < arr.extent(1); x++) { - for (int y = 0; y < arr.extent(2); y++) { - print("{:>10.4f} ", arr[t,x,y]); - } - println(""); - } -} - -/** - * Read a 3D matrix from a NetCDF variable. - * Reads data into a contiguous 1D data vector. - * Returns a pair of the size of the matrix (in the form of an extent) with the data vector. - * - * Inteded usage of this function involves using the two returned values - * to create an mdspan: - * - * auto arr = mdspan(vec.data(), size); - */ -template -pair, std::dextents> get3DMat(NcVar var) { - if(var.getDimCount() != 3) { - throw invalid_argument("Variable is not 3D"); - } - int timeLength = var.getDim(0).getSize(); - int latLength = var.getDim(1).getSize(); - int longLength = var.getDim(2).getSize(); - vector vec(timeLength*latLength*longLength); - var.getVar(vec.data()); - auto arr = std::mdspan(vec.data(), timeLength, latLength, longLength); - - return {vec, arr.extents()}; -} - -int main () { - netCDF::NcFile data("../../../../data/hydrodynamic_U.h5", netCDF::NcFile::read); - - multimap< string, NcVar > vars = data.getVars(); - - auto [vec, size] = get3DMat(vars.find("uo")->second); - - - auto arr = std::mdspan(vec.data(), size); - - print3DMatrixSlice(arr, 100); - - return 0; -} From 5873d38fa4d830b9eccca8625c748828b8b406a3 Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 5 May 2024 19:02:54 +0200 Subject: [PATCH 24/26] fix: a word --- vtk/src/layers/Layer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vtk/src/layers/Layer.h b/vtk/src/layers/Layer.h index 7ee86b1..5f6fc32 100644 --- a/vtk/src/layers/Layer.h +++ b/vtk/src/layers/Layer.h @@ -23,7 +23,7 @@ public: */ virtual void updateData(int t); - /** Adds an observer to the renderWindowinteractor within which this layer is active. + /** Adds observers to the renderWindowinteractor within which this layer is active. * @param interactor : pointer to the interactor that observers can be added to. */ virtual void addObservers(vtkSmartPointer interactor); From cd87f383c90ed8492af1bea97cff0555378ee02c Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 5 May 2024 19:08:28 +0200 Subject: [PATCH 25/26] fix: one comment --- vtk/src/layers/Layer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vtk/src/layers/Layer.cpp b/vtk/src/layers/Layer.cpp index 6b7bb56..39073b1 100644 --- a/vtk/src/layers/Layer.cpp +++ b/vtk/src/layers/Layer.cpp @@ -9,8 +9,9 @@ vtkSmartPointer Layer::getLayer() { } void Layer::updateData(int t) { + // By default, do nothing } void Layer::addObservers(vtkSmartPointer interactor) { - // By default, do nothing. + // By default, do nothing } From 0e10881d9cfebc15dcbf43e40f2583c2c2cb6785 Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 5 May 2024 19:31:47 +0200 Subject: [PATCH 26/26] conflict resolved --- .gitignore | 1 + advection/.gitignore | 7 ++ advection/README.md | 46 +++++++++++++ advection/src/AdvectionKernel.h | 32 +++++++++ advection/src/CMakeLists.txt | 42 ++++++++++++ advection/src/EulerAdvectionKernel.cpp | 13 ++++ advection/src/EulerAdvectionKernel.h | 25 +++++++ advection/src/RK4AdvectionKernel.cpp | 35 ++++++++++ advection/src/RK4AdvectionKernel.h | 22 ++++++ advection/src/UVGrid.cpp | 66 ++++++++++++++++++ advection/src/UVGrid.h | 65 ++++++++++++++++++ advection/src/Vel.cpp | 40 +++++++++++ advection/src/Vel.h | 44 ++++++++++++ advection/src/interpolate.cpp | 47 +++++++++++++ advection/src/interpolate.h | 28 ++++++++ advection/src/main.cpp | 95 ++++++++++++++++++++++++++ advection/src/readdata.cpp | 50 ++++++++++++++ advection/src/readdata.h | 22 ++++++ 18 files changed, 680 insertions(+) create mode 100644 advection/.gitignore create mode 100644 advection/README.md create mode 100644 advection/src/AdvectionKernel.h create mode 100644 advection/src/CMakeLists.txt create mode 100644 advection/src/EulerAdvectionKernel.cpp create mode 100644 advection/src/EulerAdvectionKernel.h create mode 100644 advection/src/RK4AdvectionKernel.cpp create mode 100644 advection/src/RK4AdvectionKernel.h create mode 100644 advection/src/UVGrid.cpp create mode 100644 advection/src/UVGrid.h create mode 100644 advection/src/Vel.cpp create mode 100644 advection/src/Vel.h create mode 100644 advection/src/interpolate.cpp create mode 100644 advection/src/interpolate.h create mode 100644 advection/src/main.cpp create mode 100644 advection/src/readdata.cpp create mode 100644 advection/src/readdata.h diff --git a/.gitignore b/.gitignore index 4befed3..08302ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .DS_Store .idea + diff --git a/advection/.gitignore b/advection/.gitignore new file mode 100644 index 0000000..34ddd4b --- /dev/null +++ b/advection/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +src/.DS_Store +src/.cache +src/build +.idea +src/cmake-build-debug +src/cmake-build-release diff --git a/advection/README.md b/advection/README.md new file mode 100644 index 0000000..0abcf14 --- /dev/null +++ b/advection/README.md @@ -0,0 +1,46 @@ +## What is new? +There is one new added component: `AdvectionKernel`s which is an "interface" (i.e an abstract class). +There are two implementations simple Euler integration called `EulerIntegrationKernel` and +Runge Kutta integration called `RK4AdvectionKernel`. + +Main function gives a good example of how to use the library. Especially the following function which prints the +position of the particle at every time step. +```Cpp +template +void advectForSomeTime(const UVGrid &uvGrid, const AdvectionKernelImpl &kernel, double latstart, double lonstart) { + + // Require at compile time that kernel derives from the abstract class AdvectionKernel + static_assert(std::is_base_of::value, NotAKernelError); + + double lat1 = latstart, lon1 = lonstart; + for(int time = 100; time <= 10000; time += AdvectionKernel::DT) { + cout << "lat = " << lat1 << " lon = " << lon1 << endl; + auto [templat, templon] = kernel.advect(time, lat1, lon1); + lat1 = templat; + lon1 = templon; + } +} +``` + + +## Location of data +The data path is hardcoded such that the following tree structure is assumed: +The current assumption is that the name of the `u`s and `v`s are flipped since this is the way the data was given to us. +``` +data/ + grid.h5 + hydrodynamic_U.h5 + hydrodynamic_V.h5 +interactive-track-and-trace/ + opening-hdf5/ + ... +``` + +## Compiling +Let the current directory be the `src` directory. Run: +```shell +mkdir build +cd build +cmake .. +make +``` \ No newline at end of file diff --git a/advection/src/AdvectionKernel.h b/advection/src/AdvectionKernel.h new file mode 100644 index 0000000..0170c79 --- /dev/null +++ b/advection/src/AdvectionKernel.h @@ -0,0 +1,32 @@ +#ifndef ADVECTION_ADVECTIONKERNEL_H +#define ADVECTION_ADVECTIONKERNEL_H + +#include + +#include "Vel.h" + + +/* + * Implement this class for every integration method. + */ +class AdvectionKernel { +public: + const static int DT = 60 * 15; // 60 sec/min * 15 mins + /** + * This function must take a time, latitude and longitude of a particle and must output + * a new latitude and longitude after being advected once for AdvectionKernel::DT time as defined above. + * @param time Time since the beginning of the data + * @param latitude Latitude of particle + * @param longitude Longitude of particle + * @return A pair of latitude and longitude of particle. + */ + virtual std::pair advect(int time, double latitude, double longitude) const = 0; + + // Taken from Parcels https://github.com/OceanParcels/parcels/blob/daa4b062ed8ae0b2be3d87367d6b45599d6f95db/parcels/tools/converters.py#L155 + const static double metreToDegrees(double metre) { + return metre / 1000. / 1.852 / 60.; + } + +}; + +#endif //ADVECTION_ADVECTIONKERNEL_H diff --git a/advection/src/CMakeLists.txt b/advection/src/CMakeLists.txt new file mode 100644 index 0000000..b8c8758 --- /dev/null +++ b/advection/src/CMakeLists.txt @@ -0,0 +1,42 @@ +cmake_minimum_required (VERSION 3.28) +project (Advection) + +set(CMAKE_CXX_STANDARD 23) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +find_package(netCDF REQUIRED) + +add_executable(Advection main.cpp + readdata.cpp + readdata.h + interpolate.cpp + interpolate.h + UVGrid.cpp + UVGrid.h + Vel.h + Vel.cpp + AdvectionKernel.h + EulerAdvectionKernel.cpp + EulerAdvectionKernel.h + RK4AdvectionKernel.cpp + RK4AdvectionKernel.h +) + +execute_process( + COMMAND nc-config --includedir + OUTPUT_VARIABLE NETCDF_INCLUDE_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +execute_process( + COMMAND ncxx4-config --libdir + OUTPUT_VARIABLE NETCDFCXX_LIB_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +target_include_directories(Advection PUBLIC ${netCDF_INCLUDE_DIR}) + +find_library(NETCDF_LIB NAMES netcdf-cxx4 netcdf_c++4 PATHS ${NETCDFCXX_LIB_DIR} NO_DEFAULT_PATH) +target_link_libraries(Advection ${NETCDF_LIB}) diff --git a/advection/src/EulerAdvectionKernel.cpp b/advection/src/EulerAdvectionKernel.cpp new file mode 100644 index 0000000..1a38944 --- /dev/null +++ b/advection/src/EulerAdvectionKernel.cpp @@ -0,0 +1,13 @@ + +#include "EulerAdvectionKernel.h" +#include "interpolate.h" + +using namespace std; + +EulerAdvectionKernel::EulerAdvectionKernel(std::shared_ptr grid): grid(grid) { } + +std::pair EulerAdvectionKernel::advect(int time, double latitude, double longitude) const { + auto [u, v] = bilinearinterpolate(*grid, time, latitude, longitude); + + return {latitude+metreToDegrees(v*DT), longitude+metreToDegrees(u*DT)}; +} diff --git a/advection/src/EulerAdvectionKernel.h b/advection/src/EulerAdvectionKernel.h new file mode 100644 index 0000000..d9893cb --- /dev/null +++ b/advection/src/EulerAdvectionKernel.h @@ -0,0 +1,25 @@ +#ifndef ADVECTION_EULERADVECTIONKERNEL_H +#define ADVECTION_EULERADVECTIONKERNEL_H + +#include "AdvectionKernel.h" +#include "UVGrid.h" + +/** + * Implementation of AdvectionKernel. + * The basic equation is: + * new_latitude = latitude + v*DT + * new_longitude = longitude + u*DT + * + * Uses bilinear interpolation as implemented in interpolate.h + */ +class EulerAdvectionKernel: public AdvectionKernel { +private: + std::shared_ptr grid; +public: + explicit EulerAdvectionKernel(std::shared_ptr grid); + std::pair advect(int time, double latitude, double longitude) const override; + +}; + + +#endif //ADVECTION_EULERADVECTIONKERNEL_H diff --git a/advection/src/RK4AdvectionKernel.cpp b/advection/src/RK4AdvectionKernel.cpp new file mode 100644 index 0000000..1edc9f9 --- /dev/null +++ b/advection/src/RK4AdvectionKernel.cpp @@ -0,0 +1,35 @@ +#include "RK4AdvectionKernel.h" +#include "interpolate.h" + +using namespace std; + +RK4AdvectionKernel::RK4AdvectionKernel(std::shared_ptr grid): grid(grid) { } + +std::pair RK4AdvectionKernel::advect(int time, double latitude, double longitude) const { + auto [u1, v1] = bilinearinterpolate(*grid, time, latitude, longitude); +// lon1, lat1 = (particle.lon + u1*.5*particle.dt, particle.lat + v1*.5*particle.dt); + double lon1 = longitude + metreToDegrees(u1 * 0.5*DT); + double lat1 = latitude + metreToDegrees(v1 * 0.5*DT); + +// (u2, v2) = fieldset.UV[time + .5 * particle.dt, particle.depth, lat1, lon1, particle] + auto [u2, v2] = bilinearinterpolate(*grid, time + 0.5 * DT, lat1, lon1); + +// lon2, lat2 = (particle.lon + u2*.5*particle.dt, particle.lat + v2*.5*particle.dt) + double lon2 = longitude + metreToDegrees(u2 * 0.5 * DT); + double lat2 = latitude + metreToDegrees(v2 * 0.5 * DT); + +// (u3, v3) = fieldset.UV[time + .5 * particle.dt, particle.depth, lat2, lon2, particle] + auto [u3, v3] = bilinearinterpolate(*grid, time + 0.5 * DT, lat2, lon2); + +// lon3, lat3 = (particle.lon + u3*particle.dt, particle.lat + v3*particle.dt) + double lon3 = longitude + metreToDegrees(u3 * DT); + double lat3 = latitude + metreToDegrees(v3 * DT); + +// (u4, v4) = fieldset.UV[time + particle.dt, particle.depth, lat3, lon3, particle] + auto [u4, v4] = bilinearinterpolate(*grid, time + DT, lat3, lon3); + + double lonFinal = longitude + metreToDegrees((u1 + 2 * u2 + 2 * u3 + u4) / 6.0 * DT); + double latFinal = latitude + metreToDegrees((v1 + 2 * v2 + 2 * v3 + v4) / 6.0 * DT); + + return {latFinal, lonFinal}; +} diff --git a/advection/src/RK4AdvectionKernel.h b/advection/src/RK4AdvectionKernel.h new file mode 100644 index 0000000..6b6c88d --- /dev/null +++ b/advection/src/RK4AdvectionKernel.h @@ -0,0 +1,22 @@ +#ifndef ADVECTION_RK4ADVECTIONKERNEL_H +#define ADVECTION_RK4ADVECTIONKERNEL_H + +#include "AdvectionKernel.h" +#include "UVGrid.h" + +/** + * Implementation of Advection kernel using RK4 integration + * See https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods for more details. + * Uses bilinear interpolation as implemented in interpolate.h + */ +class RK4AdvectionKernel: public AdvectionKernel { +private: + std::shared_ptr grid; +public: + explicit RK4AdvectionKernel(std::shared_ptr grid); + std::pair advect(int time, double latitude, double longitude) const override; + +}; + + +#endif //ADVECTION_RK4ADVECTIONKERNEL_H diff --git a/advection/src/UVGrid.cpp b/advection/src/UVGrid.cpp new file mode 100644 index 0000000..1febbfe --- /dev/null +++ b/advection/src/UVGrid.cpp @@ -0,0 +1,66 @@ +#include + +#include "UVGrid.h" +#include "readdata.h" + +#define sizeError2 "The sizes of the hydrodynamic data files are different" +#define sizeError "The sizes of the hydrodynamicU or -V files does not correspond with the sizes of the grid file" + +using namespace std; + +UVGrid::UVGrid() { + auto us = readHydrodynamicU(); + auto vs = readHydrodynamicV(); + if (us.size() != vs.size()) { + throw domain_error(sizeError2); + } + + tie(times, lats, lons) = readGrid(); + + timeSize = times.size(); + latSize = lats.size(); + lonSize = lons.size(); + + size_t gridSize = timeSize * latSize * lonSize; + if (gridSize != us.size()) { + throw domain_error(sizeError); + } + + uvData.reserve(gridSize); + + for (auto vel: views::zip(us, vs)) { + uvData.push_back(Vel(vel)); + } +} + +const Vel &UVGrid::operator[](size_t timeIndex, size_t latIndex, size_t lonIndex) const { + if(timeIndex < 0 or timeIndex >= timeSize + or latIndex < 0 or latIndex >= latSize + or lonIndex < 0 or lonIndex >= lonSize) { + throw std::out_of_range("Index out of bounds"); + } + size_t index = timeIndex * (latSize * lonSize) + latIndex * lonSize + lonIndex; + return uvData[index]; +} + +double UVGrid::lonStep() const { + return lons[1] - lons[0]; +} + +double UVGrid::latStep() const { + return lats[1] - lats[0]; +} + +int UVGrid::timeStep() const { + return times[1] - times[0]; +} + +void UVGrid::streamSlice(ostream &os, size_t t) { + for (int x = 0; x < latSize; x++) { + for (int y = 0; y < lonSize; y++) { + auto vel = (*this)[t,x,y]; + os << vel << " "; + } + os << endl; + } +} \ No newline at end of file diff --git a/advection/src/UVGrid.h b/advection/src/UVGrid.h new file mode 100644 index 0000000..f068ea9 --- /dev/null +++ b/advection/src/UVGrid.h @@ -0,0 +1,65 @@ +#ifndef ADVECTION_UVGRID_H +#define ADVECTION_UVGRID_H + +#include +#include "Vel.h" + +class UVGrid { +private: + /** + * 1D data vector of all the us and vs + */ + std::vector uvData; +public: + UVGrid(); + + /** + * The matrix has shape (timeSize, latSize, lonSize) + */ + size_t timeSize; + size_t latSize; + size_t lonSize; + + /** + * Assuming grid is a regular grid, gives the longitudinal spacing of grid. + * @return longitudinal spacing + */ + double lonStep() const; + + /** + * Assuming grid is a regular grid, gives the latitudinal spacing of grid. + * @return latitudinal spacing + */ + double latStep() const; + + /** + * Assuming grid is a regular grid, gives the time spacing of grid. + * @return time spacing + */ + int timeStep() const; + + /** + * times, lats, lons are vector of length timeSize, latSize, lonSize respectively. + * The maintain the following invariant: + * grid[timeIndex,latIndex,lonIndex] gives the u,v at the point with latitude at lats[latIndex], + * with longitude at lons[lonIndex], and with time at times[timeIndex]. + */ + std::vector times; + std::vector lats; + std::vector lons; + + /** + * The 3D index into the data. The array is sized by [8761][67][116] + * @return Velocity at that index + */ + const Vel& operator[](size_t timeIndex, size_t latIndex, size_t lonIndex) const; + + /** + * Streams a slice at timeIndex t of the matrix to the outstream given by os + * @param os outstream + * @param t index with which to slice matrix + */ + void streamSlice(std::ostream &os, size_t t); +}; + +#endif //ADVECTION_UVGRID_H diff --git a/advection/src/Vel.cpp b/advection/src/Vel.cpp new file mode 100644 index 0000000..6bb5990 --- /dev/null +++ b/advection/src/Vel.cpp @@ -0,0 +1,40 @@ +#include "Vel.h" +#include +#include + +using namespace std; + +Vel::Vel(double u, double v) : u(u), v(v) {} + +Vel::Vel(const std::pair& p) : u(p.first), v(p.second) {} + +Vel& Vel::operator=(const std::pair& p) { + u = p.first; + v = p.second; + return *this; +} + +Vel Vel::operator+(const Vel& other) const { + return Vel(u + other.u, v + other.v); +} + +Vel& Vel::operator+=(const Vel& other) { + u += other.u; + v += other.v; + return *this; +} + +template +Vel Vel::operator/(Scalar scalar) const { + if (scalar == 0) throw std::runtime_error("Division by zero"); + return Vel(u / scalar, v / scalar); +} + +std::ostream& operator<<(ostream& os, const Vel& vel) { + os << "("; + os << fixed << setprecision(2) << setw(5) << vel.u; + os << ", "; + os << fixed << setprecision(2) << setw(5) << vel.v; + os << ")"; + return os; +} \ No newline at end of file diff --git a/advection/src/Vel.h b/advection/src/Vel.h new file mode 100644 index 0000000..74d62cd --- /dev/null +++ b/advection/src/Vel.h @@ -0,0 +1,44 @@ +#ifndef ADVECTION_VEL_H +#define ADVECTION_VEL_H + +#include +#include +#include +#include + +class Vel { +public: + double u; // Eastward Current Velocity in the Water Column + double v; // Northward Current Velocity in the Water Column + + Vel(double u, double v); + Vel(const std::pair& p); // Conversion constructor + Vel& operator=(const std::pair& p); + + // Operator + to add two Vel objects + Vel operator+(const Vel& other) const; + + // Operator += to add another Vel object to this object + Vel& operator+=(const Vel& other); + + // Operator * to multiply Vel by a scalar, defined as a member template + template + Vel operator*(Scalar scalar) const { + return Vel(u * scalar, v * scalar); + } + + // Operator / to divide Vel by a scalar, defined as a member template + template + Vel operator/(Scalar scalar) const; + + // Friend declaration for the stream insertion operator + friend std::ostream& operator<<(std::ostream& os, const Vel& vel); +}; + +// Non-member function for scalar multiplication on the left +template +Vel operator*(Scalar scalar, const Vel& p) { + return Vel(p.u * scalar, p.v * scalar); +} + +#endif //ADVECTION_VEL_H diff --git a/advection/src/interpolate.cpp b/advection/src/interpolate.cpp new file mode 100644 index 0000000..7d3e0cc --- /dev/null +++ b/advection/src/interpolate.cpp @@ -0,0 +1,47 @@ +#include "interpolate.h" + +using namespace std; + +Vel bilinearinterpolate(const UVGrid &uvGrid, int time, double lat, double lon) { + double latStep = uvGrid.latStep(); + double lonStep = uvGrid.lonStep(); + int timeStep = uvGrid.timeStep(); + + int latIndex = (lat - uvGrid.lats[0]) / latStep; + int lonIndex = (lon - uvGrid.lons[0]) / lonStep; + int timeIndex = (time - uvGrid.times[0]) / timeStep; + + double timeRatio = (static_cast(time) - uvGrid.times[timeIndex]) / timeStep; + double latRatio = (lat - uvGrid.lats[latIndex]) / latStep; + double lonRatio = (lon - uvGrid.lons[lonIndex]) / lonStep; + + Vel point = {0, 0}; + for (int timeOffset = 0; timeOffset <= 1; timeOffset++) { + for (int latOffset = 0; latOffset <= 1; latOffset++) { + for (int lonOffset = 0; lonOffset <= 1; lonOffset++) { + auto vertex = uvGrid[ + timeIndex + 1 < uvGrid.timeSize ? timeIndex + timeOffset : timeIndex, + latIndex + 1 < uvGrid.latSize ? latIndex + latOffset : latIndex, + lonIndex + 1 < uvGrid.lonSize ? lonIndex + lonOffset : lonIndex + ]; + + double timeRation = (1 - timeOffset) * (1 - timeRatio) + timeOffset * timeRatio; + double latRation = (1 - latOffset) * (1 - latRatio) + latOffset * latRatio; + double lonRation = (1 - lonOffset) * (1 - lonRatio) + lonOffset * lonRatio; + point += timeRation * latRation * lonRation * vertex; + } + } + } + + return point; +} + +vector bilinearinterpolation(const UVGrid &uvGrid, vector> points) { + vector result; + result.reserve(points.size()); + for (auto [time, lat, lon]: points) { + result.push_back(bilinearinterpolate(uvGrid, time, lat, lon)); + } + + return result; +} diff --git a/advection/src/interpolate.h b/advection/src/interpolate.h new file mode 100644 index 0000000..80176d5 --- /dev/null +++ b/advection/src/interpolate.h @@ -0,0 +1,28 @@ +#ifndef ADVECTION_INTERPOLATE_H +#define ADVECTION_INTERPOLATE_H + +#include + +#include "UVGrid.h" + +/** + * Bilinearly interpolate the point (time, lat, lon) to produce the interpolated velocity. + * Since it is in 3D, this means that it interpolates against 8 points (excluding edges). + * As described in https://numerical.recipes/book.html Chapter 3.6 + * @param uvGrid velocity grid + * @param time time of point + * @param lat latitude of point + * @param lon longitude of point + * @return interpolated velocity + */ +Vel bilinearinterpolate(const UVGrid &uvGrid, int time, double lat, double lon); + +/** + * Helper function for bilnearly interpolating a vector of points + * @param uvGrid velocity grid + * @param points vector of points + * @return interpolated velocities + */ +std::vector bilinearinterpolation(const UVGrid &uvGrid, std::vector> points); + +#endif //ADVECTION_INTERPOLATE_H diff --git a/advection/src/main.cpp b/advection/src/main.cpp new file mode 100644 index 0000000..0e0fc01 --- /dev/null +++ b/advection/src/main.cpp @@ -0,0 +1,95 @@ +#include +#include +#include + +#include "interpolate.h" +#include "Vel.h" +#include "EulerAdvectionKernel.h" +#include "RK4AdvectionKernel.h" +#include "interpolate.h" + +#define NotAKernelError "Template parameter T must derive from AdvectionKernel" + +using namespace std; + +template +void advectForSomeTime(const UVGrid &uvGrid, const AdvectionKernelImpl &kernel, double latstart, double lonstart, int i, char colour[10]) { + + // Require at compile time that kernel derives from the abstract class AdvectionKernel + static_assert(std::is_base_of::value, NotAKernelError); + + double lat1 = latstart, lon1 = lonstart; + for(int time = 0; time <= 31536000.; time += AdvectionKernel::DT) { +// cout << setprecision(8) << lat1 << "," << setprecision(8) << lon1 << ",end" << i << "," << colour << endl; + try { + auto [templat, templon] = kernel.advect(time, lat1, lon1); + lat1 = templat; + lon1 = templon; + } catch (const out_of_range& e) { + cerr << "broke out of loop!" << endl; + time = 31536001; + } + } + cout << setprecision(8) << latstart << "," << setprecision(8) << lonstart << ",begin" << i << "," << colour << endl; + cout << setprecision(8) << lat1 << "," << setprecision(8) << lon1 << ",end" << i << "," << colour << endl; +} + +void testGridIndexing(const UVGrid *uvGrid) { + int time = 20000; + cout << "=== land === (should all give 0)" << endl; + cout << bilinearinterpolate(*uvGrid, time, 53.80956379699079, -1.6496306344654406) << endl; + cout << bilinearinterpolate(*uvGrid, time, 55.31428895563707, -2.851581041325997) << endl; + cout << bilinearinterpolate(*uvGrid, time, 47.71548983067583, -1.8704054037408626) << endl; + cout << bilinearinterpolate(*uvGrid, time, 56.23521060314398, 8.505979324950573) << endl; + cout << bilinearinterpolate(*uvGrid, time, 53.135645440244375, 8.505979324950573) << endl; + cout << bilinearinterpolate(*uvGrid, time, 56.44761278775708, -4.140629303756164) << endl; + cout << bilinearinterpolate(*uvGrid, time, 52.67625153110339, 0.8978569759455872) << endl; + cout << bilinearinterpolate(*uvGrid, time, 52.07154079279377, 4.627951041411331) << endl; + + cout << "=== ocean === (should give not 0)" << endl; + cout << bilinearinterpolate(*uvGrid, time, 47.43923166616274, -4.985451481829083) << endl; + cout << bilinearinterpolate(*uvGrid, time, 50.68943556852362, -9.306162999561733) << endl; + cout << bilinearinterpolate(*uvGrid, time, 53.70606799886677, -4.518347647034465) << endl; + cout << bilinearinterpolate(*uvGrid, time, 60.57987114267971, -12.208262973672621) << endl; + cout << bilinearinterpolate(*uvGrid, time, 46.532221548197285, -13.408189172582638) << endl; + cout << bilinearinterpolate(*uvGrid, time, 50.92725094937812, 1.3975824052375256) << endl; + cout << bilinearinterpolate(*uvGrid, time, 51.4028921682209, 2.4059571950925203) << endl; + cout << bilinearinterpolate(*uvGrid, time, 53.448445236769004, 0.7996966058017515) << endl; +// cout << bilinearinterpolate(*uvGrid, time, ) << endl; +} + +int main() { + std::shared_ptr uvGrid = std::make_shared(); + + uvGrid->streamSlice(cout, 900); + + auto kernelRK4 = RK4AdvectionKernel(uvGrid); + +// You can use https://maps.co/gis/ to visualise these points + cout << "======= RK4 Integration =======" << endl; + advectForSomeTime(*uvGrid, kernelRK4, 53.53407391652826, 6.274975037862238, 0, "#ADD8E6"); + advectForSomeTime(*uvGrid, kernelRK4, 53.494053820479365, 5.673454142386921, 1, "#DC143C"); + advectForSomeTime(*uvGrid, kernelRK4, 53.49321966653616, 5.681867022043919, 2, "#50C878"); + advectForSomeTime(*uvGrid, kernelRK4, 53.581548701694324, 6.552600066543153, 3, "#FFEA00"); + advectForSomeTime(*uvGrid, kernelRK4, 53.431446729744124, 5.241592961691523, 4, "#663399"); + advectForSomeTime(*uvGrid, kernelRK4, 53.27913608324572, 4.82094897884165, 5, "#FFA500"); + advectForSomeTime(*uvGrid, kernelRK4, 53.18597595482688, 4.767667388308705, 6, "#008080"); + advectForSomeTime(*uvGrid, kernelRK4, 53.01592078792383, 4.6064205160882, 7, "#FFB6C1"); + advectForSomeTime(*uvGrid, kernelRK4, 52.72816940158886, 4.5853883152993635, 8, "#36454F"); // on land + advectForSomeTime(*uvGrid, kernelRK4, 52.56142091881038, 4.502661662924255, 9, "#1E90FF"); // Dodger Blue + advectForSomeTime(*uvGrid, kernelRK4, 52.23202593893584, 4.2825246383181845, 10, "#FFD700"); // Gold + advectForSomeTime(*uvGrid, kernelRK4, 52.08062567609582, 4.112864890830927, 11, "#6A5ACD"); // Slate Blue + advectForSomeTime(*uvGrid, kernelRK4, 51.89497719759734, 3.8114033568921686, 12, "#20B2AA"); // Light Sea Green + advectForSomeTime(*uvGrid, kernelRK4, 51.752848503723634, 3.664177951809339, 13, "#FF69B4"); // Hot Pink + advectForSomeTime(*uvGrid, kernelRK4, 51.64595756528835, 3.626319993352851, 14, "#800080"); // Purple + advectForSomeTime(*uvGrid, kernelRK4, 51.55140730645238, 3.4326152213887986, 15, "#FF4500"); // Orange Red + advectForSomeTime(*uvGrid, kernelRK4, 51.45679776223422, 3.4452813365018384, 16, "#A52A2A"); // Brown + advectForSomeTime(*uvGrid, kernelRK4, 51.41444662720727, 3.4648562416765363, 17, "#4682B4"); // Steel Blue + advectForSomeTime(*uvGrid, kernelRK4, 51.37421261203866, 3.2449264214689455, 18, "#FF6347"); // Tomato + advectForSomeTime(*uvGrid, kernelRK4, 51.29651848898365, 2.9547572241424773, 19, "#008000"); // Green + advectForSomeTime(*uvGrid, kernelRK4, 51.19705098468974, 2.7647654914530024, 20, "#B8860B"); // Dark Goldenrod + advectForSomeTime(*uvGrid, kernelRK4, 51.114719857442665, 2.577076679365129, 21, "#FFC0CB"); // Pink +// advectForSomeTime(*uvGrid, kernelRK4, ,0); + + return 0; +} diff --git a/advection/src/readdata.cpp b/advection/src/readdata.cpp new file mode 100644 index 0000000..3597c5b --- /dev/null +++ b/advection/src/readdata.cpp @@ -0,0 +1,50 @@ +#include + +#include + +#include "readdata.h" + +using namespace std; +using namespace netCDF; + +template +vector getVarVector(const NcVar &var) { + int length = 1; + for (NcDim dim : var.getDims()) { + length *= dim.getSize(); + } + + vector vec(length); + + var.getVar(vec.data()); + + return vec; +} + +vector readHydrodynamicU() { + // Vs and Us flipped cause the files are named incorrectly + netCDF::NcFile data("../../../../data/hydrodynamic_V.h5", netCDF::NcFile::read); + + multimap< string, NcVar > vars = data.getVars(); + + return getVarVector(vars.find("vo")->second); +} + +vector readHydrodynamicV() { + // Vs and Us flipped cause the files are named incorrectly + netCDF::NcFile data("../../../../data/hydrodynamic_U.h5", netCDF::NcFile::read); + + multimap< string, NcVar > vars = data.getVars(); + + return getVarVector(vars.find("uo")->second); +} + +tuple, vector, vector> readGrid() { + netCDF::NcFile data("../../../../data/grid.h5", netCDF::NcFile::read); + multimap< string, NcVar > vars = data.getVars(); + vector time = getVarVector(vars.find("times")->second); + vector longitude = getVarVector(vars.find("longitude")->second); + vector latitude = getVarVector(vars.find("latitude")->second); + + return {time, latitude, longitude}; +} diff --git a/advection/src/readdata.h b/advection/src/readdata.h new file mode 100644 index 0000000..56a3fee --- /dev/null +++ b/advection/src/readdata.h @@ -0,0 +1,22 @@ +#ifndef ADVECTION_READDATA_H +#define ADVECTION_READDATA_H + +/** + * reads the file hydrodynamic_U.h5 + * @return the data vector of us + */ +std::vector readHydrodynamicU(); + +/** + * reads the file hydrodynamic_V.h5 + * @return the data vector of vs + */ +std::vector readHydrodynamicV(); + +/** + * Reads the file grid.h5 + * @return a tuple of (times, latitude, longitude) + */ +std::tuple, std::vector, std::vector> readGrid(); + +#endif //ADVECTION_READDATA_H

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 Date: Thu, 25 Apr 2024 21:15:07 +0200 Subject: [PATCH 05/26] feat (wip): refactor of main func into actual organized classes --- vtk/src/CMakeLists.txt | 13 ++- vtk/src/helperClasses/BackgroundImage.cpp | 62 +++++++++++++ vtk/src/helperClasses/BackgroundImage.h | 22 +++++ vtk/src/helperClasses/EGlyphLayer.cpp | 8 ++ vtk/src/helperClasses/EGlyphLayer.h | 15 +++ vtk/src/helperClasses/LGlyphLayer.cpp | 7 ++ vtk/src/helperClasses/LGlyphLayer.h | 12 +++ vtk/src/helperClasses/Layer.cpp | 7 ++ vtk/src/helperClasses/Layer.h | 17 ++++ vtk/src/helperClasses/Program.cpp | 57 ++++++++++++ vtk/src/helperClasses/Program.h | 35 +++++++ vtk/src/main.cpp | 107 +++++----------------- 12 files changed, 275 insertions(+), 87 deletions(-) create mode 100644 vtk/src/helperClasses/BackgroundImage.cpp create mode 100644 vtk/src/helperClasses/BackgroundImage.h create mode 100644 vtk/src/helperClasses/EGlyphLayer.cpp create mode 100644 vtk/src/helperClasses/EGlyphLayer.h create mode 100644 vtk/src/helperClasses/LGlyphLayer.cpp create mode 100644 vtk/src/helperClasses/LGlyphLayer.h create mode 100644 vtk/src/helperClasses/Layer.cpp create mode 100644 vtk/src/helperClasses/Layer.h create mode 100644 vtk/src/helperClasses/Program.cpp create mode 100644 vtk/src/helperClasses/Program.h diff --git a/vtk/src/CMakeLists.txt b/vtk/src/CMakeLists.txt index 7af562f..669a5cc 100644 --- a/vtk/src/CMakeLists.txt +++ b/vtk/src/CMakeLists.txt @@ -29,7 +29,18 @@ endif() # netcdf setup find_package(netCDF REQUIRED) -add_executable(VtkBase MACOSX_BUNDLE main.cpp ) +add_executable(VtkBase MACOSX_BUNDLE main.cpp + helperClasses/BackgroundImage.cpp + helperClasses/BackgroundImage.h + helperClasses/EGlyphLayer.cpp + helperClasses/EGlyphLayer.h + helperClasses/Layer.cpp + helperClasses/Layer.h + helperClasses/LGlyphLayer.cpp + helperClasses/LGlyphLayer.h + helperClasses/Program.cpp + helperClasses/Program.h +) execute_process( COMMAND nc-config --includedir diff --git a/vtk/src/helperClasses/BackgroundImage.cpp b/vtk/src/helperClasses/BackgroundImage.cpp new file mode 100644 index 0000000..780eaae --- /dev/null +++ b/vtk/src/helperClasses/BackgroundImage.cpp @@ -0,0 +1,62 @@ +#include "BackgroundImage.h" +#include +#include +#include +#include + +using std::string; + +BackgroundImage::BackgroundImage(string imagePath) : imagePath(imagePath) { + this->ren = vtkSmartPointer::New(); + this->ren->SetLayer(0); + this->ren->InteractiveOff(); + updateImage(); +} + + +void BackgroundImage::updateImage() { + vtkSmartPointer imageData; + + vtkSmartPointer imageReader; + + imageReader.TakeReference(this->readerFactory->CreateImageReader2(this->imagePath.c_str())); + imageReader->SetFileName(this->imagePath.c_str()); + imageReader->Update(); + imageData = imageReader->GetOutput(); + + vtkNew imageActor; + imageActor->SetInputData(imageData); + + this->ren->AddActor(imageActor); + + + // camera stuff + // essentially sets the camera to the middle of the background, and points it at the background + // TODO: extract this to its own function, separate from the background class. + double origin[3], spacing[3]; + int extent[6]; + imageData->GetOrigin(origin); + imageData->GetSpacing(spacing); + imageData->GetExtent(extent); + + vtkCamera *camera = this->ren->GetActiveCamera(); + camera->ParallelProjectionOn(); + + double xc = origin[0] + 0.5 * (extent[0] + extent[1]) * spacing[0]; + double yc = origin[1] + 0.5 * (extent[2] + extent[3]) * spacing[1]; + double yd = (extent[3] - extent[2] + 1) * spacing[1]; + double d = camera->GetDistance(); + camera->SetParallelScale(0.5 * yd); + camera->SetFocalPoint(xc, yc, 0.0); + camera->SetPosition(xc, yc, d); +} + + +string BackgroundImage::getImagePath() { + return this->imagePath; +} + +void BackgroundImage::setImagePath(string imagePath) { + this->imagePath = imagePath; + updateImage(); +} diff --git a/vtk/src/helperClasses/BackgroundImage.h b/vtk/src/helperClasses/BackgroundImage.h new file mode 100644 index 0000000..7026993 --- /dev/null +++ b/vtk/src/helperClasses/BackgroundImage.h @@ -0,0 +1,22 @@ +#ifndef BACKGROUND_H +#define BACKGROUND_H + +#include "Layer.h" +#include + +class BackgroundImage : public Layer { +private: + std::string imagePath; + vtkSmartPointer readerFactory; + + void updateImage(); + + +public: + BackgroundImage(std::string imagePath); + + std::string getImagePath(); + void setImagePath(std::string imagePath); +}; + +#endif diff --git a/vtk/src/helperClasses/EGlyphLayer.cpp b/vtk/src/helperClasses/EGlyphLayer.cpp new file mode 100644 index 0000000..9421b92 --- /dev/null +++ b/vtk/src/helperClasses/EGlyphLayer.cpp @@ -0,0 +1,8 @@ +#include "EGlyphLayer.h" + + +EGlyphLayer::EGlyphLayer() { + this->ren = vtkSmartPointer::New(); + this->ren->SetLayer(1); + this->ren->InteractiveOff(); +} diff --git a/vtk/src/helperClasses/EGlyphLayer.h b/vtk/src/helperClasses/EGlyphLayer.h new file mode 100644 index 0000000..18f96ab --- /dev/null +++ b/vtk/src/helperClasses/EGlyphLayer.h @@ -0,0 +1,15 @@ +#ifndef EGLYPHLAYER_H +#define EGLYPHLAYER_H + +#include "Layer.h" + + + +class EGlyphLayer : public Layer { +public: + EGlyphLayer(); + +}; + + +#endif diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/helperClasses/LGlyphLayer.cpp new file mode 100644 index 0000000..ac5930d --- /dev/null +++ b/vtk/src/helperClasses/LGlyphLayer.cpp @@ -0,0 +1,7 @@ +#include "LGlyphLayer.h" + + +LGlyphLayer::LGlyphLayer() { + this->ren = vtkSmartPointer::New(); + this->ren->SetLayer(2); +} diff --git a/vtk/src/helperClasses/LGlyphLayer.h b/vtk/src/helperClasses/LGlyphLayer.h new file mode 100644 index 0000000..8c61bb0 --- /dev/null +++ b/vtk/src/helperClasses/LGlyphLayer.h @@ -0,0 +1,12 @@ +#ifndef LGLYPHLAYER_H +#define LGLYPHLAYER_H + +#include "Layer.h" + +class LGlyphLayer : public Layer { +public: + LGlyphLayer(); + +}; + +#endif diff --git a/vtk/src/helperClasses/Layer.cpp b/vtk/src/helperClasses/Layer.cpp new file mode 100644 index 0000000..8691804 --- /dev/null +++ b/vtk/src/helperClasses/Layer.cpp @@ -0,0 +1,7 @@ +#include "Layer.h" + +using std::string; + +vtkSmartPointer Layer::getLayer() { + return this->ren; +} diff --git a/vtk/src/helperClasses/Layer.h b/vtk/src/helperClasses/Layer.h new file mode 100644 index 0000000..753f6bf --- /dev/null +++ b/vtk/src/helperClasses/Layer.h @@ -0,0 +1,17 @@ +#ifndef LAYER_H +#define LAYER_H + +#include + +/** This class represents one abstract layer to be rendered to VTK. + * It exists to manage multiple different layers under the Program class. + */ +class Layer { +protected: + vtkSmartPointer ren; + +public: + virtual vtkSmartPointer getLayer(); +}; + +#endif diff --git a/vtk/src/helperClasses/Program.cpp b/vtk/src/helperClasses/Program.cpp new file mode 100644 index 0000000..b0c52d8 --- /dev/null +++ b/vtk/src/helperClasses/Program.cpp @@ -0,0 +1,57 @@ +#include +#include + +#include "Program.h" + + +void Program::setWinProperties() { + this->win->SetWindowName("Simulation"); + this->win->SetSize(661, 661); + + this->interact->SetRenderWindow(this->win); +} + +// Program::Program() : background(), euler(), lagrange(), win(), interact() { +// setWinProperties(); +// } + +Program::Program(Layer bg, Layer e, Layer l) : background(bg), euler(e), lagrange(l), win(), interact() { + this->win = vtkSmartPointer::New(); + this->interact = vtkSmartPointer::New(); + + this->win->SetNumberOfLayers(3); + this->win->AddRenderer(bg.getLayer()); + this->win->AddRenderer(e.getLayer()); + this->win->AddRenderer(l.getLayer()); + setWinProperties(); +} + + +void Program::setBackground(Layer bg) { + this->win->RemoveRenderer(this->background.getLayer()); + this->background = bg; + this->win->AddRenderer(bg.getLayer()); + +} + + +void Program::setEuler(Layer e) { + this->win->RemoveRenderer(this->euler.getLayer()); + this->euler = e; + this->win->AddRenderer(e.getLayer()); +} + + +void Program::setLagrange(Layer l) { + this->win->RemoveRenderer(this->lagrange.getLayer()); + this->lagrange = l; + this->win->AddRenderer(l.getLayer()); +} + +// void Program::addInteractionStyle(vtkInteractorStyle style); + + +void Program::render() { + this->win->Render(); + this->interact->Start(); +} diff --git a/vtk/src/helperClasses/Program.h b/vtk/src/helperClasses/Program.h new file mode 100644 index 0000000..f086bdf --- /dev/null +++ b/vtk/src/helperClasses/Program.h @@ -0,0 +1,35 @@ +#ifndef PROGRAM_H +#define PROGRAM_H + +#include +#include +#include + +#include "Layer.h" + +class Program { +private: + Layer background; + Layer euler; + Layer lagrange; + vtkSmartPointer win; + vtkSmartPointer interact; + + void setWinProperties(); + + +public: + // Program(); + Program(Layer bg, Layer e, Layer l); + + void setBackground(Layer bg); + void setEuler(Layer e); + void setLagrange(Layer l); + + + // void addInteractionStyle(vtkInteractorStyle style); + + void render(); +}; + +#endif diff --git a/vtk/src/main.cpp b/vtk/src/main.cpp index d317840..b7a806a 100644 --- a/vtk/src/main.cpp +++ b/vtk/src/main.cpp @@ -1,31 +1,17 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - #include +#include +#include +#include +#include +#include +#include +#include +#include #include -#define NLATS 67 -#define NLONS 116 +#include "helperClasses/BackgroundImage.h" +#include "helperClasses/EGlyphLayer.h" +#include "helperClasses/Program.h" using namespace std; using namespace netCDF; @@ -71,6 +57,7 @@ void renderCoordinates(vtkRenderer *ren, vtkNamedColors *colors) { vtkNew polydata; polydata->SetPoints(points); + vtkNew glyphFilter; glyphFilter->SetInputData(polydata); glyphFilter->Update(); @@ -87,73 +74,21 @@ void renderCoordinates(vtkRenderer *ren, vtkNamedColors *colors) { ren->AddActor(actor); } -void renderBackground(vtkRenderer *background) { - vtkSmartPointer imageData; - - vtkNew readerFactory; - vtkSmartPointer imageReader; - - imageReader.TakeReference(readerFactory->CreateImageReader2("../../../../data/map_661-661.png")); - imageReader->SetFileName("../../../../data/map_661-661.png"); - imageReader->Update(); - imageData = imageReader->GetOutput(); - - vtkNew imageActor; - imageActor->SetInputData(imageData); - - background->AddActor(imageActor); - - - // camera stuff - // essentially sets the camera to the middle of the background, and points it at the background - double origin[3], spacing[3]; - int extent[6]; - imageData->GetOrigin(origin); - imageData->GetSpacing(spacing); - imageData->GetExtent(extent); - - vtkCamera *camera = background->GetActiveCamera(); - camera->ParallelProjectionOn(); - - double xc = origin[0] + 0.5 * (extent[0] + extent[1]) * spacing[0]; - double yc = origin[1] + 0.5 * (extent[2] + extent[3]) * spacing[1]; - double yd = (extent[3] - extent[2] + 1) * spacing[1]; - double d = camera->GetDistance(); - camera->SetParallelScale(0.5 * yd); - camera->SetFocalPoint(xc, yc, 0.0); - camera->SetPosition(xc, yc, d); -} int main() { - vtkNew colors; - vtkNew Euler, Background, Lagrange; - Euler->SetBackground(colors->GetColor3d("DarkSlateGray").GetData()); + auto bg = new BackgroundImage("../../../../data/map_661-661.png"); + auto e = new EGlyphLayer(); + auto l = new EGlyphLayer(); + auto program = new Program(*bg, *e, *l); + program->render(); - Background->SetLayer(0); - Background->InteractiveOff(); - Euler->SetLayer(1); - Euler->InteractiveOff(); - Lagrange->SetLayer(2); + // vtkNew colors; + // vtkNew Euler, Background, Lagrange; + // Euler->SetBackground(colors->GetColor3d("DarkSlateGray").GetData()); - renderCoordinates(Euler, colors); - renderBackground(Background); - - vtkNew renWin; - renWin->SetNumberOfLayers(3); - // renWin->SetNumberOfLayers(2); - renWin->AddRenderer(Background); - renWin->AddRenderer(Euler); - renWin->AddRenderer(Lagrange); - renWin->SetWindowName("Simulation"); - renWin->SetSize(661, 661); - - vtkNew iren; - iren->SetRenderWindow(renWin); - - renWin->Render(); - iren->Start(); + // renderCoordinates(Euler, colors); return EXIT_SUCCESS; } From 3bc3ffd14fa9ee6ab04ae91adabb4260f1b310a5 Mon Sep 17 00:00:00 2001 From: djairoh Date: Mon, 29 Apr 2024 11:43:50 +0200 Subject: [PATCH 06/26] feat (wip): base visualization technique; Euleriean layer --- vtk/src/CMakeLists.txt | 10 +-- vtk/src/compile_commands.json | 1 + vtk/src/helperClasses/EGlyphLayer.cpp | 98 ++++++++++++++++++++++++++ vtk/src/helperClasses/EGlyphLayer.h | 9 ++- vtk/src/helperClasses/LGlyphLayer.cpp | 4 ++ vtk/src/helperClasses/LGlyphLayer.h | 6 ++ vtk/src/main.cpp | 67 ------------------ vtk/src/map_661-661.png | Bin 399746 -> 0 bytes 8 files changed, 122 insertions(+), 73 deletions(-) create mode 120000 vtk/src/compile_commands.json delete mode 100644 vtk/src/map_661-661.png diff --git a/vtk/src/CMakeLists.txt b/vtk/src/CMakeLists.txt index 669a5cc..f4446c2 100644 --- a/vtk/src/CMakeLists.txt +++ b/vtk/src/CMakeLists.txt @@ -5,22 +5,24 @@ project(VtkBase) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) find_package(VTK COMPONENTS + CommonColor CommonColor CommonCore CommonDataModel FiltersGeneral FiltersGeometry FiltersProgrammable - IOImage + FiltersSources ImagingSources InteractionStyle + IOImage RenderingContextOpenGL2 RenderingCore + RenderingCore RenderingFreeType RenderingGL2PSOpenGL2 - RenderingOpenGL2 - CommonColor - RenderingCore) + RenderingOpenGL2) + if (NOT VTK_FOUND) message(FATAL_ERROR "VtkBase: Unable to find the VTK build folder.") diff --git a/vtk/src/compile_commands.json b/vtk/src/compile_commands.json new file mode 120000 index 0000000..25eb4b2 --- /dev/null +++ b/vtk/src/compile_commands.json @@ -0,0 +1 @@ +build/compile_commands.json \ No newline at end of file diff --git a/vtk/src/helperClasses/EGlyphLayer.cpp b/vtk/src/helperClasses/EGlyphLayer.cpp index 9421b92..6c5050e 100644 --- a/vtk/src/helperClasses/EGlyphLayer.cpp +++ b/vtk/src/helperClasses/EGlyphLayer.cpp @@ -1,8 +1,106 @@ #include "EGlyphLayer.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace netCDF; +using namespace std; + +template +vector getVarVector(const NcVar &var) { + int length = 1; + for (NcDim dim : var.getDims()) { + length *= dim.getSize(); + } + + vector vec(length); + + var.getVar(vec.data()); + + return vec; +} + +tuple, vector, vector> readGrid() { + netCDF::NcFile data("../../../../data/grid.h5", netCDF::NcFile::read); + multimap< string, NcVar > vars = data.getVars(); + vector time = getVarVector(vars.find("times")->second); + vector longitude = getVarVector(vars.find("longitude")->second); + vector latitude = getVarVector(vars.find("latitude")->second); + + return {time, latitude, longitude}; +} + + EGlyphLayer::EGlyphLayer() { this->ren = vtkSmartPointer::New(); this->ren->SetLayer(1); this->ren->InteractiveOff(); + + this->data = vtkSmartPointer::New(); + readCoordinates(); +} + + +void EGlyphLayer::readCoordinates() { + vtkNew points; + auto [times, lats, lons] = readGrid(); // FIXME: import Robin's readData function and use it + + double i = 0; + for (double lat : lats) { + for (double lon : lons) { + //FIXME: hard-coded values; should update with window geometry. + points->InsertNextPoint((lat*1000-46125)*661/16500, (lon*1000+15875)*661/28750, 0); + } + } + this->data->SetPoints(points); + + // vtkNew arrowSource; + vtkNew arrowSource; + vtkNew glyph2D; + glyph2D->SetSourceConnection(arrowSource->GetOutputPort()); + glyph2D->SetInputData(this->data); + glyph2D->Update(); + + vtkNew(mapper); + mapper->SetInputConnection(glyph2D->GetOutputPort()); + mapper->Update(); + + vtkNew actor; + actor->SetMapper(mapper); + + vtkNew colors; + actor->GetProperty()->SetColor(colors->GetColor3d("Salmon").GetData()); + + this->ren->AddActor(actor); + + // vtkNew glyphFilter; + // glyphFilter->SetInputData(this->data); + // glyphFilter->Update(); + // + // vtkNew mapper; + // mapper->SetInputConnection(glyphFilter->GetOutputPort()); + // mapper->Update(); + // + // vtkNew colors; + // vtkNew actor; + // actor->SetMapper(mapper); + // actor->GetProperty()->SetColor(colors->GetColor3d("Gold").GetData()); + // actor->GetProperty()->SetPointSize(3); + // + // this->ren->AddActor(actor); +} + + +void EGlyphLayer::updateData(short t) { + } diff --git a/vtk/src/helperClasses/EGlyphLayer.h b/vtk/src/helperClasses/EGlyphLayer.h index 18f96ab..e401d07 100644 --- a/vtk/src/helperClasses/EGlyphLayer.h +++ b/vtk/src/helperClasses/EGlyphLayer.h @@ -2,12 +2,17 @@ #define EGLYPHLAYER_H #include "Layer.h" - - +#include class EGlyphLayer : public Layer { +private: + vtkSmartPointer data; + + void readCoordinates(); + public: EGlyphLayer(); + void updateData(short t); }; diff --git a/vtk/src/helperClasses/LGlyphLayer.cpp b/vtk/src/helperClasses/LGlyphLayer.cpp index ac5930d..9541079 100644 --- a/vtk/src/helperClasses/LGlyphLayer.cpp +++ b/vtk/src/helperClasses/LGlyphLayer.cpp @@ -5,3 +5,7 @@ LGlyphLayer::LGlyphLayer() { this->ren = vtkSmartPointer::New(); this->ren->SetLayer(2); } + +void LGlyphLayer::updateData(short n) { + +} diff --git a/vtk/src/helperClasses/LGlyphLayer.h b/vtk/src/helperClasses/LGlyphLayer.h index 8c61bb0..775e256 100644 --- a/vtk/src/helperClasses/LGlyphLayer.h +++ b/vtk/src/helperClasses/LGlyphLayer.h @@ -2,10 +2,16 @@ #define LGLYPHLAYER_H #include "Layer.h" +#include class LGlyphLayer : public Layer { +private: + vtkSmartPointer points; + vtkSmartPointer data; + public: LGlyphLayer(); + void updateData(short t); }; diff --git a/vtk/src/main.cpp b/vtk/src/main.cpp index b7a806a..bd48eb0 100644 --- a/vtk/src/main.cpp +++ b/vtk/src/main.cpp @@ -14,65 +14,6 @@ #include "helperClasses/Program.h" using namespace std; -using namespace netCDF; - -template -vector getVarVector(const NcVar &var) { - int length = 1; - for (NcDim dim : var.getDims()) { - length *= dim.getSize(); - } - - vector vec(length); - - var.getVar(vec.data()); - - return vec; -} - -tuple, vector, vector> readGrid() { - netCDF::NcFile data("../../../../data/grid.h5", netCDF::NcFile::read); - multimap< string, NcVar > vars = data.getVars(); - vector time = getVarVector(vars.find("times")->second); - vector longitude = getVarVector(vars.find("longitude")->second); - vector latitude = getVarVector(vars.find("latitude")->second); - - return {time, latitude, longitude}; -} - - -void renderCoordinates(vtkRenderer *ren, vtkNamedColors *colors) { - - vtkNew points; - auto [times, lats, lons] = readGrid(); - - double i = 0; - for (double lat : lats) { - for (double lon : lons) { - cout << "lat: " << (lat*1000-46125)*661/16500 << "\t lon: " << (lon*1000+15875)*661/28750 << endl; - points->InsertNextPoint((lat*1000-46125)*661/16500, (lon*1000+15875)*661/28750, 0); - } - } - - vtkNew polydata; - polydata->SetPoints(points); - - - vtkNew glyphFilter; - glyphFilter->SetInputData(polydata); - glyphFilter->Update(); - - vtkNew mapper; - mapper->SetInputConnection(glyphFilter->GetOutputPort()); - mapper->Update(); - - vtkNew actor; - actor->SetMapper(mapper); - actor->GetProperty()->SetColor(colors->GetColor3d("Gold").GetData()); - actor->GetProperty()->SetPointSize(3); - - ren->AddActor(actor); -} int main() { @@ -82,14 +23,6 @@ int main() { auto program = new Program(*bg, *e, *l); program->render(); - - // vtkNew colors; - // vtkNew Euler, Background, Lagrange; - // Euler->SetBackground(colors->GetColor3d("DarkSlateGray").GetData()); - - - // renderCoordinates(Euler, colors); - return EXIT_SUCCESS; } diff --git a/vtk/src/map_661-661.png b/vtk/src/map_661-661.png deleted file mode 100644 index cdfd5a67c96ad60fd5b9055601fbfdb329e16106..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 399746 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�Q6ZIy&Ib&7kuNElH|^rt#sq!;w>K>!7W8H<=L#8 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%0Aa+eCdxVPzMTkiFjiVRZzA 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