From 27828e48a64e97c854d716abbf10532d8062a5e1 Mon Sep 17 00:00:00 2001
From: Jonathan Lambrechts <jonathan.lambrechts@uclouvain.be>
Date: Tue, 12 Jun 2012 12:23:46 +0000
Subject: [PATCH] OptHOM : fix bug in boundary nodes selection (for non bnd
 layer blobs)

---
 contrib/HighOrderMeshOptimizer/OptHomRun.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/contrib/HighOrderMeshOptimizer/OptHomRun.cpp b/contrib/HighOrderMeshOptimizer/OptHomRun.cpp
index af5b6dd20d..cff74b8f5f 100644
--- a/contrib/HighOrderMeshOptimizer/OptHomRun.cpp
+++ b/contrib/HighOrderMeshOptimizer/OptHomRun.cpp
@@ -329,12 +329,12 @@ static std::set<MVertex *> getBndVertices(std::set<MElement*> &elements, std::ma
 {
   std::set<MVertex*> bnd;
   for (std::set<MElement*>::iterator itE = elements.begin(); itE != elements.end(); ++itE) {
-    for (int i = 0; i < (*itE)->getNumVertices(); ++i) {
+    for (int i = 0; i < (*itE)->getNumPrimaryVertices(); ++i) {
       const std::vector<MElement*> &neighbours = vertex2elements[(*itE)->getVertex(i)];
       for (size_t k = 0; k < neighbours.size(); ++k) {
         if (elements.find(neighbours[k]) == elements.end()) {
           for (int j = 0; j < neighbours[k]->getNumVertices(); ++j) {
-            bnd.insert(neighbours[k]->getVertex(i));
+            bnd.insert(neighbours[k]->getVertex(j));
           }
         }
       }
@@ -351,7 +351,7 @@ static std::set<MElement*> getSurroundingBlob(MElement *el, int depth, std::map<
   lastLayer.insert(el);
   for (int d = 0; d < depth; ++d) {
     for (std::set<MElement *>::iterator it = lastLayer.begin(); it != lastLayer.end(); ++it) {
-      for (int i = 0; i < (*it)->getNumVertices(); ++i){
+      for (int i = 0; i < (*it)->getNumPrimaryVertices(); ++i){
         const std::vector<MElement*> &neighbours = vertex2elements[(*it)->getVertex(i)];
         for (size_t k = 0; k < neighbours.size(); ++k) {
           if (blob.find(neighbours[k]) != blob.end())
-- 
GitLab