X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_MEFISTO_2D.cxx;h=dfe03f7eb04066fbe0dad015836731e996710a4c;hp=e7daf5ace19e9eee80a158662c1f1274be05cd0a;hb=6d32f944a0a115b6419184c50b57bf7c4eef5786;hpb=7a65c9fad427b1ccba6b9ccae612296e5092a324 diff --git a/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx b/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx index e7daf5ace..dfe03f7eb 100644 --- a/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx +++ b/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -20,7 +20,7 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// SMESH SMESH : implementaion of SMESH idl descriptions +// SMESH SMESH : implementation of SMESH idl descriptions // File : StdMeshers_MEFISTO_2D.cxx // Moved here from SMESH_MEFISTO_2D.cxx // Author : Paul RASCLE, EDF @@ -31,6 +31,7 @@ #include "SMDS_EdgePosition.hxx" #include "SMDS_MeshElement.hxx" #include "SMDS_MeshNode.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Comment.hxx" #include "SMESH_Gen.hxx" #include "SMESH_Mesh.hxx" @@ -78,10 +79,9 @@ using namespace std; */ //============================================================================= -StdMeshers_MEFISTO_2D::StdMeshers_MEFISTO_2D(int hypId, int studyId, SMESH_Gen * gen): - SMESH_2D_Algo(hypId, studyId, gen) +StdMeshers_MEFISTO_2D::StdMeshers_MEFISTO_2D(int hypId, SMESH_Gen * gen): + SMESH_2D_Algo(hypId, gen) { - MESSAGE("StdMeshers_MEFISTO_2D::StdMeshers_MEFISTO_2D"); _name = "MEFISTO_2D"; _shapeType = (1 << TopAbs_FACE); _compatibleHypothesis.push_back("MaxElementArea"); @@ -103,7 +103,6 @@ StdMeshers_MEFISTO_2D::StdMeshers_MEFISTO_2D(int hypId, int studyId, SMESH_Gen * StdMeshers_MEFISTO_2D::~StdMeshers_MEFISTO_2D() { - MESSAGE("StdMeshers_MEFISTO_2D::~StdMeshers_MEFISTO_2D"); } //============================================================================= @@ -188,8 +187,6 @@ bool StdMeshers_MEFISTO_2D::CheckHypothesis bool StdMeshers_MEFISTO_2D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape) { - MESSAGE("StdMeshers_MEFISTO_2D::Compute"); - TopoDS_Face F = TopoDS::Face(aShape.Oriented(TopAbs_FORWARD)); // helper builds quadratic mesh if necessary @@ -206,7 +203,7 @@ bool StdMeshers_MEFISTO_2D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh // get all edges of a face TError problem; TWireVector wires = - StdMeshers_FaceSide::GetFaceWires( F, aMesh, skipMediumNodes, problem, proxyMesh ); + StdMeshers_FaceSide::GetFaceWires( F, aMesh, skipMediumNodes, problem, _helper, proxyMesh ); int nbWires = wires.size(); if ( problem && !problem->IsOK() ) return error( problem ); if ( nbWires == 0 ) return error( "Problem in StdMeshers_FaceSide::GetFaceWires()"); @@ -283,8 +280,6 @@ bool StdMeshers_MEFISTO_2D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh if (ierr == 0) { - MESSAGE("... End Triangulation Generated Triangle Number " << nbt); - MESSAGE(" Node Number " << nbst); StoreResult(nbst, uvst, nbt, nust, mefistoToDS, scalex, scaley); isOk = true; } @@ -312,8 +307,6 @@ bool StdMeshers_MEFISTO_2D::Evaluate(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape, MapShapeNbElems& aResMap) { - MESSAGE("StdMeshers_MEFISTO_2D::Evaluate"); - TopoDS_Face F = TopoDS::Face(aShape.Oriented(TopAbs_FORWARD)); double aLen = 0.0; @@ -523,8 +516,7 @@ static bool fixCommonVertexUV (R2 & theUV, // check if node is medium if ( theCreateQuadratic && SMESH_MesherHelper::IsMedium( node, SMDSAbs_Edge )) continue; - const SMDS_EdgePosition* epos = - static_cast(node->GetPosition()); + SMDS_EdgePositionPtr epos = node->GetPosition(); double u = epos->GetUParameter(); if ( u < umin ) umin = u; @@ -542,10 +534,10 @@ static bool fixCommonVertexUV (R2 & theUV, } R2 uv0, uv1, uv2; uv0.x = thisUV.X(); uv0.y = thisUV.Y(); - uv1.x = nextUV.X(); uv1.y = nextUV.Y(); + uv1.x = nextUV.X(); uv1.y = nextUV.Y(); uv2.x = thisUV.X(); uv2.y = thisUV.Y(); - uv1.x *= theScaleX; uv1.y *= theScaleY; + uv1.x *= theScaleX; uv1.y *= theScaleY; if ( fixOverlappedLinkUV( uv0, uv1, uv2 )) { @@ -831,7 +823,7 @@ void StdMeshers_MEFISTO_2D::StoreResult(Z nbst, R2 * uvst, Z nbt, Z * nust, bool isDegen = ( _helper->HasDegeneratedEdges() && ( nn[0] == nn[1] || nn[1] == nn[2] || nn[2] == nn[0] )); - // It was an attemp to fix a problem of a zero area face whose all nodes + // It was an attempt to fix a problem of a zero area face whose all nodes // are on one staight EDGE. But omitting this face makes a hole in the mesh :( // if ( !isDegen && allNodesAreOld ) // isDegen = isDegenTria( nn );