diff --git a/Geo/MVertex.cpp b/Geo/MVertex.cpp index 0269e59a53f5f28f85072cdec648f61b95113d79..50214ebd5fec65033000adfdc4e8bb55083f57f2 100644 --- a/Geo/MVertex.cpp +++ b/Geo/MVertex.cpp @@ -31,9 +31,13 @@ void MVertex::writeMSH(FILE *fp, bool binary, bool saveParametric, double scalin if(_index < 0) return; // negative index vertices are never saved int myDim = 0, myTag = 0; - if(saveParametric && onWhat()){ - myDim = onWhat()->dim(); - myTag = onWhat()->tag(); + if(saveParametric){ + if(onWhat()){ + myDim = onWhat()->dim(); + myTag = onWhat()->tag(); + } + else + saveParametric = false; } if(!binary){ diff --git a/Geo/MVertex.h b/Geo/MVertex.h index ab4cf5fa8e543f09701d819af60c8d82b5805aee..29bd41142ed4cd62491da82f3a13a3ed0348173f 100644 --- a/Geo/MVertex.h +++ b/Geo/MVertex.h @@ -91,7 +91,7 @@ class MVertex{ inline void setIndex(int index) { _index = index; } // get/set ith parameter - virtual bool getParameter(int i, double &par) const{ return false; } + virtual bool getParameter(int i, double &par) const { par = 0.; return false; } virtual bool setParameter(int i, double par){ return false; } // measure distance to another vertex @@ -123,21 +123,14 @@ class MEdgeVertex : public MVertex{ protected: double _u, _lc; public : - MEdgeVertex(double x, double y, double z, GEntity *ge, double u, double lc = -1.0, int num = 0) + MEdgeVertex(double x, double y, double z, GEntity *ge, double u, double lc = -1.0, + int num = 0) : MVertex(x, y, z, ge,num), _u(u), _lc(lc) { } virtual ~MEdgeVertex(){} - virtual bool getParameter(int i, double &par) const - { - par = _u; - return true; - } - virtual bool setParameter(int i, double par) - { - _u = par; - return true; - } + virtual bool getParameter(int i, double &par) const { par = _u; return true; } + virtual bool setParameter(int i, double par){ _u = par; return true; } double getLc() const { return _lc; } }; @@ -145,16 +138,12 @@ class MFaceVertex : public MVertex{ protected: double _u, _v; public : - MFaceVertex(double x, double y, double z, GEntity *ge, double u, double v, int num =0) + MFaceVertex(double x, double y, double z, GEntity *ge, double u, double v, int num = 0) : MVertex(x, y, z, ge, num), _u(u), _v(v) { } virtual ~MFaceVertex(){} - virtual bool getParameter(int i, double &par) const - { - par = (i ? _v : _u); - return true; - } + virtual bool getParameter(int i, double &par) const { par = (i ? _v : _u); return true; } virtual bool setParameter(int i, double par) { if(!i)