From 0c307d45a33aa66bf5b59b1250b1378ee2f22620 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Thu, 28 Aug 2008 22:05:40 +0000 Subject: [PATCH] *** empty log message *** --- Graphics/Mesh.cpp | 21 +++++++++----------- Mesh/Generator.cpp | 49 +++++++++++++++++++++++----------------------- 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/Graphics/Mesh.cpp b/Graphics/Mesh.cpp index e34dbf68bd..f085d750e0 100644 --- a/Graphics/Mesh.cpp +++ b/Graphics/Mesh.cpp @@ -380,18 +380,16 @@ static void drawVoronoiDual(std::vector<T*> &elements) if(ele->getDim() == 2){ for(int j = 0; j < ele->getNumEdges(); j++){ MEdge e = ele->getEdge(j); - SVector3 p2p1 ( e.getVertex(1)->x() - e.getVertex(0)->x(), - e.getVertex(1)->y() - e.getVertex(0)->y(), - e.getVertex(1)->z() - e.getVertex(0)->z()); - SVector3 pcp1 ( pc.x() - e.getVertex(0)->x(), - pc.y() - e.getVertex(0)->y(), - pc.z() - e.getVertex(0)->z()); - + SVector3 p2p1(e.getVertex(1)->x() - e.getVertex(0)->x(), + e.getVertex(1)->y() - e.getVertex(0)->y(), + e.getVertex(1)->z() - e.getVertex(0)->z()); + SVector3 pcp1(pc.x() - e.getVertex(0)->x(), + pc.y() - e.getVertex(0)->y(), + pc.z() - e.getVertex(0)->z()); double alpha = dot(pcp1,p2p1) / dot(p2p1,p2p1); - - SPoint3 p ((1.-alpha)*e.getVertex(0)->x() + alpha*e.getVertex(1)->x(), - (1.-alpha)*e.getVertex(0)->y() + alpha*e.getVertex(1)->y(), - (1.-alpha)*e.getVertex(0)->z() + alpha*e.getVertex(1)->z()); + SPoint3 p((1 - alpha)*e.getVertex(0)->x() + alpha * e.getVertex(1)->x(), + (1 - alpha)*e.getVertex(0)->y() + alpha * e.getVertex(1)->y(), + (1 - alpha)*e.getVertex(0)->z() + alpha * e.getVertex(1)->z()); glVertex3d(pc.x(), pc.y(), pc.z()); glVertex3d(p.x(), p.y(), p.z()); } @@ -417,7 +415,6 @@ static void drawVoronoiDual(std::vector<T*> &elements) gl2psDisable(GL2PS_LINE_STIPPLE); } - // Routine to fill the smooth normal container template<class T> diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index 3cfcb07d1d..212280b162 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -25,21 +25,22 @@ extern Context_T CTX; - -static MVertex* isEquivalentTo ( std::multimap<MVertex *, MVertex *> & m, MVertex *v ) +static MVertex* isEquivalentTo(std::multimap<MVertex*, MVertex*> &m, MVertex *v) { - std::multimap<MVertex *, MVertex *>::iterator it = m.lower_bound(v); - std::multimap<MVertex *, MVertex *>::iterator ite = m.upper_bound(v); + std::multimap<MVertex*, MVertex*>::iterator it = m.lower_bound(v); + std::multimap<MVertex*, MVertex*>::iterator ite = m.upper_bound(v); if (it == ite) return v; MVertex *res = it->second; ++it; while (it !=ite){ - res = std::min(res,it->second);++it; + res = std::min(res,it->second); ++it; } - if (res < v) return isEquivalentTo ( m, res) ; + if (res < v) return isEquivalentTo(m, res); return res; } -static void buildASetOfEquivalentMeshVertices ( GFace *gf , std::multimap<MVertex *, MVertex *> & equivalent , std::map<GVertex*,MVertex*> &bm) +static void buildASetOfEquivalentMeshVertices(GFace *gf, + std::multimap<MVertex*, MVertex *> &equivalent, + std::map<GVertex*, MVertex*> &bm) { // an edge is degenerated when is length is considered to be // zero. In some cases, a model edge can be considered as too @@ -58,12 +59,11 @@ static void buildASetOfEquivalentMeshVertices ( GFace *gf , std::multimap<MVerte MVertex *va = *((*it)->getBeginVertex()->mesh_vertices.begin()); MVertex *vb = *((*it)->getEndVertex()->mesh_vertices.begin()); if (va != vb){ - equivalent.insert(std::make_pair (va,vb)); - equivalent.insert(std::make_pair (vb,va)); + equivalent.insert(std::make_pair(va, vb)); + equivalent.insert(std::make_pair(vb, va)); bm[(*it)->getBeginVertex()] = va; bm[(*it)->getEndVertex()] = vb; - printf("%d equivalent to %d\n",va->getNum(),vb->getNum()); - + printf("%d equivalent to %d\n", va->getNum(), vb->getNum()); } } ++it; @@ -75,8 +75,8 @@ static void buildASetOfEquivalentMeshVertices ( GFace *gf , std::multimap<MVerte MVertex *va = *((*it)->getBeginVertex()->mesh_vertices.begin()); MVertex *vb = *((*it)->getEndVertex()->mesh_vertices.begin()); if (va != vb){ - equivalent.insert(std::make_pair (va,vb)); - equivalent.insert(std::make_pair (vb,va)); + equivalent.insert(std::make_pair(va, vb)); + equivalent.insert(std::make_pair(vb, va)); bm[(*it)->getBeginVertex()] = va; bm[(*it)->getEndVertex()] = vb; } @@ -88,37 +88,38 @@ static void buildASetOfEquivalentMeshVertices ( GFace *gf , std::multimap<MVerte struct geomTresholdVertexEquivalence { // Initial MVertex associated to one given MVertex - std::map<GVertex *, MVertex *> backward_map; + std::map<GVertex*, MVertex*> backward_map; // initiate the forward and backward maps - geomTresholdVertexEquivalence (GModel *g); + geomTresholdVertexEquivalence(GModel *g); // restores the initial state ~geomTresholdVertexEquivalence (); }; - -geomTresholdVertexEquivalence :: geomTresholdVertexEquivalence (GModel *g) +geomTresholdVertexEquivalence::geomTresholdVertexEquivalence(GModel *g) { - std::multimap<MVertex *, MVertex *> equivalenceMap; + std::multimap<MVertex*, MVertex*> equivalenceMap; for (GModel::fiter it = g->firstFace(); it != g->lastFace(); ++it) - buildASetOfEquivalentMeshVertices ( *it, equivalenceMap, backward_map ); + buildASetOfEquivalentMeshVertices(*it, equivalenceMap, backward_map); // build the structure that identifiate geometrically equivalent // mesh vertices. - for (std::map<GVertex*,MVertex *>::iterator it = backward_map.begin() ; it != backward_map.end() ; ++it){ + for (std::map<GVertex*, MVertex*>::iterator it = backward_map.begin(); + it != backward_map.end(); ++it){ GVertex *g = it->first; MVertex *v = it->second; - MVertex *other = isEquivalentTo (equivalenceMap,v); + MVertex *other = isEquivalentTo(equivalenceMap, v); if (v != other){ - printf("Finally : %d equivalent to %d\n",v->getNum(),other->getNum()); + printf("Finally : %d equivalent to %d\n", v->getNum(), other->getNum()); g->mesh_vertices.clear(); g->mesh_vertices.push_back(other); } } } -geomTresholdVertexEquivalence :: ~geomTresholdVertexEquivalence () +geomTresholdVertexEquivalence::~geomTresholdVertexEquivalence() { // restore the initial data - for (std::map<GVertex*,MVertex *>::iterator it = backward_map.begin() ; it != backward_map.end() ; ++it){ + for (std::map<GVertex*, MVertex*>::iterator it = backward_map.begin(); + it != backward_map.end() ; ++it){ GVertex *g = it->first; MVertex *v = it->second; g->mesh_vertices.clear(); -- GitLab