From 96b8b55fa096efe772b8418f484d686450f48163 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Wed, 16 Aug 2006 02:01:45 +0000
Subject: [PATCH] *** empty log message ***

---
 Graphics/Mesh.cpp | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/Graphics/Mesh.cpp b/Graphics/Mesh.cpp
index 3c62ebe932..ee014d9ef1 100644
--- a/Graphics/Mesh.cpp
+++ b/Graphics/Mesh.cpp
@@ -1,4 +1,4 @@
-// $Id: Mesh.cpp,v 1.167 2006-08-15 21:22:12 geuzaine Exp $
+// $Id: Mesh.cpp,v 1.168 2006-08-16 02:01:45 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -58,12 +58,12 @@ static unsigned int getColor(GEntity *e, int forceColor, unsigned int color)
   return color;
 }
 
-static double intersectCutPlane(MElement *e, int *edges=0, int *faces=0)
+static double intersectCutPlane(MElement *ele, int *edges=0, int *faces=0)
 {
-  MVertex *v = e->getVertex(0);
+  MVertex *v = ele->getVertex(0);
   double val = CTX.mesh.evalCutPlane(v->x(), v->y(), v->z());
-  for(int i = 1; i < e->getNumVertices(); i++){
-    v = e->getVertex(i);
+  for(int i = 1; i < ele->getNumVertices(); i++){
+    v = ele->getVertex(i);
     if(val * CTX.mesh.evalCutPlane(v->x(), v->y(), v->z()) <= 0){
       // the element intersects the cut plane
       if(CTX.mesh.cut_plane_as_surface){
@@ -233,7 +233,7 @@ static void drawBarycentricDual(std::vector<T*> &elements)
 // Routines for filling and drawing the vertex arrays
 
 template<class T>
-static void addInArrays(GEntity *e, VertexArray *va, std::vector<T*> &elements)
+static void addElementsInArrays(GEntity *e, VertexArray *va, std::vector<T*> &elements)
 {
   for(unsigned int i = 0; i < elements.size(); i++){
     MElement *ele = elements[i];
@@ -374,7 +374,7 @@ class initMeshGEdge {
     if(CTX.mesh.lines){
       if(e->meshRep->va_lines) delete e->meshRep->va_lines;
       e->meshRep->va_lines = new VertexArray(2, e->lines.size());
-      addInArrays(e, e->meshRep->va_lines, e->lines);
+      addElementsInArrays(e, e->meshRep->va_lines, e->lines);
     }
   }
 };
@@ -489,9 +489,9 @@ class initMeshGFace {
       for(; it != f->meshRep->edges.end(); ++it){
 	for(int i = 0; i < 2; i++){
 	  MVertex *v = it->getVertex(i);
-	  MElement *e = it->getElement();
-	  SVector3 n = e->getFace(0).normal();
-	  int part = e->getPartition();
+	  MElement *ele = it->getElement();
+	  SVector3 n = ele->getFace(0).normal();
+	  int part = ele->getPartition();
 	  if(CTX.mesh.smooth_normals)
 	    f->model()->normals->get(v->x(), v->y(), v->z(), n[0], n[1], n[2]);
 	  f->meshRep->va_lines->add(v->x(), v->y(), v->z(), n[0], n[1], n[2],
@@ -500,14 +500,14 @@ class initMeshGFace {
       }
     }
 
-    if(CTX.mesh.surfaces_faces || (!useEdges && CTX.mesh.surfaces_edges)){
+    if((!useEdges && CTX.mesh.surfaces_edges) || CTX.mesh.surfaces_faces){
       if(f->meshRep->va_triangles) delete f->meshRep->va_triangles;
       f->meshRep->va_triangles = new VertexArray(3, f->triangles.size());
-      addInArrays(f, f->meshRep->va_triangles, f->triangles);
+      addElementsInArrays(f, f->meshRep->va_triangles, f->triangles);
 
       if(f->meshRep->va_quads) delete f->meshRep->va_quads;
       f->meshRep->va_quads = new VertexArray(4, f->quadrangles.size());
-      addInArrays(f, f->meshRep->va_quads, f->quadrangles);
+      addElementsInArrays(f, f->meshRep->va_quads, f->quadrangles);
     }
   }
 };
@@ -679,8 +679,11 @@ void Draw_Mesh()
       if(status >= 1)
 	std::for_each(GMODEL->firstEdge(), GMODEL->lastEdge(), initMeshGEdge());
       if(status >= 2){
-	if(GMODEL->normals) delete GMODEL->normals;
+	if(GMODEL->normals) 
+	  delete GMODEL->normals;
 	GMODEL->normals = new smooth_normals(CTX.mesh.angle_smooth_normals);
+	if(CTX.mesh.smooth_normals)
+	  std::for_each(GMODEL->firstFace(), GMODEL->lastFace(), initSmoothNormalsGFace());
 	std::for_each(GMODEL->firstFace(), GMODEL->lastFace(), initMeshGFace());
       }
       if(status >= 3)
-- 
GitLab