From 6a883c4b4a9343b9d28febbfa8bb77506602a90f Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 9 Mar 2017 11:08:50 +0300 Subject: [PATCH] IPAL54027: Projection algo is very long on a face with many edges args of StdMeshers_FaceSide::GetFaceWires() changed --- src/NETGENPlugin/NETGENPlugin_Mesher.cxx | 4 ++-- src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/NETGENPlugin/NETGENPlugin_Mesher.cxx b/src/NETGENPlugin/NETGENPlugin_Mesher.cxx index fc8705f..be4aa07 100644 --- a/src/NETGENPlugin/NETGENPlugin_Mesher.cxx +++ b/src/NETGENPlugin/NETGENPlugin_Mesher.cxx @@ -926,7 +926,7 @@ bool NETGENPlugin_Mesher::FillNgMesh(netgen::OCCGeometry& occgeom, // get all nodes from connected const bool isQuad = smDS->IsQuadratic(); - StdMeshers_FaceSide fSide( face, edges, _mesh, isForwad, isQuad ); + StdMeshers_FaceSide fSide( face, edges, _mesh, isForwad, isQuad, &helper ); const vector& points = fSide.GetUVPtStruct(); if ( points.empty() ) return false; // invalid node params? @@ -2789,7 +2789,7 @@ bool NETGENPlugin_Mesher::Compute() helper.SetSubShape( F ); TSideVector wires = StdMeshers_FaceSide::GetFaceWires( F, *_mesh, /*skipMediumNodes=*/true, - error, viscousMesh ); + error, &helper, viscousMesh ); error = AddSegmentsToMesh( *_ngMesh, occgeo, wires, helper, nodeVec ); if ( !error ) error = SMESH_ComputeError::New(); diff --git a/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx b/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx index b3eb49e..5cc5607 100644 --- a/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx +++ b/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx @@ -355,7 +355,7 @@ bool NETGENPlugin_NETGEN_2D_ONLY::Compute(SMESH_Mesh& aMesh, // get all EDGEs of a FACE // ------------------------ TSideVector wires = - StdMeshers_FaceSide::GetFaceWires( F, aMesh, ignoreMediumNodes, faceErr, proxyMesh ); + StdMeshers_FaceSide::GetFaceWires( F, aMesh, ignoreMediumNodes, faceErr, &helper, proxyMesh ); if ( faceErr && !faceErr->IsOK() ) continue; int nbWires = wires.size(); -- 2.39.2