From 2ee680b1165039991827ed1c8605836ff976b069 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 2 Jul 2012 13:25:53 +0000 Subject: [PATCH] 0021381: EDF 1984 BLSURFPLUGIN: Sub-mesh with BLSURF Enable IsQuadraticSubMesh() work with compounds --- src/SMESH/SMESH_MesherHelper.cxx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/SMESH/SMESH_MesherHelper.cxx b/src/SMESH/SMESH_MesherHelper.cxx index 7bf4b4d76..8a1682b8e 100644 --- a/src/SMESH/SMESH_MesherHelper.cxx +++ b/src/SMESH/SMESH_MesherHelper.cxx @@ -120,8 +120,15 @@ bool SMESH_MesherHelper::IsQuadraticSubMesh(const TopoDS_Shape& aSh) mySeamShapeIds.clear(); myDegenShapeIds.clear(); TopAbs_ShapeEnum subType( aSh.ShapeType()==TopAbs_FACE ? TopAbs_EDGE : TopAbs_FACE ); + if ( aSh.ShapeType()==TopAbs_COMPOUND ) + { + TopoDS_Iterator subIt( aSh ); + if ( subIt.More() ) + subType = ( subIt.Value().ShapeType()==TopAbs_FACE ) ? TopAbs_EDGE : TopAbs_FACE; + } SMDSAbs_ElementType elemType( subType==TopAbs_FACE ? SMDSAbs_Face : SMDSAbs_Edge ); + int nbOldLinks = myTLinkNodeMap.size(); if ( !myMesh->HasShapeToMesh() ) -- 2.39.2