From 13a0e8541980266042503c6ef569ba6e4ffe11f6 Mon Sep 17 00:00:00 2001 From: Laurent Van Migroet <l.vanmiegroet@ulg.ac.be> Date: Tue, 8 Jun 2010 15:37:08 +0000 Subject: [PATCH] setting filename when reading a geo file + add new function get all mesh vertices into GModel --- Geo/GModel.cpp | 15 +++++++++++++++ Geo/GModel.h | 3 +++ Geo/GModelIO_Geo.cpp | 4 +++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index bc96d1eab2..475ca38bea 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -642,6 +642,21 @@ int GModel::getNumMeshVertices() return n; } +void GModel::getMeshVertices(std::vector<MVertex *> &meshVertices) +{ + meshVertices.resize(getNumMeshVertices()); + std::vector<GEntity*> entities; + getEntities(entities); + int n = -1; + for(unsigned int i = 0; i < entities.size(); i++) + { + GEntity *entity=entities[i]; + unsigned msh_size=entity->mesh_vertices.size(); + for(unsigned j=0;j<msh_size;++j) + meshVertices[++n]=entity->mesh_vertices[j]; + } +} + int GModel::getNumMeshElements() { std::vector<GEntity*> entities; diff --git a/Geo/GModel.h b/Geo/GModel.h index 83d1bf1d2e..89e324776c 100644 --- a/Geo/GModel.h +++ b/Geo/GModel.h @@ -310,6 +310,9 @@ class GModel // return the total number of vertices in the mesh int getNumMeshVertices(); + + // return all the mesh vertices + void getMeshVertices(std::vector<MVertex *> &meshVertices); // access a mesh vertex by tag, using the vertex cache MVertex *getMeshVertexByTag(int n); diff --git a/Geo/GModelIO_Geo.cpp b/Geo/GModelIO_Geo.cpp index 8c5d0c15a6..c15ee55094 100644 --- a/Geo/GModelIO_Geo.cpp +++ b/Geo/GModelIO_Geo.cpp @@ -39,7 +39,9 @@ void GModel::_deleteGEOInternals() int GModel::readGEO(const std::string &name) { ParseFile(name, true); - return GModel::current()->importGEOInternals(); + GModel *newModel=GModel::current(); + newModel->setFileName(name); + return newModel->importGEOInternals(); } int GModel::exportDiscreteGEOInternals() -- GitLab