X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_QuadrangleParams.cxx;h=d3b5935d619c99f1b7a80cf6c71a06712f129414;hp=708b9a2fabdf3777285dd0baf4f0da7d7afa350a;hb=cb55604f37e3d2583272fd436bb6557b041948b5;hpb=6bac08c1a81f34d3f21c550bd92f83654b2546a5 diff --git a/src/StdMeshers/StdMeshers_QuadrangleParams.cxx b/src/StdMeshers/StdMeshers_QuadrangleParams.cxx index 708b9a2fa..d3b5935d6 100644 --- a/src/StdMeshers/StdMeshers_QuadrangleParams.cxx +++ b/src/StdMeshers/StdMeshers_QuadrangleParams.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -42,9 +42,9 @@ using namespace std; * */ //============================================================================= -StdMeshers_QuadrangleParams::StdMeshers_QuadrangleParams(int hypId, int studyId, +StdMeshers_QuadrangleParams::StdMeshers_QuadrangleParams(int hypId, SMESH_Gen * gen) - : SMESH_Hypothesis(hypId, studyId, gen) + : SMESH_Hypothesis(hypId, gen) { _name = "QuadrangleParams"; _param_algo_dim = 2; @@ -142,6 +142,10 @@ ostream & StdMeshers_QuadrangleParams::SaveTo(ostream & save) << " " << _enforcedPoints[i].Y() << " " << _enforcedPoints[i].Z(); + save << " " << _cornerVertices.size(); + for ( size_t i = 0; i < _cornerVertices.size(); ++i ) + save << " " << _cornerVertices[i]; + return save; } @@ -153,16 +157,16 @@ ostream & StdMeshers_QuadrangleParams::SaveTo(ostream & save) istream & StdMeshers_QuadrangleParams::LoadFrom(istream & load) { bool isOK = true; - isOK = (load >> _triaVertexID); + isOK = static_cast(load >> _triaVertexID); if (!isOK) load.clear(ios::badbit | load.rdstate()); - isOK = (load >> _objEntry); + isOK = static_cast(load >> _objEntry); if (!isOK) load.clear(ios::badbit | load.rdstate()); int type; - isOK = (load >> type); + isOK = static_cast(load >> type); if (isOK) _quadType = StdMeshers_QuadType(type); @@ -182,6 +186,17 @@ istream & StdMeshers_QuadrangleParams::LoadFrom(istream & load) else break; } + + if ( load >> nbP && nbP > 0 ) + { + int id; + _cornerVertices.reserve( nbP ); + while ( _cornerVertices.size() < _cornerVertices.capacity() ) + if ( load >> id ) + _cornerVertices.push_back( id ); + else + break; + } return load; } @@ -208,7 +223,7 @@ bool StdMeshers_QuadrangleParams::SetParametersByMesh(const SMESH_Mesh* theMesh, * \retval bool - true if parameter values have been successfully defined */ //================================================================================ -bool StdMeshers_QuadrangleParams::SetParametersByDefaults(const TDefaults& dflts, +bool StdMeshers_QuadrangleParams::SetParametersByDefaults(const TDefaults& /*dflts*/, const SMESH_Mesh* /*mesh*/) { return true;