From cfe3fd3a27c66441a6205a46b5ccb943bf9c1ae7 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Fri, 7 May 2021 14:10:50 +0200
Subject: [PATCH] [cm] Better DataExplorer includes 1/2.

Applications/DataExplorer is still a global include dir.
---
 Applications/DataExplorer/Base/OGSError.cpp       |  2 +-
 Applications/DataExplorer/Base/TreeItem.cpp       |  2 +-
 Applications/DataExplorer/Base/TreeModel.cpp      |  4 ++--
 .../DataExplorer/Base/TreeModelIterator.cpp       |  4 ++--
 .../DataView/AddLayerToMeshDialog.cpp             |  4 ++--
 Applications/DataExplorer/DataView/BaseItem.h     |  2 +-
 Applications/DataExplorer/DataView/CMakeLists.txt | 15 +--------------
 .../DataView/CondFromRasterDialog.cpp             |  6 +++---
 Applications/DataExplorer/DataView/CondItem.h     |  2 +-
 .../DataView/CreateStructuredGridDialog.cpp       |  4 ++--
 .../DataView/DataExplorerSettingsDialog.cpp       |  2 +-
 .../DataView/DiagramView/CMakeLists.txt           |  8 +-------
 .../DataView/DiagramView/DiagramList.cpp          |  6 +++---
 .../DataView/DiagramView/DiagramPrefsDialog.cpp   |  4 ++--
 .../DataView/DiagramView/DiagramScene.h           |  2 +-
 .../DataView/DirectConditionGenerator.cpp         |  6 +++---
 .../DataExplorer/DataView/ElementTreeModel.cpp    |  2 +-
 .../DataExplorer/DataView/ElementTreeModel.h      |  2 +-
 .../DataExplorer/DataView/ElementTreeView.cpp     |  2 +-
 .../DataExplorer/DataView/FemConditionModel.cpp   |  2 +-
 Applications/DataExplorer/DataView/GEOModels.cpp  |  2 +-
 .../DataExplorer/DataView/GMSHPrefsDialog.cpp     | 10 +++++-----
 .../DataExplorer/DataView/GeoObjectListItem.h     | 10 +++++-----
 .../DataView/GeoOnMeshMappingDialog.cpp           |  4 ++--
 Applications/DataExplorer/DataView/GeoTreeItem.h  |  4 ++--
 .../DataExplorer/DataView/GeoTreeModel.cpp        |  2 +-
 Applications/DataExplorer/DataView/GeoTreeModel.h |  2 +-
 .../DataExplorer/DataView/GeoTreeView.cpp         |  6 +++---
 .../DataExplorer/DataView/LineEditDialog.cpp      |  2 +-
 .../DataExplorer/DataView/LinearEditDialog.h      |  2 +-
 .../DataView/MergeGeometriesDialog.cpp            |  4 ++--
 .../DataExplorer/DataView/MeshAnalysisDialog.cpp  | 10 +++++-----
 .../DataView/MeshElementRemovalDialog.cpp         |  2 +-
 Applications/DataExplorer/DataView/MeshItem.h     |  2 +-
 .../DataExplorer/DataView/MeshLayerEditDialog.cpp | 10 +++++-----
 .../DataExplorer/DataView/MeshLayerEditDialog.h   |  2 +-
 .../DataExplorer/DataView/MeshMapping2DDialog.cpp |  4 ++--
 Applications/DataExplorer/DataView/MeshModel.cpp  |  4 ++--
 Applications/DataExplorer/DataView/MeshModel.h    |  2 +-
 .../DataView/MeshQualitySelectionDialog.cpp       |  2 +-
 .../DataExplorer/DataView/MeshValueEditDialog.cpp |  4 ++--
 Applications/DataExplorer/DataView/MeshView.cpp   | 10 +++++-----
 .../DataExplorer/DataView/ModelTreeItem.h         |  2 +-
 .../DataExplorer/DataView/ProcessModel.cpp        |  2 +-
 Applications/DataExplorer/DataView/ProcessModel.h |  2 +-
 .../DataExplorer/DataView/ProcessVarItem.h        |  2 +-
 .../DataView/RasterDataToMeshDialog.cpp           |  4 ++--
 .../DataExplorer/DataView/SHPImportDialog.cpp     |  4 ++--
 .../DataExplorer/DataView/SaveMeshDialog.cpp      |  4 ++--
 .../DataExplorer/DataView/SelectMeshDialog.cpp    |  2 +-
 .../DataExplorer/DataView/StationTreeModel.cpp    |  4 ++--
 .../DataExplorer/DataView/StationTreeModel.h      |  2 +-
 .../DataExplorer/DataView/StationTreeView.cpp     | 14 +++++++-------
 .../DataView/StratView/CMakeLists.txt             |  8 +-------
 .../DataExplorer/DataView/StratView/StratBar.h    |  2 +-
 .../DataView/StratView/StratScene.cpp             |  4 ++--
 .../DataExplorer/DataView/StratView/StratScene.h  |  2 +-
 .../DataExplorer/DataView/StratView/StratView.cpp |  2 +-
 .../DataView/StratView/StratWindow.cpp            |  4 ++--
 .../DataView/StratView/StratWindow.ui             |  2 +-
 .../DataExplorer/VtkVis/MeshFromRasterDialog.cpp  |  2 +-
 .../DataExplorer/VtkVis/VisualizationWidget.cpp   |  2 +-
 .../VtkVis/VtkCompositeGeoObjectFilter.h          |  2 +-
 .../VtkVis/VtkCompositeNodeSelectionFilter.h      |  2 +-
 .../DataExplorer/VtkVis/VtkPointsSource.h         |  3 +--
 .../DataExplorer/VtkVis/VtkSurfacesSource.h       |  2 +-
 .../DataExplorer/VtkVis/VtkVisPipeline.cpp        |  2 +-
 Applications/DataExplorer/VtkVis/VtkVisPipeline.h |  2 +-
 .../DataExplorer/VtkVis/VtkVisPipelineItem.h      |  2 +-
 .../DataExplorer/VtkVis/VtkVisPipelineView.cpp    |  4 ++--
 Applications/DataExplorer/mainwindow.cpp          |  4 ++--
 Applications/DataExplorer/mainwindow.h            |  2 +-
 72 files changed, 125 insertions(+), 151 deletions(-)

diff --git a/Applications/DataExplorer/Base/OGSError.cpp b/Applications/DataExplorer/Base/OGSError.cpp
index c5f9f7df667..53554ae854d 100644
--- a/Applications/DataExplorer/Base/OGSError.cpp
+++ b/Applications/DataExplorer/Base/OGSError.cpp
@@ -11,7 +11,7 @@
  *              http://www.opengeosys.org/project/license
  *
  */
-#include "OGSError.h"
+#include "Base/OGSError.h"
 
 #include <QMessageBox>
 #include <QString>
diff --git a/Applications/DataExplorer/Base/TreeItem.cpp b/Applications/DataExplorer/Base/TreeItem.cpp
index 98dc4c9cd89..c94c77033f7 100644
--- a/Applications/DataExplorer/Base/TreeItem.cpp
+++ b/Applications/DataExplorer/Base/TreeItem.cpp
@@ -12,7 +12,7 @@
  *
  */
 
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 #include <utility>
 
diff --git a/Applications/DataExplorer/Base/TreeModel.cpp b/Applications/DataExplorer/Base/TreeModel.cpp
index e5920eaddd4..def69470a51 100644
--- a/Applications/DataExplorer/Base/TreeModel.cpp
+++ b/Applications/DataExplorer/Base/TreeModel.cpp
@@ -12,13 +12,13 @@
  *
  */
 
-#include "TreeModel.h"
+#include "Base/TreeModel.h"
 
 #include <QModelIndex>
 #include <QStringList>
 #include <QVariant>
 
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 /**
  * A model for the QTreeView implementing the tree as a double-linked list.
diff --git a/Applications/DataExplorer/Base/TreeModelIterator.cpp b/Applications/DataExplorer/Base/TreeModelIterator.cpp
index dc8d2041399..7ceabc26053 100644
--- a/Applications/DataExplorer/Base/TreeModelIterator.cpp
+++ b/Applications/DataExplorer/Base/TreeModelIterator.cpp
@@ -15,8 +15,8 @@
 // ** INCLUDES **
 #include "TreeModelIterator.h"
 
-#include "TreeItem.h"
-#include "TreeModel.h"
+#include "Base/TreeItem.h"
+#include "Base/TreeModel.h"
 
 TreeModelIterator::TreeModelIterator(TreeModel* model)
     : _current(nullptr), _model(model)
diff --git a/Applications/DataExplorer/DataView/AddLayerToMeshDialog.cpp b/Applications/DataExplorer/DataView/AddLayerToMeshDialog.cpp
index 26cca07ed14..d52dd20ee17 100644
--- a/Applications/DataExplorer/DataView/AddLayerToMeshDialog.cpp
+++ b/Applications/DataExplorer/DataView/AddLayerToMeshDialog.cpp
@@ -14,8 +14,8 @@
 
 #include "AddLayerToMeshDialog.h"
 
-#include "OGSError.h"
-#include "StrictDoubleValidator.h"
+#include "Base/OGSError.h"
+#include "Base/StrictDoubleValidator.h"
 
 AddLayerToMeshDialog::AddLayerToMeshDialog(QDialog* parent) : QDialog(parent)
 {
diff --git a/Applications/DataExplorer/DataView/BaseItem.h b/Applications/DataExplorer/DataView/BaseItem.h
index 3dfdac84a25..252e2bc5b43 100644
--- a/Applications/DataExplorer/DataView/BaseItem.h
+++ b/Applications/DataExplorer/DataView/BaseItem.h
@@ -13,7 +13,7 @@
  */
 #pragma once
 
-#include "VtkStationSource.h"
+#include "VtkVis/VtkStationSource.h"
 #include <QModelIndex>
 #include <vtkPolyDataAlgorithm.h>
 
diff --git a/Applications/DataExplorer/DataView/CMakeLists.txt b/Applications/DataExplorer/DataView/CMakeLists.txt
index 4b92840af31..ffd17e9fc77 100644
--- a/Applications/DataExplorer/DataView/CMakeLists.txt
+++ b/Applications/DataExplorer/DataView/CMakeLists.txt
@@ -113,26 +113,13 @@ source_group("UI Files" FILES ${UIS})
 
 set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
 set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/..)
-include_directories(
-    ${SOURCE_DIR_REL}/Applications/FileIO
-    ${SOURCE_DIR_REL}/BaseLib
-    ${SOURCE_DIR_REL}/MathLib
-    ${SOURCE_DIR_REL}/GeoLib
-    ${SOURCE_DIR_REL}/MeshGeoToolsLib
-    ${SOURCE_DIR_REL}/MeshLib
-    ${GUI_SOURCE_DIR_REL}/Base
-    ${GUI_SOURCE_DIR_REL}/VtkVis
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_CURRENT_SOURCE_DIR}/DiagramView
-    ${CMAKE_CURRENT_SOURCE_DIR}/StratView
-)
 
 if(GEOTIFF_FOUND)
     include_directories(${GEOTIFF_INCLUDE_DIRS})
 endif() # GEOTIFF_FOUND
 
 ogs_add_library(QtDataView ${SOURCES} ${HEADERS} ${UIS})
-
+target_include_directories(QtDataView PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
 target_link_libraries(
     QtDataView
     PUBLIC GeoLib MeshGeoToolsLib MeshLib QtBase VtkVis
diff --git a/Applications/DataExplorer/DataView/CondFromRasterDialog.cpp b/Applications/DataExplorer/DataView/CondFromRasterDialog.cpp
index 570764d7918..cea1a912493 100644
--- a/Applications/DataExplorer/DataView/CondFromRasterDialog.cpp
+++ b/Applications/DataExplorer/DataView/CondFromRasterDialog.cpp
@@ -19,9 +19,9 @@
 #include <utility>
 
 #include "DirectConditionGenerator.h"
-#include "Mesh.h"
-#include "OGSError.h"
-#include "StrictDoubleValidator.h"
+#include "MeshLib/Mesh.h"
+#include "Base/OGSError.h"
+#include "Base/StrictDoubleValidator.h"
 
 CondFromRasterDialog::CondFromRasterDialog(std::vector<MeshLib::Mesh*> msh_vec,
                                            QDialog* parent)
diff --git a/Applications/DataExplorer/DataView/CondItem.h b/Applications/DataExplorer/DataView/CondItem.h
index 404cf809da4..9e97f63c3fa 100644
--- a/Applications/DataExplorer/DataView/CondItem.h
+++ b/Applications/DataExplorer/DataView/CondItem.h
@@ -13,7 +13,7 @@
 #include <memory>
 
 #include "Applications/DataHolderLib/FemCondition.h"
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 #include <QList>
 #include <QVariant>
diff --git a/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp b/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp
index f9a64d936ac..5af2b181c25 100644
--- a/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp
+++ b/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp
@@ -18,8 +18,8 @@
 
 #include "GeoLib/Point.h"
 #include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "OGSError.h"
-#include "StrictDoubleValidator.h"
+#include "Base/OGSError.h"
+#include "Base/StrictDoubleValidator.h"
 
 CreateStructuredGridDialog::CreateStructuredGridDialog(QDialog* parent)
     : QDialog(parent)
diff --git a/Applications/DataExplorer/DataView/DataExplorerSettingsDialog.cpp b/Applications/DataExplorer/DataView/DataExplorerSettingsDialog.cpp
index 1f3c082a88a..227bb9f6d60 100644
--- a/Applications/DataExplorer/DataView/DataExplorerSettingsDialog.cpp
+++ b/Applications/DataExplorer/DataView/DataExplorerSettingsDialog.cpp
@@ -17,7 +17,7 @@
 #include <QFileDialog>
 #include <QSettings>
 
-#include "OGSError.h"
+#include "Base/OGSError.h"
 
 DataExplorerSettingsDialog::DataExplorerSettingsDialog(QDialog* parent)
     : QDialog(parent)
diff --git a/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt b/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt
index 00f0cb959c4..c39c4c5c99a 100644
--- a/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt
+++ b/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt
@@ -21,17 +21,11 @@ set(HEADERS
 
 set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../../..)
 set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../..)
-include_directories(
-    ${SOURCE_DIR_REL}/BaseLib ${SOURCE_DIR_REL}/GeoLib
-    ${SOURCE_DIR_REL}/MathLib ${CMAKE_CURRENT_SOURCE_DIR}
-    ${GUI_SOURCE_DIR_REL}/Base ${GUI_SOURCE_DIR_REL}/DataView
-)
-
 file(GLOB_RECURSE UIS CONFIGURE_DEPENDS *.ui)
 source_group("UI Files" FILES ${UIS})
 
 ogs_add_library(QtDiagramView ${SOURCES} ${HEADERS} ${UIS})
-
+target_include_directories(QtDiagramView PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
 target_link_libraries(
     QtDiagramView PRIVATE BaseLib GeoLib QtBase DataHolderLib Qt5::Gui
                           spdlog::spdlog
diff --git a/Applications/DataExplorer/DataView/DiagramView/DiagramList.cpp b/Applications/DataExplorer/DataView/DiagramView/DiagramList.cpp
index bba60cb056e..ad2d6979ed8 100644
--- a/Applications/DataExplorer/DataView/DiagramView/DiagramList.cpp
+++ b/Applications/DataExplorer/DataView/DiagramView/DiagramList.cpp
@@ -19,10 +19,10 @@
 #include <limits>
 
 #include "BaseLib/Logging.h"
-#include "DateTools.h"
+#include "BaseLib/DateTools.h"
 #include "GetDateTime.h"
-#include "SensorData.h"
-#include "StringTools.h"
+#include "GeoLib/SensorData.h"
+#include "BaseLib/StringTools.h"
 
 DiagramList::DiagramList() : _xLabel(""), _yLabel(""), _xUnit(""), _yUnit("") {}
 
diff --git a/Applications/DataExplorer/DataView/DiagramView/DiagramPrefsDialog.cpp b/Applications/DataExplorer/DataView/DiagramView/DiagramPrefsDialog.cpp
index f70458f486d..bde98035ed4 100644
--- a/Applications/DataExplorer/DataView/DiagramView/DiagramPrefsDialog.cpp
+++ b/Applications/DataExplorer/DataView/DiagramView/DiagramPrefsDialog.cpp
@@ -21,8 +21,8 @@
 #include "DetailWindow.h"
 #include "DiagramList.h"
 #include "GetDateTime.h"
-#include "OGSError.h"
-#include "Station.h"
+#include "Base/OGSError.h"
+#include "GeoLib/Station.h"
 
 DiagramPrefsDialog::DiagramPrefsDialog(const GeoLib::Station* stn,
                                        const QString& listName,
diff --git a/Applications/DataExplorer/DataView/DiagramView/DiagramScene.h b/Applications/DataExplorer/DataView/DiagramView/DiagramScene.h
index 00453e0b502..9a7d9a98271 100644
--- a/Applications/DataExplorer/DataView/DiagramView/DiagramScene.h
+++ b/Applications/DataExplorer/DataView/DiagramView/DiagramScene.h
@@ -17,7 +17,7 @@
 #include "DiagramList.h"
 #include "QArrow.h"
 #include "QGraphicsGrid.h"
-#include "QNonScalableGraphicsTextItem.h"
+#include "Base/QNonScalableGraphicsTextItem.h"
 #include <QGraphicsScene>
 
 class QDateTime;
diff --git a/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp b/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
index 9dd6725b95a..a2a966f543b 100644
--- a/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
+++ b/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
@@ -21,10 +21,10 @@
 
 #include "Applications/FileIO/AsciiRasterInterface.h"
 #include "BaseLib/Logging.h"
-#include "Mesh.h"
+#include "MeshLib/Mesh.h"
 #include "MeshLib/Node.h"
-#include "MeshSurfaceExtraction.h"
-#include "Raster.h"
+#include "MeshLib/MeshSurfaceExtraction.h"
+#include "GeoLib/Raster.h"
 
 const std::vector<std::pair<std::size_t, double>>&
 DirectConditionGenerator::directToSurfaceNodes(const MeshLib::Mesh& mesh,
diff --git a/Applications/DataExplorer/DataView/ElementTreeModel.cpp b/Applications/DataExplorer/DataView/ElementTreeModel.cpp
index 493ef0be3e6..82c499c8437 100644
--- a/Applications/DataExplorer/DataView/ElementTreeModel.cpp
+++ b/Applications/DataExplorer/DataView/ElementTreeModel.cpp
@@ -20,7 +20,7 @@
 #include "MeshLib/MeshInformation.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/Vtk/VtkMappedMeshSource.h"
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 namespace
 {
diff --git a/Applications/DataExplorer/DataView/ElementTreeModel.h b/Applications/DataExplorer/DataView/ElementTreeModel.h
index c7603323b66..796077b7bc8 100644
--- a/Applications/DataExplorer/DataView/ElementTreeModel.h
+++ b/Applications/DataExplorer/DataView/ElementTreeModel.h
@@ -15,7 +15,7 @@
 #pragma once
 
 #include <array>
-#include "TreeModel.h"
+#include "Base/TreeModel.h"
 
 class vtkUnstructuredGridAlgorithm;
 
diff --git a/Applications/DataExplorer/DataView/ElementTreeView.cpp b/Applications/DataExplorer/DataView/ElementTreeView.cpp
index 2770f4a930b..e736b795516 100644
--- a/Applications/DataExplorer/DataView/ElementTreeView.cpp
+++ b/Applications/DataExplorer/DataView/ElementTreeView.cpp
@@ -18,7 +18,7 @@
 #include <QModelIndex>
 
 #include "ElementTreeModel.h"
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 ElementTreeView::ElementTreeView(QWidget* parent) : QTreeView(parent) {}
 
diff --git a/Applications/DataExplorer/DataView/FemConditionModel.cpp b/Applications/DataExplorer/DataView/FemConditionModel.cpp
index 4a6f1ff26af..e4aa812d4d5 100644
--- a/Applications/DataExplorer/DataView/FemConditionModel.cpp
+++ b/Applications/DataExplorer/DataView/FemConditionModel.cpp
@@ -12,7 +12,7 @@
 
 #include "Applications/DataHolderLib/BoundaryCondition.h"
 #include "Applications/DataHolderLib/SourceTerm.h"
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 /**
  * Constructor.
diff --git a/Applications/DataExplorer/DataView/GEOModels.cpp b/Applications/DataExplorer/DataView/GEOModels.cpp
index c0753f30876..9b9b7e961aa 100644
--- a/Applications/DataExplorer/DataView/GEOModels.cpp
+++ b/Applications/DataExplorer/DataView/GEOModels.cpp
@@ -19,7 +19,7 @@
 #include "BaseLib/Logging.h"
 #include "GeoLib/Triangle.h"
 #include "GeoTreeModel.h"
-#include "OGSError.h"
+#include "Base/OGSError.h"
 #include "StationTreeModel.h"
 
 GEOModels::GEOModels(GeoLib::GEOObjects& geo_objects, QObject* parent /*= 0*/)
diff --git a/Applications/DataExplorer/DataView/GMSHPrefsDialog.cpp b/Applications/DataExplorer/DataView/GMSHPrefsDialog.cpp
index e8cf72ff6f8..64c58ae183d 100644
--- a/Applications/DataExplorer/DataView/GMSHPrefsDialog.cpp
+++ b/Applications/DataExplorer/DataView/GMSHPrefsDialog.cpp
@@ -13,17 +13,17 @@
  */
 
 // Base
-#include "StringTools.h"
+#include "BaseLib/StringTools.h"
 
 // Qt/Base
 #include <QStringList>
 #include <QStringListModel>
 
-#include "GEOObjects.h"
+#include "GeoLib/GEOObjects.h"
 #include "GMSHPrefsDialog.h"
-#include "OGSError.h"
-#include "StrictDoubleValidator.h"
-#include "StrictIntValidator.h"
+#include "Base/OGSError.h"
+#include "Base/StrictDoubleValidator.h"
+#include "Base/StrictIntValidator.h"
 
 GMSHPrefsDialog::GMSHPrefsDialog(GeoLib::GEOObjects const& geoObjects,
                                  QDialog* parent)
diff --git a/Applications/DataExplorer/DataView/GeoObjectListItem.h b/Applications/DataExplorer/DataView/GeoObjectListItem.h
index 88983a85c28..fbe0494da0e 100644
--- a/Applications/DataExplorer/DataView/GeoObjectListItem.h
+++ b/Applications/DataExplorer/DataView/GeoObjectListItem.h
@@ -14,13 +14,13 @@
  */
 #pragma once
 
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
-#include "GeoType.h"
+#include "GeoLib/GeoType.h"
 
-#include "VtkPointsSource.h"
-#include "VtkPolylinesSource.h"
-#include "VtkSurfacesSource.h"
+#include "VtkVis/VtkPointsSource.h"
+#include "VtkVis/VtkPolylinesSource.h"
+#include "VtkVis/VtkSurfacesSource.h"
 #include <QModelIndex>
 #include <vtkPolyDataAlgorithm.h>
 
diff --git a/Applications/DataExplorer/DataView/GeoOnMeshMappingDialog.cpp b/Applications/DataExplorer/DataView/GeoOnMeshMappingDialog.cpp
index 7d08d2af184..47fdcf4bdbc 100644
--- a/Applications/DataExplorer/DataView/GeoOnMeshMappingDialog.cpp
+++ b/Applications/DataExplorer/DataView/GeoOnMeshMappingDialog.cpp
@@ -14,8 +14,8 @@
 
 #include "GeoOnMeshMappingDialog.h"
 
-#include "Mesh.h"
-#include "OGSError.h"
+#include "MeshLib/Mesh.h"
+#include "Base/OGSError.h"
 
 GeoOnMeshMappingDialog::GeoOnMeshMappingDialog(
     std::vector<std::unique_ptr<MeshLib::Mesh>> const& mesh_vec,
diff --git a/Applications/DataExplorer/DataView/GeoTreeItem.h b/Applications/DataExplorer/DataView/GeoTreeItem.h
index ad2acec59ba..e6970acc31b 100644
--- a/Applications/DataExplorer/DataView/GeoTreeItem.h
+++ b/Applications/DataExplorer/DataView/GeoTreeItem.h
@@ -14,9 +14,9 @@
 
 #pragma once
 
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
-#include "GeoObject.h"
+#include "GeoLib/GeoObject.h"
 
 /**
  * \brief A TreeItem containing an additional GeoObject
diff --git a/Applications/DataExplorer/DataView/GeoTreeModel.cpp b/Applications/DataExplorer/DataView/GeoTreeModel.cpp
index 5df9e13f42e..c372295b59d 100644
--- a/Applications/DataExplorer/DataView/GeoTreeModel.cpp
+++ b/Applications/DataExplorer/DataView/GeoTreeModel.cpp
@@ -18,7 +18,7 @@
 #include "GeoLib/Triangle.h"
 #include "GeoObjectListItem.h"
 #include "GeoTreeItem.h"
-#include "OGSError.h"
+#include "Base/OGSError.h"
 
 /**
  * Constructor.
diff --git a/Applications/DataExplorer/DataView/GeoTreeModel.h b/Applications/DataExplorer/DataView/GeoTreeModel.h
index b6bd8d6895d..b649a595823 100644
--- a/Applications/DataExplorer/DataView/GeoTreeModel.h
+++ b/Applications/DataExplorer/DataView/GeoTreeModel.h
@@ -21,7 +21,7 @@
 #include "GeoLib/PointVec.h"
 #include "GeoLib/PolylineVec.h"
 #include "GeoLib/SurfaceVec.h"
-#include "TreeModel.h"
+#include "Base/TreeModel.h"
 
 namespace GeoLib
 {
diff --git a/Applications/DataExplorer/DataView/GeoTreeView.cpp b/Applications/DataExplorer/DataView/GeoTreeView.cpp
index dc1416b9084..baff5ddb425 100644
--- a/Applications/DataExplorer/DataView/GeoTreeView.cpp
+++ b/Applications/DataExplorer/DataView/GeoTreeView.cpp
@@ -21,9 +21,9 @@
 #include "GeoObjectListItem.h"
 #include "GeoTreeItem.h"
 #include "GeoTreeModel.h"
-#include "ImportFileTypes.h"
-#include "LastSavedFileDirectory.h"
-#include "OGSError.h"
+#include "Base/ImportFileTypes.h"
+#include "Base/LastSavedFileDirectory.h"
+#include "Base/OGSError.h"
 
 GeoTreeView::GeoTreeView(QWidget* parent) : QTreeView(parent) {}
 
diff --git a/Applications/DataExplorer/DataView/LineEditDialog.cpp b/Applications/DataExplorer/DataView/LineEditDialog.cpp
index c85293d57ca..ea39fbf2807 100644
--- a/Applications/DataExplorer/DataView/LineEditDialog.cpp
+++ b/Applications/DataExplorer/DataView/LineEditDialog.cpp
@@ -17,7 +17,7 @@
 #include <QStringList>
 #include <QStringListModel>
 
-#include "OGSError.h"
+#include "Base/OGSError.h"
 
 LineEditDialog::LineEditDialog(const GeoLib::PolylineVec& ply_vec,
                                QDialog* parent)
diff --git a/Applications/DataExplorer/DataView/LinearEditDialog.h b/Applications/DataExplorer/DataView/LinearEditDialog.h
index e874e9dc08d..a74d9a48965 100644
--- a/Applications/DataExplorer/DataView/LinearEditDialog.h
+++ b/Applications/DataExplorer/DataView/LinearEditDialog.h
@@ -17,7 +17,7 @@
 #include "ui_LinearEdit.h"
 #include <QDialog>
 
-#include "Polyline.h"
+#include "GeoLib/Polyline.h"
 
 /**
  * \brief A dialog window for creating linear boundary conditions on polylines
diff --git a/Applications/DataExplorer/DataView/MergeGeometriesDialog.cpp b/Applications/DataExplorer/DataView/MergeGeometriesDialog.cpp
index b3b678aa3c8..12d1f60293b 100644
--- a/Applications/DataExplorer/DataView/MergeGeometriesDialog.cpp
+++ b/Applications/DataExplorer/DataView/MergeGeometriesDialog.cpp
@@ -17,8 +17,8 @@
 #include <QStringList>
 #include <QStringListModel>
 
-#include "GEOObjects.h"
-#include "OGSError.h"
+#include "GeoLib/GEOObjects.h"
+#include "Base/OGSError.h"
 
 MergeGeometriesDialog::MergeGeometriesDialog(GeoLib::GEOObjects& geoObjects,
                                              QDialog* parent)
diff --git a/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp b/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp
index b3ff0a1b044..170ec23766a 100644
--- a/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp
@@ -14,11 +14,11 @@
 
 #include "MeshAnalysisDialog.h"
 
-#include "Mesh.h"
-#include "MeshEditing/MeshRevision.h"
-#include "MeshQuality/MeshValidation.h"
-#include "MeshSearch/NodeSearch.h"
-#include "StrictDoubleValidator.h"
+#include "MeshLib/Mesh.h"
+#include "MeshLib/MeshEditing/MeshRevision.h"
+#include "MeshLib/MeshQuality/MeshValidation.h"
+#include "MeshLib/MeshSearch/NodeSearch.h"
+#include "Base/StrictDoubleValidator.h"
 
 MeshAnalysisDialog::MeshAnalysisDialog(
     std::vector<std::unique_ptr<MeshLib::Mesh>> const& mesh_vec,
diff --git a/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp b/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp
index f4c84ffa037..e4538238281 100644
--- a/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp
@@ -20,7 +20,7 @@
 
 #include "Applications/DataExplorer/Base/OGSError.h"
 #include "Applications/DataHolderLib/Project.h"
-#include "Elements/Element.h"
+#include "MeshLib/Elements/Element.h"
 #include "GeoLib/AABB.h"
 #include "MeshLib/Mesh.h"
 #include "MeshLib/MeshEditing/RemoveMeshComponents.h"
diff --git a/Applications/DataExplorer/DataView/MeshItem.h b/Applications/DataExplorer/DataView/MeshItem.h
index 744ab7a374a..ecab4b31716 100644
--- a/Applications/DataExplorer/DataView/MeshItem.h
+++ b/Applications/DataExplorer/DataView/MeshItem.h
@@ -14,7 +14,7 @@
 
 #pragma once
 
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 #include "MeshLib/Vtk/VtkMappedMeshSource.h"
 
diff --git a/Applications/DataExplorer/DataView/MeshLayerEditDialog.cpp b/Applications/DataExplorer/DataView/MeshLayerEditDialog.cpp
index 9ba27b04474..025cda9d5dd 100644
--- a/Applications/DataExplorer/DataView/MeshLayerEditDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshLayerEditDialog.cpp
@@ -30,11 +30,11 @@
 
 #include "Applications/FileIO/AsciiRasterInterface.h"
 #include "BaseLib/Logging.h"
-#include "Mesh.h"
-#include "MeshGenerators/LayeredVolume.h"
-#include "OGSError.h"
-#include "StringTools.h"
-#include "TetGenInterface.h"
+#include "MeshLib/Mesh.h"
+#include "MeshLib/MeshGenerators/LayeredVolume.h"
+#include "Base/OGSError.h"
+#include "BaseLib/StringTools.h"
+#include "Applications/FileIO/TetGenInterface.h"
 
 MeshLayerEditDialog::MeshLayerEditDialog(const MeshLib::Mesh* mesh,
                                          QDialog* parent)
diff --git a/Applications/DataExplorer/DataView/MeshLayerEditDialog.h b/Applications/DataExplorer/DataView/MeshLayerEditDialog.h
index 0a75ec6e44e..3fa81100edc 100644
--- a/Applications/DataExplorer/DataView/MeshLayerEditDialog.h
+++ b/Applications/DataExplorer/DataView/MeshLayerEditDialog.h
@@ -18,7 +18,7 @@
 #include <QDialog>
 #include <QLineEdit>
 
-#include "MeshGenerators/MeshLayerMapper.h"
+#include "MeshLib/MeshGenerators/MeshLayerMapper.h"
 
 class QPushButton;
 class QCheckBox;
diff --git a/Applications/DataExplorer/DataView/MeshMapping2DDialog.cpp b/Applications/DataExplorer/DataView/MeshMapping2DDialog.cpp
index a588d33d3fa..01d0240f4f3 100644
--- a/Applications/DataExplorer/DataView/MeshMapping2DDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshMapping2DDialog.cpp
@@ -12,8 +12,8 @@
 #include <QFileDialog>
 #include <QSettings>
 
-#include "OGSError.h"
-#include "StrictDoubleValidator.h"
+#include "Base/OGSError.h"
+#include "Base/StrictDoubleValidator.h"
 
 MeshMapping2DDialog::MeshMapping2DDialog(QDialog* parent) : QDialog(parent)
 {
diff --git a/Applications/DataExplorer/DataView/MeshModel.cpp b/Applications/DataExplorer/DataView/MeshModel.cpp
index 4ad7156620c..4803a6d507e 100644
--- a/Applications/DataExplorer/DataView/MeshModel.cpp
+++ b/Applications/DataExplorer/DataView/MeshModel.cpp
@@ -22,10 +22,10 @@
 #include "Applications/DataHolderLib/Project.h"
 #include "BaseLib/Logging.h"
 #include "BaseLib/StringTools.h"
-#include "Elements/Element.h"
+#include "MeshLib/Elements/Element.h"
 #include "MeshItem.h"
 #include "MeshLib/Node.h"
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 const QVariant MeshModel::element_str = "Element";
 const std::map<MeshLib::MeshElemType, QVariant> MeshModel::elem_type_map =
diff --git a/Applications/DataExplorer/DataView/MeshModel.h b/Applications/DataExplorer/DataView/MeshModel.h
index 916c4af7361..509fa18ebc5 100644
--- a/Applications/DataExplorer/DataView/MeshModel.h
+++ b/Applications/DataExplorer/DataView/MeshModel.h
@@ -18,7 +18,7 @@
 
 #include "MeshLib/MeshEnums.h"
 
-#include "TreeModel.h"
+#include "Base/TreeModel.h"
 
 namespace DataHolderLib
 {
diff --git a/Applications/DataExplorer/DataView/MeshQualitySelectionDialog.cpp b/Applications/DataExplorer/DataView/MeshQualitySelectionDialog.cpp
index 2d085f672a9..d07a7dddf33 100644
--- a/Applications/DataExplorer/DataView/MeshQualitySelectionDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshQualitySelectionDialog.cpp
@@ -18,7 +18,7 @@
 #include <QFileInfo>
 #include <QSettings>
 
-#include "OGSError.h"
+#include "Base/OGSError.h"
 
 /// Constructor
 MeshQualitySelectionDialog::MeshQualitySelectionDialog(QDialog* parent)
diff --git a/Applications/DataExplorer/DataView/MeshValueEditDialog.cpp b/Applications/DataExplorer/DataView/MeshValueEditDialog.cpp
index 7e66bc4e0c1..0104d2c8e44 100644
--- a/Applications/DataExplorer/DataView/MeshValueEditDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshValueEditDialog.cpp
@@ -14,8 +14,8 @@
 
 #include "MeshValueEditDialog.h"
 
-#include "MeshEditing/ElementValueModification.h"
-#include "OGSError.h"
+#include "MeshLib/MeshEditing/ElementValueModification.h"
+#include "Base/OGSError.h"
 
 MeshValueEditDialog::MeshValueEditDialog(MeshLib::Mesh* mesh, QDialog* parent)
     : QDialog(parent), _mesh(mesh)
diff --git a/Applications/DataExplorer/DataView/MeshView.cpp b/Applications/DataExplorer/DataView/MeshView.cpp
index d41989066bc..6516bfe7364 100644
--- a/Applications/DataExplorer/DataView/MeshView.cpp
+++ b/Applications/DataExplorer/DataView/MeshView.cpp
@@ -24,8 +24,8 @@
 
 #include "AddLayerToMeshDialog.h"
 #include "Applications/FileIO/AsciiRasterInterface.h"
-#include "ImportFileTypes.h"
-#include "LastSavedFileDirectory.h"
+#include "Base/ImportFileTypes.h"
+#include "Base/LastSavedFileDirectory.h"
 #include "MeshItem.h"
 #include "MeshLayerEditDialog.h"
 #include "MeshLib/Mesh.h"
@@ -36,12 +36,12 @@
 #include "MeshMapping2DDialog.h"
 #include "MeshModel.h"
 #include "MeshValueEditDialog.h"
-#include "OGSError.h"
+#include "Base/OGSError.h"
 #include "RasterDataToMeshDialog.h"
-#include "SHPInterface.h"
+#include "Applications/FileIO/SHPInterface.h"
 #include "SaveMeshDialog.h"
 #include "SurfaceExtractionDialog.h"
-#include "TetGenInterface.h"
+#include "Applications/FileIO/TetGenInterface.h"
 
 MeshView::MeshView(QWidget* parent /*= 0*/) : QTreeView(parent)
 {
diff --git a/Applications/DataExplorer/DataView/ModelTreeItem.h b/Applications/DataExplorer/DataView/ModelTreeItem.h
index e2854f7b79b..7ef4a0aeb6c 100644
--- a/Applications/DataExplorer/DataView/ModelTreeItem.h
+++ b/Applications/DataExplorer/DataView/ModelTreeItem.h
@@ -17,7 +17,7 @@
 #include "GeoLib/Station.h"
 
 #include "BaseItem.h"
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 /**
  * \brief A TreeItem containing some additional information used in the StationModel.
diff --git a/Applications/DataExplorer/DataView/ProcessModel.cpp b/Applications/DataExplorer/DataView/ProcessModel.cpp
index 3c263976faf..854e731e284 100644
--- a/Applications/DataExplorer/DataView/ProcessModel.cpp
+++ b/Applications/DataExplorer/DataView/ProcessModel.cpp
@@ -18,7 +18,7 @@
 #include "CondItem.h"
 #include "GeoLib/GEOObjects.h"
 #include "GeoLib/GeoObject.h"
-#include "GeoType.h"
+#include "GeoLib/GeoType.h"
 #include "ProcessVarItem.h"
 
 ProcessModel::ProcessModel(DataHolderLib::Project& project, QObject* parent)
diff --git a/Applications/DataExplorer/DataView/ProcessModel.h b/Applications/DataExplorer/DataView/ProcessModel.h
index 6a4a61cc74d..adbee93aabc 100644
--- a/Applications/DataExplorer/DataView/ProcessModel.h
+++ b/Applications/DataExplorer/DataView/ProcessModel.h
@@ -15,7 +15,7 @@
 #pragma once
 
 #include "Applications/DataHolderLib/Project.h"
-#include "TreeModel.h"
+#include "Base/TreeModel.h"
 
 class FEMCondition;
 class ProcessVarItem;
diff --git a/Applications/DataExplorer/DataView/ProcessVarItem.h b/Applications/DataExplorer/DataView/ProcessVarItem.h
index 6d646ef292c..c94f3d74b04 100644
--- a/Applications/DataExplorer/DataView/ProcessVarItem.h
+++ b/Applications/DataExplorer/DataView/ProcessVarItem.h
@@ -10,7 +10,7 @@
 
 #pragma once
 
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 /**
  * \brief A TreeItem representing process variable information.
diff --git a/Applications/DataExplorer/DataView/RasterDataToMeshDialog.cpp b/Applications/DataExplorer/DataView/RasterDataToMeshDialog.cpp
index d132b3e7fa1..49b0294f7a2 100644
--- a/Applications/DataExplorer/DataView/RasterDataToMeshDialog.cpp
+++ b/Applications/DataExplorer/DataView/RasterDataToMeshDialog.cpp
@@ -13,8 +13,8 @@
 #include <QFileDialog>
 #include <QSettings>
 
-#include "OGSError.h"
-#include "StrictDoubleValidator.h"
+#include "Base/OGSError.h"
+#include "Base/StrictDoubleValidator.h"
 
 RasterDataToMeshDialog::RasterDataToMeshDialog(std::string const& mesh_name,
                                                QDialog* parent)
diff --git a/Applications/DataExplorer/DataView/SHPImportDialog.cpp b/Applications/DataExplorer/DataView/SHPImportDialog.cpp
index 076496baf6e..cbe5f1d30c9 100644
--- a/Applications/DataExplorer/DataView/SHPImportDialog.cpp
+++ b/Applications/DataExplorer/DataView/SHPImportDialog.cpp
@@ -22,8 +22,8 @@
 #include <QVBoxLayout>
 
 #include "GeoLib/GEOObjects.h"
-#include "OGSError.h"
-#include "SHPInterface.h"
+#include "Base/OGSError.h"
+#include "Applications/FileIO/SHPInterface.h"
 
 SHPImportDialog::SHPImportDialog(std::string filename,
                                  GeoLib::GEOObjects& geo_objects,
diff --git a/Applications/DataExplorer/DataView/SaveMeshDialog.cpp b/Applications/DataExplorer/DataView/SaveMeshDialog.cpp
index ed699c3e74d..61968b92cba 100644
--- a/Applications/DataExplorer/DataView/SaveMeshDialog.cpp
+++ b/Applications/DataExplorer/DataView/SaveMeshDialog.cpp
@@ -17,11 +17,11 @@
 #include <QFileDialog>
 #include <QSettings>
 
-#include "LastSavedFileDirectory.h"
+#include "Base/LastSavedFileDirectory.h"
 #include "MeshLib/IO/Legacy/MeshIO.h"
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/Mesh.h"
-#include "OGSError.h"
+#include "Base/OGSError.h"
 
 SaveMeshDialog::SaveMeshDialog(MeshLib::Mesh const& mesh, QDialog* parent)
     : QDialog(parent), _mesh(mesh)
diff --git a/Applications/DataExplorer/DataView/SelectMeshDialog.cpp b/Applications/DataExplorer/DataView/SelectMeshDialog.cpp
index 4f80705dc77..dffb56c97fd 100644
--- a/Applications/DataExplorer/DataView/SelectMeshDialog.cpp
+++ b/Applications/DataExplorer/DataView/SelectMeshDialog.cpp
@@ -19,7 +19,7 @@
 #include <QLabel>
 #include <QVBoxLayout>
 
-#include "GeoObject.h"
+#include "GeoLib/GeoObject.h"
 
 SelectMeshDialog::SelectMeshDialog(const GeoLib::GeoObject* geo_object,
                                    const std::list<std::string>& msh_names,
diff --git a/Applications/DataExplorer/DataView/StationTreeModel.cpp b/Applications/DataExplorer/DataView/StationTreeModel.cpp
index dfc2255dbf7..bf71b81d4be 100644
--- a/Applications/DataExplorer/DataView/StationTreeModel.cpp
+++ b/Applications/DataExplorer/DataView/StationTreeModel.cpp
@@ -17,8 +17,8 @@
 #include <QDebug>
 
 #include "BaseItem.h"
-#include "OGSError.h"
-#include "Station.h"
+#include "Base/OGSError.h"
+#include "GeoLib/Station.h"
 
 /**
  * Constructor.
diff --git a/Applications/DataExplorer/DataView/StationTreeModel.h b/Applications/DataExplorer/DataView/StationTreeModel.h
index 9c5e4e432ee..cd5b59f4008 100644
--- a/Applications/DataExplorer/DataView/StationTreeModel.h
+++ b/Applications/DataExplorer/DataView/StationTreeModel.h
@@ -20,7 +20,7 @@
 #include "GeoLib/Point.h"
 
 #include "ModelTreeItem.h"
-#include "TreeModel.h"
+#include "Base/TreeModel.h"
 
 namespace GeoLib
 {
diff --git a/Applications/DataExplorer/DataView/StationTreeView.cpp b/Applications/DataExplorer/DataView/StationTreeView.cpp
index 67751b585cf..7b61fc1ad4b 100644
--- a/Applications/DataExplorer/DataView/StationTreeView.cpp
+++ b/Applications/DataExplorer/DataView/StationTreeView.cpp
@@ -17,15 +17,15 @@
 #include <QFileDialog>
 #include <QMenu>
 
-#include "DiagramPrefsDialog.h"
-#include "GMSInterface.h"
-#include "ImportFileTypes.h"
-#include "LastSavedFileDirectory.h"
+#include "DiagramView/DiagramPrefsDialog.h"
+#include "Applications/FileIO/GMSInterface.h"
+#include "Base/ImportFileTypes.h"
+#include "Base/LastSavedFileDirectory.h"
 #include "ModelTreeItem.h"
-#include "OGSError.h"
-#include "Station.h"
+#include "Base/OGSError.h"
+#include "GeoLib/Station.h"
 #include "StationTreeModel.h"
-#include "StratWindow.h"
+#include "DataView/StratView/StratWindow.h"
 
 StationTreeView::StationTreeView(QWidget* parent) : QTreeView(parent)
 {
diff --git a/Applications/DataExplorer/DataView/StratView/CMakeLists.txt b/Applications/DataExplorer/DataView/StratView/CMakeLists.txt
index e7543b2cefb..842082f6d9a 100644
--- a/Applications/DataExplorer/DataView/StratView/CMakeLists.txt
+++ b/Applications/DataExplorer/DataView/StratView/CMakeLists.txt
@@ -4,17 +4,11 @@ set(HEADERS StratBar.h StratScene.h StratView.h StratWindow.h)
 
 set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../../..)
 set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../..)
-include_directories(
-    ${CMAKE_CURRENT_SOURCE_DIR} ${SOURCE_DIR_REL}/BaseLib
-    ${SOURCE_DIR_REL}/GeoLib ${SOURCE_DIR_REL}/MathLib
-    ${GUI_SOURCE_DIR_REL}/Base
-)
-
 file(GLOB_RECURSE UI_FILES CONFIGURE_DEPENDS *.ui)
 source_group("UI Files" FILES ${UI_FILES})
 
 ogs_add_library(QtStratView ${SOURCES} ${HEADERS} ${UIS})
-
+target_include_directories(QtStratView PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
 target_link_libraries(
     QtStratView PRIVATE BaseLib GeoLib DataHolderLib QtBase Qt5::Gui
 )
diff --git a/Applications/DataExplorer/DataView/StratView/StratBar.h b/Applications/DataExplorer/DataView/StratView/StratBar.h
index 6c3e3d30a0c..54bc7b47a56 100644
--- a/Applications/DataExplorer/DataView/StratView/StratBar.h
+++ b/Applications/DataExplorer/DataView/StratView/StratBar.h
@@ -18,7 +18,7 @@
 
 #include <QGraphicsItem>
 
-#include "StationBorehole.h"
+#include "GeoLib/StationBorehole.h"
 #include "Applications/DataHolderLib/Color.h"
 
 /**
diff --git a/Applications/DataExplorer/DataView/StratView/StratScene.cpp b/Applications/DataExplorer/DataView/StratView/StratScene.cpp
index 37e14d18c23..e730d3a1c86 100644
--- a/Applications/DataExplorer/DataView/StratView/StratScene.cpp
+++ b/Applications/DataExplorer/DataView/StratView/StratScene.cpp
@@ -19,8 +19,8 @@
 #include <QGraphicsTextItem>
 #include <limits>
 
-#include "DateTools.h"
-#include "QNonScalableGraphicsTextItem.h"
+#include "BaseLib/DateTools.h"
+#include "Base/QNonScalableGraphicsTextItem.h"
 #include "StratBar.h"
 
 StratScene::StratScene(GeoLib::StationBorehole* station,
diff --git a/Applications/DataExplorer/DataView/StratView/StratScene.h b/Applications/DataExplorer/DataView/StratView/StratScene.h
index 6005c01967c..236c3dff404 100644
--- a/Applications/DataExplorer/DataView/StratView/StratScene.h
+++ b/Applications/DataExplorer/DataView/StratView/StratScene.h
@@ -16,7 +16,7 @@
 
 #include <QGraphicsScene>
 
-#include "StationBorehole.h"
+#include "GeoLib/StationBorehole.h"
 #include "Applications/DataHolderLib/Color.h"
 
 class StratBar;
diff --git a/Applications/DataExplorer/DataView/StratView/StratView.cpp b/Applications/DataExplorer/DataView/StratView/StratView.cpp
index ebbb08d696c..268d9458078 100644
--- a/Applications/DataExplorer/DataView/StratView/StratView.cpp
+++ b/Applications/DataExplorer/DataView/StratView/StratView.cpp
@@ -16,7 +16,7 @@
 
 #include <math.h>
 
-#include "Station.h"
+#include "GeoLib/Station.h"
 
 StratView::~StratView()
 {
diff --git a/Applications/DataExplorer/DataView/StratView/StratWindow.cpp b/Applications/DataExplorer/DataView/StratView/StratWindow.cpp
index 2fe2c92187b..a1352ddfedc 100644
--- a/Applications/DataExplorer/DataView/StratView/StratWindow.cpp
+++ b/Applications/DataExplorer/DataView/StratView/StratWindow.cpp
@@ -12,9 +12,9 @@
  *
  */
 
-#include "StratWindow.h"
+#include "DataView/StratView/StratWindow.h"
 
-#include "Station.h"
+#include "GeoLib/Station.h"
 
 StratWindow::StratWindow(
     GeoLib::StationBorehole* station,
diff --git a/Applications/DataExplorer/DataView/StratView/StratWindow.ui b/Applications/DataExplorer/DataView/StratView/StratWindow.ui
index f6719ed02d1..bbdb860eaa1 100644
--- a/Applications/DataExplorer/DataView/StratView/StratWindow.ui
+++ b/Applications/DataExplorer/DataView/StratView/StratWindow.ui
@@ -49,7 +49,7 @@
   <customwidget>
    <class>StratView</class>
    <extends>QGraphicsView</extends>
-   <header location="global">StratView.h</header>
+   <header location="global">DataView/StratView/StratView.h</header>
   </customwidget>
  </customwidgets>
  <resources/>
diff --git a/Applications/DataExplorer/VtkVis/MeshFromRasterDialog.cpp b/Applications/DataExplorer/VtkVis/MeshFromRasterDialog.cpp
index f8550a499e9..02ed5a11c8c 100644
--- a/Applications/DataExplorer/VtkVis/MeshFromRasterDialog.cpp
+++ b/Applications/DataExplorer/VtkVis/MeshFromRasterDialog.cpp
@@ -15,7 +15,7 @@
 #include "MeshFromRasterDialog.h"
 
 #include "MeshGenerators/VtkMeshConverter.h"
-#include "OGSError.h"
+#include "Base/OGSError.h"
 
 MeshFromRasterDialog::MeshFromRasterDialog(QDialog* parent)
     : QDialog(parent), _mesh_name("mesh"), _array_name("MaterialIDs")
diff --git a/Applications/DataExplorer/VtkVis/VisualizationWidget.cpp b/Applications/DataExplorer/VtkVis/VisualizationWidget.cpp
index 30a542e139e..c9ba487f87a 100644
--- a/Applications/DataExplorer/VtkVis/VisualizationWidget.cpp
+++ b/Applications/DataExplorer/VtkVis/VisualizationWidget.cpp
@@ -41,7 +41,7 @@
 #include <QString>
 #include <cmath>
 
-#include "Point.h"
+#include "GeoLib/Point.h"
 #include "VtkCustomInteractorStyle.h"
 #include "VtkPickCallback.h"
 
diff --git a/Applications/DataExplorer/VtkVis/VtkCompositeGeoObjectFilter.h b/Applications/DataExplorer/VtkVis/VtkCompositeGeoObjectFilter.h
index e516e3d96b3..485d5e61bde 100644
--- a/Applications/DataExplorer/VtkVis/VtkCompositeGeoObjectFilter.h
+++ b/Applications/DataExplorer/VtkVis/VtkCompositeGeoObjectFilter.h
@@ -15,7 +15,7 @@
 #pragma once
 
 #include "VtkCompositeFilter.h"
-#include "GeoType.h"
+#include "GeoLib/GeoType.h"
 
 class vtkThreshold;
 
diff --git a/Applications/DataExplorer/VtkVis/VtkCompositeNodeSelectionFilter.h b/Applications/DataExplorer/VtkVis/VtkCompositeNodeSelectionFilter.h
index 095b862684a..46e80092eda 100644
--- a/Applications/DataExplorer/VtkVis/VtkCompositeNodeSelectionFilter.h
+++ b/Applications/DataExplorer/VtkVis/VtkCompositeNodeSelectionFilter.h
@@ -15,7 +15,7 @@
 #pragma once
 
 #include "VtkCompositeFilter.h"
-#include "Point.h"
+#include "GeoLib/Point.h"
 
 #include <vector>
 
diff --git a/Applications/DataExplorer/VtkVis/VtkPointsSource.h b/Applications/DataExplorer/VtkVis/VtkPointsSource.h
index 670e8cc240f..2683f8aaec7 100644
--- a/Applications/DataExplorer/VtkVis/VtkPointsSource.h
+++ b/Applications/DataExplorer/VtkVis/VtkPointsSource.h
@@ -18,8 +18,7 @@
 #include "VtkAlgorithmProperties.h"
 #include <vtkPolyDataAlgorithm.h>
 
-// GeoLib
-#include "Point.h"
+#include "GeoLib/Point.h"
 
 /**
  * \brief VtkPointsSource is a VTK source object for the visualization
diff --git a/Applications/DataExplorer/VtkVis/VtkSurfacesSource.h b/Applications/DataExplorer/VtkVis/VtkSurfacesSource.h
index f948eff3cfd..c0e208ce888 100644
--- a/Applications/DataExplorer/VtkVis/VtkSurfacesSource.h
+++ b/Applications/DataExplorer/VtkVis/VtkSurfacesSource.h
@@ -18,7 +18,7 @@
 #include "VtkAlgorithmProperties.h"
 #include <vtkPolyDataAlgorithm.h>
 
-#include "Surface.h"
+#include "GeoLib/Surface.h"
 
 /**
  * \brief VTK source object for the visualisation of surfaces.
diff --git a/Applications/DataExplorer/VtkVis/VtkVisPipeline.cpp b/Applications/DataExplorer/VtkVis/VtkVisPipeline.cpp
index adc45ead081..b5fc64fea1c 100644
--- a/Applications/DataExplorer/VtkVis/VtkVisPipeline.cpp
+++ b/Applications/DataExplorer/VtkVis/VtkVisPipeline.cpp
@@ -51,7 +51,7 @@
 #include "MeshLib/Vtk/VtkMappedMeshSource.h"
 #include "MeshModel.h"
 #include "StationTreeModel.h"
-#include "TreeModel.h"
+#include "Base/TreeModel.h"
 #include "VtkAlgorithmProperties.h"
 #include "VtkCompositeElementSelectionFilter.h"
 #include "VtkCompositeGeoObjectFilter.h"
diff --git a/Applications/DataExplorer/VtkVis/VtkVisPipeline.h b/Applications/DataExplorer/VtkVis/VtkVisPipeline.h
index 6b614dcb5e8..cdb387f8d40 100644
--- a/Applications/DataExplorer/VtkVis/VtkVisPipeline.h
+++ b/Applications/DataExplorer/VtkVis/VtkVisPipeline.h
@@ -21,7 +21,7 @@
 #include "GeoLib/GeoType.h"
 #include "GeoLib/Point.h"
 #include "MeshLib/MeshEnums.h"
-#include "TreeModel.h"
+#include "Base/TreeModel.h"
 
 class vtkAlgorithm;
 class vtkDataSet;
diff --git a/Applications/DataExplorer/VtkVis/VtkVisPipelineItem.h b/Applications/DataExplorer/VtkVis/VtkVisPipelineItem.h
index 4a0c4024e38..2d131269362 100644
--- a/Applications/DataExplorer/VtkVis/VtkVisPipelineItem.h
+++ b/Applications/DataExplorer/VtkVis/VtkVisPipelineItem.h
@@ -19,7 +19,7 @@
 #include <QString>
 #include <QVariant>
 
-#include "TreeItem.h"
+#include "Base/TreeItem.h"
 
 class QStringList;
 class vtkAlgorithm;
diff --git a/Applications/DataExplorer/VtkVis/VtkVisPipelineView.cpp b/Applications/DataExplorer/VtkVis/VtkVisPipelineView.cpp
index ba59fee94b5..48b35a7ba4a 100644
--- a/Applications/DataExplorer/VtkVis/VtkVisPipelineView.cpp
+++ b/Applications/DataExplorer/VtkVis/VtkVisPipelineView.cpp
@@ -27,10 +27,10 @@
 #include <QSettings>
 
 #include "CheckboxDelegate.h"
-#include "Mesh.h"
+#include "MeshLib/Mesh.h"
 #include "MeshGenerators/RasterToMesh.h"
 #include "MeshGenerators/VtkMeshConverter.h"
-#include "OGSError.h"
+#include "Base/OGSError.h"
 #include "VtkVisPipeline.h"
 #include "VtkVisPipelineItem.h"
 #include "VtkVisPointSetItem.h"
diff --git a/Applications/DataExplorer/mainwindow.cpp b/Applications/DataExplorer/mainwindow.cpp
index 6c148d1dd02..7fe2fe2e8cd 100644
--- a/Applications/DataExplorer/mainwindow.cpp
+++ b/Applications/DataExplorer/mainwindow.cpp
@@ -82,8 +82,8 @@
 #include "NetCdfConfigureDialog.h"
 #endif  // OGS_USE_NETCDF
 #include "GeoTreeModel.h"
-#include "LastSavedFileDirectory.h"
-#include "OGSError.h"
+#include "Base/LastSavedFileDirectory.h"
+#include "Base/OGSError.h"
 #include "RecentFiles.h"
 #include "SHPImportDialog.h"
 #include "SetNameDialog.h"
diff --git a/Applications/DataExplorer/mainwindow.h b/Applications/DataExplorer/mainwindow.h
index 903cbcadec5..11c3aad1473 100644
--- a/Applications/DataExplorer/mainwindow.h
+++ b/Applications/DataExplorer/mainwindow.h
@@ -14,7 +14,7 @@
 
 #include "Applications/DataHolderLib/Project.h"
 
-#include "ImportFileTypes.h"
+#include "Base/ImportFileTypes.h"
 #include "ui_mainwindow.h"
 
 #include "ElementTreeModel.h"
-- 
GitLab