X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAlgoAPI%2FGeomAlgoAPI_SketchBuilder.h;h=a4da606b137a52c7dbdd99e3df8af420d288efa4;hb=1b9dd3633d644c358424227423b330e9551be38f;hp=22eafe77ef05252485c8b63d52b0f5d6c8f68cbd;hpb=8dc74f82810d5f597b78633b457efb0ef4f89f9f;p=modules%2Fshaper.git diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_SketchBuilder.h b/src/GeomAlgoAPI/GeomAlgoAPI_SketchBuilder.h index 22eafe77e..a4da606b1 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_SketchBuilder.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_SketchBuilder.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: GeomAlgoAPI_SketchBuilder.h // Created: 02 Jun 2014 // Author: Artem ZHIDKOV @@ -7,7 +9,7 @@ #include -#include +#include #include #include @@ -34,19 +36,36 @@ class GEOMALGOAPI_EXPORT GeomAlgoAPI_SketchBuilder * It finds the vertex with minimal coordinates along X axis (theDirX) and then * goes through the edges passing the surrounding area on the left. */ - static void createFaces(const boost::shared_ptr& theOrigin, - const boost::shared_ptr& theDirX, - const boost::shared_ptr& theDirY, - const boost::shared_ptr& theNorm, - const std::list >& theFeatures, - std::list >& theResultFaces, - std::list >& theResultWires); + static void createFaces(const std::shared_ptr& theOrigin, + const std::shared_ptr& theDirX, + const std::shared_ptr& theNorm, + const std::list >& theFeatures, + std::list >& theResultFaces, + std::list >& theResultWires); + + /** \brief Creates list of faces and unclosed wires on basis of the features of the sketch + * \param[in] theOrigin origin point of the sketch + * \param[in] theDirX x-direction of the sketch + * \param[in] theDirY y-direction of the sketch + * \param[in] theNorm normal of the sketch + * \param[in] theWire a wire which contains all edges + * \param[out] theResultFaces faces based on closed wires + * + * The algorithm searches all loops of edges surrounding lesser squares. + * It finds the vertex with minimal coordinates along X axis (theDirX) and then + * goes through the edges passing the surrounding area on the left. + */ + static void createFaces(const std::shared_ptr& theOrigin, + const std::shared_ptr& theDirX, + const std::shared_ptr& theNorm, + const std::shared_ptr& theWire, + std::list >& theResultFaces); /** \brief Searches intersections between the faces in the list * and make holes in the faces to avoid intersections * \param[in,out] theFaces list of faces to proccess */ - static void fixIntersections(std::list >& theFaces); + static void fixIntersections(std::list >& theFaces); }; #endif