From 86f0b5ec0bf1b929201a35804393a23a4686ce2d Mon Sep 17 00:00:00 2001 From: eap Date: Wed, 27 Aug 2014 15:18:30 +0400 Subject: [PATCH] 22483: EDF 2772 SMESH: Define several 3D viscous layer hypotheses on the same Geometry --- src/NETGENPlugin/NETGENPlugin_Mesher.cxx | 4 ++-- src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/NETGENPlugin/NETGENPlugin_Mesher.cxx b/src/NETGENPlugin/NETGENPlugin_Mesher.cxx index ff2cc3f..039c8f6 100644 --- a/src/NETGENPlugin/NETGENPlugin_Mesher.cxx +++ b/src/NETGENPlugin/NETGENPlugin_Mesher.cxx @@ -932,8 +932,8 @@ bool NETGENPlugin_Mesher::FillNgMesh(netgen::OCCGeometry& occgeom, while ( fID < faceNgID ) // geomFace is already in occgeom.fmap, add a copy fID = occgeom.fmap.Add( BRepBuilderAPI_Copy( geomFace, /*copyGeom=*/false )); // Problem with the second order in a quadrangular mesh remains. - // 1) All quadrangles geberated by NETGEN are moved to an inexistent face - // by FillSMesh() (find AddFaceDescriptor) + // 1) All quadrangles generated by NETGEN are moved to an inexistent face + // by FillSMesh() (find "AddFaceDescriptor") // 2) Temporary triangles generated by StdMeshers_QuadToTriaAdaptor // are on faces where quadrangles were. // Due to these 2 points, wrong geom faces are used while conversion to qudratic diff --git a/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx b/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx index 4cbe7be..1515b30 100644 --- a/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx +++ b/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx @@ -173,6 +173,14 @@ bool NETGENPlugin_NETGEN_2D_ONLY::CheckHypothesis (SMESH_Mesh& aMesh, else aStatus = HYP_OK; + if ( aStatus == HYP_OK && _hypParameters && _hypQuadranglePreference ) + { + aStatus = HYP_INCOMPAT_HYPS; + return error(SMESH_Comment("\"") << _hypQuadranglePreference->GetName() + << "\" and \"" << _hypParameters->GetName() + << "\" are incompatible hypotheses"); + } + return ( aStatus == HYP_OK ); }