diff --git a/Geo/GModelIO_Mesh.cpp b/Geo/GModelIO_Mesh.cpp index af27314835f27437dda6cde9b4db281d37b167a2..046a6e3bb8eebece2f91f91939005f5aae38a29d 100644 --- a/Geo/GModelIO_Mesh.cpp +++ b/Geo/GModelIO_Mesh.cpp @@ -169,7 +169,7 @@ int GModel::readMSH(const std::string &name) vertexMap.clear(); int minVertex = numVertices + 1, maxVertex = -1; for(int i = 0; i < numVertices; i++) { - int num, iClasDim, iClasTag; + int num; double xyz[3], uv[2]; MVertex *newVertex = 0; if (!parametric){ @@ -186,6 +186,7 @@ int GModel::readMSH(const std::string &name) newVertex = new MVertex(xyz[0], xyz[1], xyz[2], 0, num); } else{ + int iClasDim, iClasTag; if(!binary){ if (fscanf(fp, "%d %lf %lf %lf %d %d", &num, &xyz[0], &xyz[1], &xyz[2], &iClasDim, &iClasTag) != 6) @@ -330,7 +331,7 @@ int GModel::readMSH(const std::string &name) } createElementMSH(this, num, type, physical, elementary, partition, vertices, elements, physicals); - if(numElements > 100000) + if(numElements > 100000) Msg::ProgressMeter(numElementsPartial + i + 1, numElements, "Reading elements"); } diff --git a/Geo/MVertex.cpp b/Geo/MVertex.cpp index 57eb825f3d62c14d60553e090f02feedf326ab11..02ece717c664cdcc340d6175698758e7244a15f9 100644 --- a/Geo/MVertex.cpp +++ b/Geo/MVertex.cpp @@ -357,14 +357,15 @@ bool reparamMeshVertexOnEdge(const MVertex *v, const GEdge *ge, double ¶m) { param = 1.e6; Range<double> bounds = ge->parBounds(0); + bool ok = true; if(ge->getBeginVertex() && ge->getBeginVertex()->mesh_vertices[0] == v) param = bounds.low(); else if(ge->getEndVertex() && ge->getEndVertex()->mesh_vertices[0] == v) param = bounds.high(); else - v->getParameter(0, param); + ok = v->getParameter(0, param); - if(param == 1.e6) + if(!ok || param == 1.e6) param = ge->parFromPoint(SPoint3(v->x(), v->y(), v->z())); if(param < 1.e6) return true; diff --git a/doc/TODO.txt b/doc/TODO.txt index 4da9d902917d7d70bece79956fc2b59aa809e0fa..d46d1dbe9ff0717c214d967df3ef9b49a662ddee 100644 --- a/doc/TODO.txt +++ b/doc/TODO.txt @@ -1,4 +1,13 @@ -$Id: TODO.txt,v 1.16 2009-01-18 18:51:48 geuzaine Exp $ +$Id: TODO.txt,v 1.17 2009-02-05 06:47:19 geuzaine Exp $ + +******************************************************************** + +LMGC & co: allow arbitrary glyphs to represent data (like our 3D +arrows). Glyph can be loaded as a mesh or a geometry; create vertex +array or display list for each; select glyph in Point/Vector/Tensor +display dialog. define number of values to transform glyph (quaternion ++ scale{x,y,z}?). Definition: Glyph = drawable rigid object with a +single associated scalar/vector or tensor value. ********************************************************************