1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: GeomAlgoAPI_SketchBuilder.h
4 // Created: 02 Jun 2014
5 // Author: Artem ZHIDKOV
7 #ifndef GeomAlgoAPI_SketchBuilder_H_
8 #define GeomAlgoAPI_SketchBuilder_H_
10 #include <GeomAlgoAPI.h>
15 #include <GeomAPI_Dir.h>
16 #include <GeomAPI_Pnt.h>
17 #include <GeomAPI_Shape.h>
19 /** \class GeomAlgoAPI_SketchBuilder
21 * \brief Creates planar faces based on the list of Sketch features
23 class GEOMALGOAPI_EXPORT GeomAlgoAPI_SketchBuilder
26 /** \brief Creates list of faces based on the features of the sketch
27 * \param[in] theOrigin origin point of the sketch
28 * \param[in] theDirX x-direction of the sketch
29 * \param[in] theNorm normal of the sketch
30 * \param[in] theFeatures initial features of the sketch
31 * \param[out] theResultFaces faces based on closed wires
33 * The algorithm searches all loops of edges surrounding lesser areas.
35 static void createFaces(const std::shared_ptr<GeomAPI_Pnt>& theOrigin,
36 const std::shared_ptr<GeomAPI_Dir>& theDirX,
37 const std::shared_ptr<GeomAPI_Dir>& theNorm,
38 const std::list<std::shared_ptr<GeomAPI_Shape> >& theFeatures,
39 std::list<std::shared_ptr<GeomAPI_Shape> >& theResultFaces);
41 /** \brief Creates list of faces and unclosed wires on basis of the features of the sketch
42 * \param[in] theOrigin origin point of the sketch
43 * \param[in] theDirX x-direction of the sketch
44 * \param[in] theNorm normal of the sketch
45 * \param[in] theWire a wire which contains all edges
46 * \param[out] theResultFaces faces based on closed wires
48 * The algorithm searches all loops of edges surrounding lesser areas.
50 static void createFaces(const std::shared_ptr<GeomAPI_Pnt>& theOrigin,
51 const std::shared_ptr<GeomAPI_Dir>& theDirX,
52 const std::shared_ptr<GeomAPI_Dir>& theNorm,
53 const std::shared_ptr<GeomAPI_Shape>& theWire,
54 std::list<std::shared_ptr<GeomAPI_Shape> >& theResultFaces);