From: eap Date: Tue, 9 Mar 2010 13:26:18 +0000 (+0000) Subject: 0020682: EDF 1222 SMESH: 3D mesh from a skin mesh and with volumic cells X-Git-Tag: V5_1_4a1~43 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=57a36ac547155c189a8b8ecc0a7b585008941897;p=modules%2Fsmesh.git 0020682: EDF 1222 SMESH: 3D mesh from a skin mesh and with volumic cells * Fix regression made at redesigning --- diff --git a/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx b/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx index d0441576d..826906151 100644 --- a/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx +++ b/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx @@ -84,7 +84,7 @@ static gp_Pnt FindBestPoint(const gp_Pnt& P1, const gp_Pnt& P2, if( a < (b+c)/2 ) return PC; else { - // find shift along V in order to a became equal to (b+c)/2 + // find shift along V in order a to became equal to (b+c)/2 double shift = sqrt( a*a + (b*b-c*c)*(b*b-c*c)/16/a/a - (b*b+c*c)/2 ); gp_Dir aDir(V); gp_Pnt Pbest = PC.XYZ() + aDir.XYZ() * shift; @@ -649,7 +649,8 @@ bool StdMeshers_QuadToTriaAdaptor::Compute(SMESH_Mesh& aMesh) const SMDS_MeshElement* F = *itF; if(F==face) continue; Handle(TColgp_HSequenceOfPnt) aContour = new TColgp_HSequenceOfPnt; - for ( i = 0; i < 4; ++i ) + int nbN = F->NbNodes() / ( F->IsQuadratic() ? 2 : 1 ); + for ( i = 0; i < nbN; ++i ) aContour->Append( SMESH_MeshEditor::TNodeXYZ( F->GetNode(i) )); gp_Pnt intP; for ( int isRev = 0; isRev < 2; ++isRev )