From 57a36ac547155c189a8b8ecc0a7b585008941897 Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 9 Mar 2010 13:26:18 +0000 Subject: [PATCH] 0020682: EDF 1222 SMESH: 3D mesh from a skin mesh and with volumic cells * Fix regression made at redesigning --- src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 ) -- 2.39.2