Salome HOME
0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
authoreap <eap@opencascade.com>
Fri, 17 Sep 2010 05:36:15 +0000 (05:36 +0000)
committereap <eap@opencascade.com>
Fri, 17 Sep 2010 05:36:15 +0000 (05:36 +0000)
-    if ( !subMeshId )
+    if ( !subMeshId && ! _impl->GetMeshDS()->IsGroupOfSubShapes( myLocSubShape ))
       THROW_SALOME_CORBA_EXCEPTION("not sub-shape of the main shape", SALOME::BAD_PARAM);

src/SMESH_I/SMESH_Mesh_i.cxx

index a38a8f9ba3fb3f96fc8dad3cfd6de889fbc3429b..83dd619f53811d17a53e4c6a04929af442c62bac 100644 (file)
@@ -655,8 +655,9 @@ SMESH::SMESH_subMesh_ptr SMESH_Mesh_i::GetSubMesh(GEOM::GEOM_Object_ptr aSubShap
     //Get or Create the SMESH_subMesh object implementation
 
     int subMeshId = _impl->GetMeshDS()->ShapeToIndex( myLocSubShape );
     //Get or Create the SMESH_subMesh object implementation
 
     int subMeshId = _impl->GetMeshDS()->ShapeToIndex( myLocSubShape );
-    if ( !subMeshId )
+    if ( !subMeshId && ! _impl->GetMeshDS()->IsGroupOfSubShapes( myLocSubShape ))
       THROW_SALOME_CORBA_EXCEPTION("not sub-shape of the main shape", SALOME::BAD_PARAM);
       THROW_SALOME_CORBA_EXCEPTION("not sub-shape of the main shape", SALOME::BAD_PARAM);
+
     subMesh = getSubMesh( subMeshId );
 
     // create a new subMesh object servant if there is none for the shape
     subMesh = getSubMesh( subMeshId );
 
     // create a new subMesh object servant if there is none for the shape