From 14ba2dc59d263016a606d031d83a89694f4ce11d Mon Sep 17 00:00:00 2001
From: Yaroslav <beorn.90@gmail.com>
Date: Tue, 13 Dec 2016 09:41:40 +0100
Subject: [PATCH] Fixed? P_id and grid_send copy

---
 openfpm_vcluster               |  2 +-
 src/Grid/grid_dist_id_comm.hpp | 18 ++++++++++--------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/openfpm_vcluster b/openfpm_vcluster
index a463ae1d1..9d0986ae4 160000
--- a/openfpm_vcluster
+++ b/openfpm_vcluster
@@ -1 +1 @@
-Subproject commit a463ae1d10144099b2bdeccc6aa6b4de8f3bfcd8
+Subproject commit 9d0986ae448b22ada91ddcbb789ed58e270d4218
diff --git a/src/Grid/grid_dist_id_comm.hpp b/src/Grid/grid_dist_id_comm.hpp
index fedb9d0ab..2a04183a6 100644
--- a/src/Grid/grid_dist_id_comm.hpp
+++ b/src/Grid/grid_dist_id_comm.hpp
@@ -102,17 +102,20 @@ public:
 						std::cout << "Cont. size on " << l << " dimension: " << sz1[l] << std::endl;
 					}
 */
+
+					auto inte_box_cont = cd_sm.convertCellUnitsIntoDomainSpace(inte_box);
+
 					// Get processor ID that store intersection box
 					Point<dim,St> p;
-					for (size_t i = 0; i < dim; i++)
-						p.get(i) = (inte_box.getHigh(i) + inte_box.getLow(i))/2;
+					for (size_t n = 0; n < dim; n++)
+						p.get(n) = (inte_box_cont.getHigh(n) + inte_box_cont.getLow(n))/2;
 
-					//std::cout << "Point: (" << p.get(0) << "; " << p.get(1) << ")" << std::endl;
+					std::cout << "Point: (" << p.get(0) << "; " << p.get(1) << ")" << std::endl;
 
 					p_id = dec.processorID(p);
 					prc_sz.get(p_id)++;
 
-					//std::cout << "P_id: " << p_id << std::endl;
+					std::cout << "P_id: " << p_id << std::endl;
 
 					// Convert intersection box from contiguous to discrete
 					//SpaceBox<dim,long int> inte_box_discr = cd_sm.convertDomainSpaceIntoGridUnits(inte_box,dec.periodicity());
@@ -133,12 +136,11 @@ public:
 
 					for (size_t l = 0; l < dim; l++)
 						std::cout << "GR Size on " << l << " dimension: " << gr.getGrid().size(l) << std::endl;
-
 					// Size of the grid to send
 					size_t sz[dim];
 					for (size_t l = 0; l < dim; l++)
 					{
-						sz[l] = inte_box_local.getHigh(l) - inte_box_local.getLow(l);
+						sz[l] = inte_box_local.getHigh(l) - inte_box_local.getLow(l) + 1;
 						std::cout << "GR_send size on " << l << " dimension: " << sz[l] << std::endl;
 					}
 
@@ -160,8 +162,8 @@ public:
 					{
 						auto key = it.get();
 						std::string str = key.to_string();
-						std::cout << "Key: " << str << std::endl;
 
+						std::cout << "Key: " << str << std::endl;
 						gr_send.get_o(key) = gr.get_o(key);
 
 						//gr_send.template get<0>(key) = gr.template get<0>(key);
@@ -172,7 +174,7 @@ public:
 						++it;
 					}
 					// Add to the labeling vector
-					//lbl_b.get(p_id).add(gr_send);
+					lbl_b.get(p_id).add(gr_send);
 					//std::cout << "9" << std::endl;
 
 				}
-- 
GitLab