From 4c7b0f7cfc6c4bc32aff8f1893b285b4958cf402 Mon Sep 17 00:00:00 2001
From: Matteo Cicuttin <datafl4sh@toxicnet.eu>
Date: Thu, 19 Aug 2021 10:57:50 +0200
Subject: [PATCH] material_tag() in entity.

---
 include/entity.h |  3 +++
 src/entity.cpp   | 11 +++++++++++
 2 files changed, 14 insertions(+)

diff --git a/include/entity.h b/include/entity.h
index 17aaa5d..20d70b3 100644
--- a/include/entity.h
+++ b/include/entity.h
@@ -24,6 +24,8 @@ class entity
     int     elemType_2D;
     int     g_order;
     int     a_order;
+    int     parent_dim;
+    int     parent_tag;
 
     size_t                              m_dof_base;
     size_t                              m_flux_base;
@@ -103,6 +105,7 @@ public:
     void                        sort_by_orientation(void);
     void                        sort_by_gmsh(void);
 
+    int                         material_tag(void) const;
     int                         gmsh_tag(void) const;
     int                         gmsh_elem_type(void) const;
     entity_ordering             current_elem_ordering(void) const;
diff --git a/src/entity.cpp b/src/entity.cpp
index 39cb7bf..52e86df 100644
--- a/src/entity.cpp
+++ b/src/entity.cpp
@@ -42,6 +42,8 @@ entity::entity(const entity_params& ep)
 
     assert(physical_faces.size() == 4*physical_cells.size());
     assert(faceTags.size() == 4*physical_cells.size());
+
+    gm::getParent(dim, tag, parent_dim, parent_tag);
 }
 
 std::vector<size_t>
@@ -500,6 +502,15 @@ entity::sort_by_gmsh(void)
 }
 #endif
 
+int
+entity::material_tag(void) const
+{
+    if (parent_tag == -1)
+        return tag;
+
+    return parent_tag;
+}
+
 int
 entity::gmsh_tag(void) const
 {
-- 
GitLab