Improve the returned plane vector

This commit is contained in:
eap 2017-10-03 19:42:46 +03:00
parent 0e73b458b6
commit 869b4c84f2

View File

@ -13231,13 +13231,17 @@ void SMESH_MeshEditor::MakePolyLine( TListOfPolySegments& theSegments,
if ( polySeg.myMidProjPoint.Distance( pMid ) < Precision::Confusion() )
{
SMESH_MeshAlgos::FaceNormal( face, const_cast< gp_XYZ& >( polySeg.myVector.XYZ() ));
polySeg.myMidProjPoint = pMid + polySeg.myVector.XYZ();
polySeg.myMidProjPoint = pMid + polySeg.myVector.XYZ() * ( p1 - p2 ).Modulus() * 0.333;
}
else
{
polySeg.myVector = polySeg.myMidProjPoint.XYZ() - pMid;
}
}
else
{
polySeg.myVector = plnNorm ^ ( p1 - p2 );
}
}
// assure that inverse elements are constructed, avoid their concurrent building in threads