From: eap Date: Fri, 12 Feb 2016 16:16:28 +0000 (+0300) Subject: 23236: EDF 12346 - Problem with Local Size X-Git-Tag: V7_8_0a2~29^2 X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=commitdiff_plain;h=7807a4244d9f114bca7123b743cebe837ffbf7bd;hp=db1bdbcddcfce75757ac8b446feef6d78b2f2a17 23236: EDF 12346 - Problem with Local Size --- diff --git a/src/PluginUtils/GeomSelectionTools.cxx b/src/PluginUtils/GeomSelectionTools.cxx index 03151a640..9faf99ec3 100644 --- a/src/PluginUtils/GeomSelectionTools.cxx +++ b/src/PluginUtils/GeomSelectionTools.cxx @@ -28,17 +28,15 @@ #include #include -#include -#include -#include -#include #include +#include #include +#include +#include -#include -#include -#include #include +#include +#include #include "utilities.h" @@ -237,6 +235,12 @@ TopAbs_ShapeEnum GeomSelectionTools::entryToShapeType(std::string entry){ // MESSAGE("GEOM client is OK and GEOM engine is not null"); S = aClient->GetShape( _geomEngine, aShape ); ShapeType=S.ShapeType(); + if ( ShapeType == TopAbs_COMPOUND ) + { + TopoDS_Iterator it( S ); + if ( it.More() ) + ShapeType = it.Value().ShapeType(); + } } } } @@ -275,7 +279,6 @@ GeomAbs_SurfaceType GeomSelectionTools::getFaceInformation(TopoDS_Shape S) GeomAbs_SurfaceType surf_type=GeomAbs_OtherSurface ; if (!S.IsNull() && S.ShapeType()==TopAbs_FACE){ TopoDS_Face f=TopoDS::Face(S); - Handle(Geom_Surface) surf = BRep_Tool::Surface(f); BRepAdaptor_Surface surf_adap(f); /* Global Information */