From 9e97428acd4874c2bdea98752372b908d0db7b4d Mon Sep 17 00:00:00 2001
From: Stephane Del Pino <stephane.delpino44@gmail.com>
Date: Fri, 10 Aug 2018 11:27:08 +0200
Subject: [PATCH] Add itemName function

---
 src/mesh/ConnectivityComputer.cpp |  6 +++++-
 src/mesh/ItemType.hpp             | 26 ++++++++++++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/src/mesh/ConnectivityComputer.cpp b/src/mesh/ConnectivityComputer.cpp
index 336c88170..0c87ccb6d 100644
--- a/src/mesh/ConnectivityComputer.cpp
+++ b/src/mesh/ConnectivityComputer.cpp
@@ -16,10 +16,14 @@ computeConnectivityMatrix(const ConnectivityType& connectivity,
     const ConnectivityMatrix& child_to_item_matrix
         = connectivity.getMatrix(child_item_type, item_type);
 
+    std::cout << "computing connectivity "
+              << itemName(item_type) << " -> " << itemName(child_item_type) << '\n';
+
     item_to_child_item_matrix
         = this->_computeInverse(child_to_item_matrix);
   } else {
-    std::cerr << "unable to compute connectivity " << '\n';
+    std::cerr << "unable to compute connectivity "
+              << itemName(item_type) << " -> " << itemName(child_item_type) << '\n';
     std::exit(0);
   }
 
diff --git a/src/mesh/ItemType.hpp b/src/mesh/ItemType.hpp
index 56d35de3f..1e344f910 100644
--- a/src/mesh/ItemType.hpp
+++ b/src/mesh/ItemType.hpp
@@ -3,6 +3,7 @@
 
 #include <utility>
 #include <limits>
+#include <string>
 
 enum class ItemType
 {
@@ -12,6 +13,31 @@ enum class ItemType
   cell = 3
 };
 
+inline constexpr
+std::string_view itemName(const ItemType& item_type)
+{
+  std::string_view name;
+  switch(item_type){
+    case ItemType::node: {
+      name = "node";
+      break;
+    }
+    case ItemType::edge: {
+      name = "edge";
+      break;
+    }
+    case ItemType::face: {
+      name = "face";
+      break;
+    }
+    case ItemType::cell: {
+      name = "cell";
+      break;
+    }
+  }
+  return name;
+}
+
 template <size_t Dimension>
 struct ItemId {};
 
-- 
GitLab