From 1cc4879b916850b885785344de05f0fc16b78c2c Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Sun, 28 Aug 2016 14:31:45 +0000
Subject: [PATCH] simple mesh read example

---
 utils/api_demos/CMakeLists.txt   |  3 +++
 utils/api_demos/mainReadMesh.cpp | 31 +++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 utils/api_demos/mainReadMesh.cpp

diff --git a/utils/api_demos/CMakeLists.txt b/utils/api_demos/CMakeLists.txt
index 021bf4c475..eab5b73d8b 100644
--- a/utils/api_demos/CMakeLists.txt
+++ b/utils/api_demos/CMakeLists.txt
@@ -53,6 +53,9 @@ target_link_libraries(mainPost shared)
 add_executable(mainSimple mainSimple.cpp)
 target_link_libraries(mainSimple shared)
 
+add_executable(mainReadMesh mainReadMesh.cpp)
+target_link_libraries(mainReadMesh shared)
+
 add_executable(mainGeoFactory mainGeoFactory.cpp)
 target_link_libraries(mainGeoFactory shared)
 
diff --git a/utils/api_demos/mainReadMesh.cpp b/utils/api_demos/mainReadMesh.cpp
new file mode 100644
index 0000000000..d7c477a2a3
--- /dev/null
+++ b/utils/api_demos/mainReadMesh.cpp
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include "Gmsh.h"
+#include "GModel.h"
+#include "MTetrahedron.h"
+#include "MTriangle.h"
+
+int main(int argc, char **argv)
+{
+  GmshInitialize(argc, argv);
+  GModel *m = new GModel();
+  m->readMSH("../problem.msh");
+  for(GModel::riter it = m->firstRegion(); it != m->lastRegion(); ++it){
+    GRegion *r = *it;
+    for(unsigned int i = 0; i < r->tetrahedra.size(); i++)
+      printf(" tet %d: vertices %d %d %d %d\n", r->tetrahedra[i]->getNum(),
+             r->tetrahedra[i]->getVertex(0)->getNum(),
+             r->tetrahedra[i]->getVertex(1)->getNum(),
+             r->tetrahedra[i]->getVertex(2)->getNum(),
+             r->tetrahedra[i]->getVertex(3)->getNum());
+  }
+  for(GModel::fiter it = m->firstFace(); it != m->lastFace(); ++it){
+    GFace *f = *it;
+    for(unsigned int i = 0; i < f->triangles.size(); i++)
+      printf(" tri %d: vertices %d %d %d\n", f->triangles[i]->getNum(),
+             f->triangles[i]->getVertex(0)->getNum(),
+             f->triangles[i]->getVertex(1)->getNum(),
+             f->triangles[i]->getVertex(2)->getNum());
+  }
+  delete m;
+  GmshFinalize();
+}
-- 
GitLab