X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FGeomAlgoAPI%2FGeomAlgoAPI_MakeShape.cpp;h=dad018f0cee8d427301db1e382540b5df2e37a49;hb=87f348fe7ec3805441bd5524536736eeb2e87501;hp=fa9e808bfb7e8188d6240cd0289c1c0f4fdf75a3;hpb=90e534c7a251b71b6e9ada7b84f05747d421a556;p=modules%2Fshaper.git diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.cpp b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.cpp index fa9e808bf..dad018f0c 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.cpp +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.cpp @@ -157,6 +157,11 @@ void GeomAlgoAPI_MakeShape::setShape(const std::shared_ptr theSha } const TopoDS_Shape& aTopoDSShape = myShape->impl(); + for(TopExp_Explorer anExp(aTopoDSShape,TopAbs_VERTEX); anExp.More(); anExp.Next()) { + std::shared_ptr aCurrentShape(new GeomAPI_Shape()); + aCurrentShape->setImpl(new TopoDS_Shape(anExp.Current())); + myMap->bind(aCurrentShape, aCurrentShape); + } for(TopExp_Explorer anExp(aTopoDSShape,TopAbs_EDGE); anExp.More(); anExp.Next()) { std::shared_ptr aCurrentShape(new GeomAPI_Shape()); aCurrentShape->setImpl(new TopoDS_Shape(anExp.Current())); @@ -233,12 +238,13 @@ bool GeomAlgoAPI_MakeShape::checkValid(std::string theMessage){ for(TopExp_Explorer anExp(aTopoDSShape,TopAbs_SOLID); anExp.More(); anExp.Next()) { aNbVolumes ++; } - + if (aNbVolumes != 1) { - myError = theMessage + " :: connexity error, the resulting shape is made of several separate solids."; + myError = theMessage + + " :: connexity error, the resulting shape is made of several separate solids."; return false; } - + return true ; } - +