diff --git a/Common/Visibility.cpp b/Common/Visibility.cpp index 1fd3ad5d5a86a2b26f72fec5014ff8aa7a008697..06dfc214f1e4a1dcb398ff387e0567f81ec51bb5 100644 --- a/Common/Visibility.cpp +++ b/Common/Visibility.cpp @@ -1,4 +1,4 @@ -// $Id: Visibility.cpp,v 1.12 2006-01-06 00:34:21 geuzaine Exp $ +// $Id: Visibility.cpp,v 1.13 2006-08-11 18:48:39 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -19,6 +19,18 @@ // // Please report all bugs and problems to <gmsh@geuz.org>. +/* +std::vector<int> GModel::getMeshPartitions() +{ + std::vector<int> part; + std::set<int>::const_iterator it = meshPartitions.begin(); + std::set<int>::const_iterator ite = meshPartitions.end(); + for(; it != ite; ++it) part.push_back(*it); + std::sort(part.begin(), part.end()); + return part; +} +*/ + #include "Gmsh.h" #include "Geo.h" #include "CAD.h" diff --git a/Geo/GEdge.cpp b/Geo/GEdge.cpp index 4e4df8703e6a7c7e15f342251c7d0463e488a256..0ed3301e4e476f846230a81669cc049b3055f784 100644 --- a/Geo/GEdge.cpp +++ b/Geo/GEdge.cpp @@ -1,6 +1,7 @@ +#include <algorithm> +#include "GModel.h" #include "GEdge.h" #include "GmshDefines.h" -#include <algorithm> void GEdge::addFace(GFace *e) { @@ -37,3 +38,10 @@ GEdge::~GEdge() lines.clear(); } +void GEdge::recomputeMeshPartitions() +{ + for(unsigned int i = 0; i < lines.size(); i++) { + int part = lines[i]->getPartition(); + if(part) model()->getMeshPartitions().insert(part); + } +} diff --git a/Geo/GEdge.h b/Geo/GEdge.h index 8e242869ddd746865c105fde3df94c29111cbec0..1a51ae5eadd840033bec8cb21e7655b02ab84295 100644 --- a/Geo/GEdge.h +++ b/Geo/GEdge.h @@ -31,7 +31,7 @@ class GEdge : public GEntity { virtual double parFromPoint(const SPoint3 &) const = 0; // Get the point for the given parameter location. - virtual GPoint point(double p) const = 0; + virtual GPoint point(double p) const = 0; // Get the closest point on the edge to the given point. virtual GPoint closestPoint(const SPoint3 & queryPoint) =0; @@ -43,7 +43,10 @@ class GEdge : public GEntity { virtual SVector3 firstDer(double par) const = 0; // reparmaterize the point onto the given face. - virtual SPoint2 reparamOnFace(GFace *face, double epar,int dir) const = 0; + virtual SPoint2 reparamOnFace(GFace *face, double epar,int dir) const = 0; + + // recompute the mesh partitions defined on this edge. + void recomputeMeshPartitions(); void addFace(GFace *f); void delFace(GFace *f); diff --git a/Geo/GFace.cpp b/Geo/GFace.cpp index 1073024d7e4818a91ddb8214c5cc9077a233e323..01a587318333a3f012a55603ae3f58a5c8dc492e 100644 --- a/Geo/GFace.cpp +++ b/Geo/GFace.cpp @@ -1,3 +1,4 @@ +#include "GModel.h" #include "GFace.h" #include "GEdge.h" @@ -38,3 +39,15 @@ std::list<GVertex*> GFace::vertices() const } return ret; } + +void GFace::recomputeMeshPartitions() +{ + for(unsigned int i = 0; i < triangles.size(); i++) { + int part = triangles[i]->getPartition(); + if(part) model()->getMeshPartitions().insert(part); + } + for(unsigned int i = 0; i < quadrangles.size(); i++) { + int part = quadrangles[i]->getPartition(); + if(part) model()->getMeshPartitions().insert(part); + } +} diff --git a/Geo/GFace.h b/Geo/GFace.h index 4de029734b9b48c3280ae930420ba8ab7f52c80e..943b7c25c16529585de0bee26c5fafdd3d9f7b1e 100644 --- a/Geo/GFace.h +++ b/Geo/GFace.h @@ -27,20 +27,19 @@ class GFace : public GEntity GRegion *r1, *r2; public: - GFace(GModel *model, int tag) : GEntity(model,tag), r1(0), r2(0) {} + GFace(GModel *model, int tag) : GEntity(model, tag), r1(0), r2(0) {} virtual ~GFace(); - void addRegion(GRegion *r){ r1?r2=r:r1=r; } - void delRegion(GRegion *r){ if(r1==r)r1=r2;r2=0; } + void addRegion(GRegion *r){ r1 ? r2 = r : r1 = r; } + void delRegion(GRegion *r){ if(r1 == r) r1 = r2; r2=0; } - /// edge orientations. + // edge orientations. virtual std::list<int> orientations() const{return l_dirs;} - /// Edges that bound this entity or that this entity bounds. + // Edges that bound this entity or that this entity bounds. virtual std::list<GEdge*> edges() const{return l_edges;} - /// Edges that bound this entity or that this entity bounds. + // Edges that bound this entity or that this entity bounds. virtual std::list<GVertex*> vertices() const; - virtual int dim() const {return 2;} // Get the location of any parametric degeneracies on the face in @@ -74,6 +73,9 @@ class GFace : public GEntity // to worry about that. virtual bool surfPeriodic(int dim) const = 0; + // recompute the mesh partitions defined on this face. + void recomputeMeshPartitions(); + std::vector<MTriangle*> triangles; std::vector<MQuadrangle*> quadrangles; mean_plane mp; diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index 3cdc661650130e67c09d53993bc38209197fa3c3..12cb1140e9a3c99ee2e6138b26dfea562abcc330 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -1,18 +1,5 @@ #include "GModel.h" -int GModel::meshStatus() -{ - for(riter it = firstRegion(); it != lastRegion(); ++it) - if((*it)->mesh_vertices.size()) return 3; - for(fiter it = firstFace(); it != lastFace(); ++it) - if((*it)->mesh_vertices.size()) return 2; - for(eiter it = firstEdge(); it != lastEdge(); ++it) - if((*it)->mesh_vertices.size()) return 1; - for(viter it = firstVertex(); it != lastVertex(); ++it) - if((*it)->mesh_vertices.size()) return 0; - return -1; -} - GRegion * GModel::regionByTag(int n) const { GEntity tmp((GModel*)this, n); @@ -71,7 +58,7 @@ int GModel::renumberMeshVertices() return numVertices; } -bool GModel::noPhysicals() +bool GModel::noPhysicalGroups() { for(viter it = firstVertex(); it != lastVertex(); ++it) if((*it)->physicals.size()) return false; @@ -110,14 +97,30 @@ SBoundingBox3d GModel::recomputeBounds() SBoundingBox3d bb; for(viter it = firstVertex(); it != lastVertex(); ++it) bb += (*it)->bounds(); - /* + boundingBox = bb; + return boundingBox; +} + +int GModel::getMeshStatus() +{ + for(riter it = firstRegion(); it != lastRegion(); ++it) + if((*it)->mesh_vertices.size()) return 3; + for(fiter it = firstFace(); it != lastFace(); ++it) + if((*it)->mesh_vertices.size()) return 2; for(eiter it = firstEdge(); it != lastEdge(); ++it) - bb += (*it)->bounds(); + if((*it)->mesh_vertices.size()) return 1; + for(viter it = firstVertex(); it != lastVertex(); ++it) + if((*it)->mesh_vertices.size()) return 0; + return -1; +} + +std::set<int> &GModel::recomputeMeshPartitions() +{ + for(eiter it = firstEdge(); it != lastEdge(); ++it) + (*it)->recomputeMeshPartitions(); for(fiter it = firstFace(); it != lastFace(); ++it) - bb += (*it)->bounds(); + (*it)->recomputeMeshPartitions(); for(riter it = firstRegion(); it != lastRegion(); ++it) - bb += (*it)->bounds(); - */ - boundingBox = bb; - return bounds(); + (*it)->recomputeMeshPartitions(); + return meshPartitions; } diff --git a/Geo/GModel.h b/Geo/GModel.h index f83d092cbc9efba21fa40e8004fbdf13ac377734..9639e0a757a6be7b6dacf7f1ebb83dbd2e354a63 100644 --- a/Geo/GModel.h +++ b/Geo/GModel.h @@ -21,6 +21,7 @@ class GModel std::set<GEdge*, GEntityLessThan> edges; std::set<GVertex*, GEntityLessThan> vertices; SBoundingBox3d boundingBox; + std::set<int> meshPartitions; public: GModel(const std::string &name) : modelName(name) {} @@ -34,9 +35,6 @@ class GModel // Returns the geometric tolerance for the entire model. virtual double tolerance() const { return 1.e-14; } - // Returns the mesh status for the entire model. - virtual int meshStatus(); - // Get the number of regions in this model. int numRegion() const { return regions.size(); } int numFace() const { return faces.size(); } @@ -73,15 +71,22 @@ class GModel int renumberMeshVertices(); // Checks if there are no physical entities in the model - bool noPhysicals(); + bool noPhysicalGroups(); // Returns all physical groups (one map per dimension: 0-D to 3-D) void getPhysicalGroups(std::map<int, std::vector<GEntity*> > groups[4]); // The bounding box - virtual SBoundingBox3d bounds() { return boundingBox; } + virtual SBoundingBox3d getBounds() { return boundingBox; } virtual SBoundingBox3d recomputeBounds(); + // Returns the mesh status for the entire model. + virtual int getMeshStatus(); + + // The list of partitions + virtual std::set<int> &getMeshPartitions() { return meshPartitions; } + virtual std::set<int> &recomputeMeshPartitions(); + // IO routines int readMSH(const std::string &name); int writeMSH(const std::string &name, double version=1.0, bool saveAll=false, diff --git a/Geo/GModelIO.cpp b/Geo/GModelIO.cpp index 4419a2f4a6a549a7ddd48824cb98c835892d8d00..2bb27d328c7867ffdda95b04c647a2911ca1c44c 100644 --- a/Geo/GModelIO.cpp +++ b/Geo/GModelIO.cpp @@ -214,7 +214,7 @@ int GModel::readMSH(const std::string &name) int progress = (numElements > 100000) ? numElements / 50 : numElements / 10; for(int i = 0; i < numElements; i++) { - int num, type, physical = 1, elementary = 1, partition = 1, numVertices; + int num, type, physical = 0, elementary = 0, partition = 0, numVertices; if(version <= 1.0){ fscanf(fp, "%d %d %d %d %d", &num, &type, &physical, &elementary, &numVertices); int check = getNumVerticesForElementTypeMSH(type); @@ -300,9 +300,13 @@ int GModel::readMSH(const std::string &name) break; } - if(!physicals[dim].count(elementary) || !physicals[dim][elementary].count(physical)) - physicals[dim][elementary][physical] = "unnamed"; - + if(physical){ + if(!physicals[dim].count(elementary) || !physicals[dim][elementary].count(physical)) + physicals[dim][elementary][physical] = "unnamed"; + } + + if(partition) meshPartitions.insert(partition); + if(progress && (i % progress == progress - 1)) Msg(PROGRESS, "Read %d elements", i + 1); } @@ -381,7 +385,7 @@ int GModel::writeMSH(const std::string &name, double version, bool saveAll, } // if there are no physicals we save all the elements - if(noPhysicals()) saveAll = true; + if(noPhysicalGroups()) saveAll = true; // get the number of vertices and renumber the vertices in a // continuous sequence diff --git a/Geo/GRegion.cpp b/Geo/GRegion.cpp index 34430467e6aebf5288f9f8295826f53e6b796d4c..8bac8f2b477b621ea6df1a91a4b6650f578665ea 100644 --- a/Geo/GRegion.cpp +++ b/Geo/GRegion.cpp @@ -1,3 +1,4 @@ +#include "GModel.h" #include "GRegion.h" #include "GFace.h" @@ -30,3 +31,23 @@ GRegion::~GRegion () delete pyramids[i]; pyramids.clear(); } + +void GRegion::recomputeMeshPartitions() +{ + for(unsigned int i = 0; i < tetrahedra.size(); i++) { + int part = tetrahedra[i]->getPartition(); + if(part) model()->getMeshPartitions().insert(part); + } + for(unsigned int i = 0; i < hexahedra.size(); i++) { + int part = hexahedra[i]->getPartition(); + if(part) model()->getMeshPartitions().insert(part); + } + for(unsigned int i = 0; i < prisms.size(); i++) { + int part = prisms[i]->getPartition(); + if(part) model()->getMeshPartitions().insert(part); + } + for(unsigned int i = 0; i < pyramids.size(); i++) { + int part = pyramids[i]->getPartition(); + if(part) model()->getMeshPartitions().insert(part); + } +} diff --git a/Geo/GRegion.h b/Geo/GRegion.h index 5e616f888572e032042ca18208118d7915ea83af..fcc0576a97418497525345a21e053332c463d5cc 100644 --- a/Geo/GRegion.h +++ b/Geo/GRegion.h @@ -14,6 +14,10 @@ class GRegion : public GEntity { virtual ~GRegion(); virtual int dim() const {return 3;} virtual GeomType geomType() const {return Volume;} + + // recompute the mesh partitions defined on this region. + void recomputeMeshPartitions(); + std::vector<MTetrahedron*> tetrahedra; std::vector<MHexahedron*> hexahedra; std::vector<MPrism*> prisms; diff --git a/Geo/MElement.h b/Geo/MElement.h index 6adf9dafcab354959f2afe74b8f9a673c75cba15..918be313009cb7dbd8733d9841b0faf2f4d58002 100644 --- a/Geo/MElement.h +++ b/Geo/MElement.h @@ -78,7 +78,13 @@ class MElement // get a face representation for drawing virtual int getNumFacesRep(){ return getNumFaces(); } - virtual void getFaceRep(int num, MVertex *v[4]){ getFace(num, v); } + virtual void getFaceRep(int num, MVertex *v[4], double n[3]=0) + { + getFace(num, v); + if(n) normal3points(v[0]->x(), v[0]->y(), v[0]->y(), + v[1]->x(), v[1]->y(), v[1]->y(), + v[2]->x(), v[2]->y(), v[2]->y(), n); + } // get the max/min edge length virtual double maxEdge(); @@ -221,7 +227,7 @@ class MTriangle2 : public MTriangle { v[1] = i1 < 3? _v[i1] : _vs[i1 - 3]; } int getNumFacesRep(){ return 4; } - void getFaceRep(int num, MVertex *v[4]) + void getFaceRep(int num, MVertex *v[4], double n[3]=0) { static int trifaces_tri2[4][3] = { {0, 3, 5}, @@ -236,6 +242,9 @@ class MTriangle2 : public MTriangle { v[1] = i1 < 3? _v[i1] : _vs[i1 - 3]; v[2] = i2 < 3? _v[i2] : _vs[i2 - 3]; v[3] = 0; + if(n) normal3points(v[0]->x(), v[0]->y(), v[0]->y(), + v[1]->x(), v[1]->y(), v[1]->y(), + v[2]->x(), v[2]->y(), v[2]->y(), n); } int getTypeForMSH(){ return TRI2; } char *getStringForPOS(){ return "ST2"; } diff --git a/Graphics/Draw.cpp b/Graphics/Draw.cpp index cca779a7223736d76682a4e1cbef608d607574dc..52782bc300f595bb42a3ef8862b37a1081a66b2b 100644 --- a/Graphics/Draw.cpp +++ b/Graphics/Draw.cpp @@ -1,4 +1,4 @@ -// $Id: Draw.cpp,v 1.100 2006-08-08 04:35:23 geuzaine Exp $ +// $Id: Draw.cpp,v 1.101 2006-08-11 18:48:39 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -35,10 +35,10 @@ extern GModel *GMODEL; int NeedPolygonOffset() { - if(GMODEL->meshStatus() == 2 && + if(GMODEL->getMeshStatus() == 2 && (CTX.mesh.surfaces_edges || CTX.geom.lines || CTX.geom.surfaces)) return 1; - if(GMODEL->meshStatus() == 3 && + if(GMODEL->getMeshStatus() == 3 && (CTX.mesh.surfaces_edges || CTX.mesh.volumes_edges)) return 1; for(int i = 0; i < List_Nbr(CTX.post.list); i++){ diff --git a/Graphics/gl2ps.cpp b/Graphics/gl2ps.cpp index 30eeb6009f162a8b7b00e7a5c64912b02855894e..89fa20ddcaf4e686135e1468386a9bee5e435ccc 100644 --- a/Graphics/gl2ps.cpp +++ b/Graphics/gl2ps.cpp @@ -1,4 +1,4 @@ -/* $Id: gl2ps.cpp,v 1.108 2006-08-04 14:28:02 geuzaine Exp $ */ +/* $Id: gl2ps.cpp,v 1.109 2006-08-11 18:48:39 geuzaine Exp $ */ /* * GL2PS, an OpenGL to PostScript Printing Library * Copyright (C) 1999-2006 Christophe Geuzaine <geuz@geuz.org> @@ -662,7 +662,7 @@ static void gl2psListEncodeBase64(GL2PSlist *list) len = 0; for(i = 0; i < 3; i++) { if(index < n){ - in[i] = buffer[index]; + in[i] = buffer[index]; len++; } else{ @@ -2663,8 +2663,8 @@ static void gl2psPrintPostScriptHeader(void) "%%%%DocumentData: Clean7Bit\n" "%%%%Pages: 1\n", gl2ps->title, GL2PS_MAJOR_VERSION, GL2PS_MINOR_VERSION, - GL2PS_PATCH_VERSION, GL2PS_EXTRA_VERSION, GL2PS_COPYRIGHT, - gl2ps->producer, ctime(&now)); + GL2PS_PATCH_VERSION, GL2PS_EXTRA_VERSION, GL2PS_COPYRIGHT, + gl2ps->producer, ctime(&now)); if(gl2ps->format == GL2PS_PS){ gl2psPrintf("%%%%Orientation: %s\n" @@ -2741,7 +2741,7 @@ static void gl2psPrintPostScriptHeader(void) "/STRR{ gsave FCT moveto rotate SW neg SH neg rmoveto show grestore } BD\n"); gl2psPrintf("/P { newpath 0.0 360.0 arc closepath fill } BD\n" - "/LS { moveto } BD\n" + "/LS { newpath moveto } BD\n" "/L { lineto } BD\n" "/LE { lineto stroke } BD\n" "/T { newpath moveto lineto lineto closepath fill } BD\n"); @@ -3125,7 +3125,7 @@ static void gl2psPrintPostScriptBeginViewport(GLint viewport[4]) gl2psPrintf("gsave\n" "1.0 1.0 scale\n"); - + if(gl2ps->options & GL2PS_DRAW_BACKGROUND){ if(gl2ps->colormode == GL_RGBA || gl2ps->colorsize == 0){ glGetFloatv(GL_COLOR_CLEAR_VALUE, rgba); @@ -3143,10 +3143,11 @@ static void gl2psPrintPostScriptBeginViewport(GLint viewport[4]) rgba[0], rgba[1], rgba[2], x, y, x+w, y, x+w, y+h, x, y+h); } - + gl2psPrintf("newpath %d %d moveto %d %d lineto %d %d lineto %d %d lineto\n" "closepath clip\n", x, y, x+w, y, x+w, y+h, x, y+h); + } static GLint gl2psPrintPostScriptEndViewport(void) @@ -3217,13 +3218,13 @@ static void gl2psPrintTeXHeader(void) time(&now); fprintf(gl2ps->stream, - "%% Title: %s\n" - "%% Creator: GL2PS %d.%d.%d%s, %s\n" - "%% For: %s\n" - "%% CreationDate: %s", - gl2ps->title, GL2PS_MAJOR_VERSION, GL2PS_MINOR_VERSION, - GL2PS_PATCH_VERSION, GL2PS_EXTRA_VERSION, GL2PS_COPYRIGHT, - gl2ps->producer, ctime(&now)); + "%% Title: %s\n" + "%% Creator: GL2PS %d.%d.%d%s, %s\n" + "%% For: %s\n" + "%% CreationDate: %s", + gl2ps->title, GL2PS_MAJOR_VERSION, GL2PS_MINOR_VERSION, + GL2PS_PATCH_VERSION, GL2PS_EXTRA_VERSION, GL2PS_COPYRIGHT, + gl2ps->producer, ctime(&now)); fprintf(gl2ps->stream, "\\setlength{\\unitlength}{1pt}\n" @@ -5199,13 +5200,13 @@ static void gl2psPrintPGFHeader(void) time(&now); fprintf(gl2ps->stream, - "%% Title: %s\n" - "%% Creator: GL2PS %d.%d.%d%s, %s\n" - "%% For: %s\n" - "%% CreationDate: %s", - gl2ps->title, GL2PS_MAJOR_VERSION, GL2PS_MINOR_VERSION, - GL2PS_PATCH_VERSION, GL2PS_EXTRA_VERSION, GL2PS_COPYRIGHT, - gl2ps->producer, ctime(&now)); + "%% Title: %s\n" + "%% Creator: GL2PS %d.%d.%d%s, %s\n" + "%% For: %s\n" + "%% CreationDate: %s", + gl2ps->title, GL2PS_MAJOR_VERSION, GL2PS_MINOR_VERSION, + GL2PS_PATCH_VERSION, GL2PS_EXTRA_VERSION, GL2PS_COPYRIGHT, + gl2ps->producer, ctime(&now)); fprintf(gl2ps->stream, "\\begin{pgfpicture}\n"); if(gl2ps->options & GL2PS_DRAW_BACKGROUND){ diff --git a/Graphics/gl2ps.h b/Graphics/gl2ps.h index 349c7d402401a08fb2bf87a9569e4b4c645421f3..a449ddf9142b664085d41bca9e7440393f41e739 100644 --- a/Graphics/gl2ps.h +++ b/Graphics/gl2ps.h @@ -1,4 +1,4 @@ -/* $Id: gl2ps.h,v 1.67 2006-08-04 14:28:02 geuzaine Exp $ */ +/* $Id: gl2ps.h,v 1.68 2006-08-11 18:48:39 geuzaine Exp $ */ /* * GL2PS, an OpenGL to PostScript Printing Library * Copyright (C) 1999-2006 Christophe Geuzaine <geuz@geuz.org> @@ -78,7 +78,7 @@ #define GL2PS_MAJOR_VERSION 1 #define GL2PS_MINOR_VERSION 3 -#define GL2PS_PATCH_VERSION 0 +#define GL2PS_PATCH_VERSION 1 #define GL2PS_EXTRA_VERSION "-cvs" #define GL2PS_VERSION (GL2PS_MAJOR_VERSION + \ diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index 218dc6ed8bbea5112fb4483980832d5fc75234f6..ec971fbf7319e85a64499fc78b8bb48d1cca543c 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -1,4 +1,4 @@ -// $Id: Generator.cpp,v 1.90 2006-08-08 10:37:11 geuzaine Exp $ +// $Id: Generator.cpp,v 1.91 2006-08-11 18:48:39 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -482,7 +482,7 @@ void mai3d(int ask) return; } - int old = GMODEL->meshStatus(); + int old = GMODEL->getMeshStatus(); // Re-read data if((ask > old && ask >= 0 && old < 0) || (ask < old)) @@ -497,7 +497,7 @@ void mai3d(int ask) // 1D mesh if((ask > old && ask > 0 && old < 1) || (ask < old && ask > 0)) { Msg(STATUS1, "Mesh 1D..."); - if(GMODEL->meshStatus() > 1){ + if(GMODEL->getMeshStatus() > 1){ OpenProblem(CTX.filename); } Maillage_Dimension_1(); @@ -507,7 +507,7 @@ void mai3d(int ask) // 2D mesh if((ask > old && ask > 1 && old < 2) || (ask < old && ask > 1)) { Msg(STATUS1, "Mesh 2D..."); - if(GMODEL->meshStatus() > 2) { + if(GMODEL->getMeshStatus() > 2) { OpenProblem(CTX.filename); Maillage_Dimension_1(); } @@ -523,15 +523,15 @@ void mai3d(int ask) } // Optimize quality - if(GMODEL->meshStatus() == 3 && CTX.mesh.optimize) + if(GMODEL->getMeshStatus() == 3 && CTX.mesh.optimize) Optimize_Netgen(); // Create second order elements - if(GMODEL->meshStatus() && CTX.mesh.order == 2) - Degre2(GMODEL->meshStatus()); + if(GMODEL->getMeshStatus() && CTX.mesh.order == 2) + Degre2(GMODEL->getMeshStatus()); // Partition - if(GMODEL->meshStatus() > 1 && CTX.mesh.nbPartitions != 1) + if(GMODEL->getMeshStatus() > 1 && CTX.mesh.nbPartitions != 1) PartitionMesh(THEM, CTX.mesh.nbPartitions); CTX.threads_lock = 0; diff --git a/Parser/OpenFile.cpp b/Parser/OpenFile.cpp index 6b0784a9b1d3f2d234b422cd3d6cd0f9a0f9c16b..3ba6d242260ca73a445a38c160cb40b3f6c7d462 100644 --- a/Parser/OpenFile.cpp +++ b/Parser/OpenFile.cpp @@ -1,4 +1,4 @@ -// $Id: OpenFile.cpp,v 1.104 2006-08-08 01:10:05 geuzaine Exp $ +// $Id: OpenFile.cpp,v 1.105 2006-08-11 18:48:39 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -144,7 +144,7 @@ void SetBoundingBox(void) SBoundingBox3d bb; if(GMODEL) - bb = GMODEL->bounds(); + bb = GMODEL->getBounds(); if(bb.empty() && GMODEL) bb = GMODEL->recomputeBounds();