From 1c90302ea19af767525c2ffd1b7158cb577d4619 Mon Sep 17 00:00:00 2001
From: "TESLA03\\Master" <a.wellmann@tu-bs.de>
Date: Thu, 15 Jul 2021 18:48:24 +0200
Subject: [PATCH] Remove dependency on MultipleGridBuilder in
 NodeIndicesMultiGPU

---
 .../Parameter/NodeIndicesMultiGPU.cpp              | 14 ++++++--------
 .../Parameter/NodeIndicesMultiGPU.h                |  9 ++++-----
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp
index 2440da272..f30ebe383 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp
+++ b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp
@@ -1,20 +1,18 @@
 #include "NodeIndicesMultiGPU.h"
 
-NodeIndicesMultiGPU::NodeIndicesMultiGPU(SPtr<MultipleGridBuilder> gridBuilder)
+NodeIndicesMultiGPU::NodeIndicesMultiGPU(const std::vector<uint> *geoFluidSizes,
+                                         const std::vector<const std::vector<uint> *> *geoFluidNodesIndices)
 {
-    std::vector<std::shared_ptr<Grid>> grids = gridBuilder->getGrids();
-    for (uint i = 0; i < grids.size(); i++) {
-        geoFluidSize.push_back(grids[i]->getGeoFluidSize());
-        geoFluidNodeIndices.push_back(grids[i]->getGeoFluidNodes());
-    }
+    this->geoFluidSizes = geoFluidSizes;
+    this->geoFluidNodeIndices = geoFluidNodesIndices;
 }
 
 uint NodeIndicesMultiGPU::getGeoFluidSize(uint gridNumber) 
 { 
-    return this->geoFluidSize[gridNumber]; 
+    return (*this->geoFluidSizes)[gridNumber];
 }
 
 const std::vector<uint>* NodeIndicesMultiGPU::getGeoFluidNodeIndices(uint gridNumber)
 {
-    return this->geoFluidNodeIndices[gridNumber];
+    return (*this->geoFluidNodeIndices)[gridNumber];
 }
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h
index abe44273e..4544864a3 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h
+++ b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h
@@ -1,15 +1,14 @@
 #include <vector>
 #include <memory>
-
-#include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h"
+#include "basics/Core/DataTypes.h"
 
 class NodeIndicesMultiGPU
 {
-    std::vector<uint> geoFluidSize;
-    std::vector<const std::vector<uint>*> geoFluidNodeIndices; 
+    const std::vector<uint> *geoFluidSizes;
+    const std::vector<const std::vector<uint>*> *geoFluidNodeIndices; 
 
 public:
-    NodeIndicesMultiGPU(SPtr<MultipleGridBuilder> gridBuilder);
+    NodeIndicesMultiGPU(const std::vector<uint> *geoFluidSizes, const std::vector<const std::vector<uint> *> * geoFluidNodes);
 
     uint getGeoFluidSize(uint gridNumber);
     const std::vector<uint>* getGeoFluidNodeIndices(uint gridNumber);
-- 
GitLab