X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_SelectionNaming.h;h=f97e284fd47fc5a495d1fa7a40a633c3aaa46b5b;hb=176403004ff97696f3c0b5f8bdf48692177fb34a;hp=1ecf4ad42828f2bef21875b565f31bbc50bd9870;hpb=98e21a8e5e9de9c658c11c19fac5c4c7060396c5;p=modules%2Fshaper.git diff --git a/src/Model/Model_SelectionNaming.h b/src/Model/Model_SelectionNaming.h index 1ecf4ad42..f97e284fd 100644 --- a/src/Model/Model_SelectionNaming.h +++ b/src/Model/Model_SelectionNaming.h @@ -12,6 +12,9 @@ #include #include #include +#include +#include +#include /**\class Model_SelectionNaming * \ingroup DataModel @@ -27,7 +30,7 @@ public: /// Produces the string-name for the selected shape std::string namingName(ResultPtr& theContext, std::shared_ptr theSubSh, - const std::string& theDefaultName); + const std::string& theDefaultName, const bool theAnotherDoc); /// Makes a selection by the string-name /// \param theType string of the type of the shape @@ -39,9 +42,33 @@ public: std::shared_ptr theDoc, std::shared_ptr& theShapeToBeSelected, std::shared_ptr& theCont); + /// Searches the face more appropriate to the given curves + /// (with higher level of matched parameters) + /// \param theConstr construction result that contains one or several faces + /// \param theCurves map from the face edges curves to orientation + /// (-1 reversed, 0 unknown, 1 forward) + /// \param theIsWire for wire algorithm isquite the same, + /// but if in face several wires, it returns the needed wire + /// \returns faces fron this construction if found + static std::shared_ptr findAppropriateFace( + std::shared_ptr& theConstr, + NCollection_DataMap& theCurves, const bool theIsWire); + + /// Returns orientation of the edge in the context shape + static int edgeOrientation(const TopoDS_Shape& theContext, TopoDS_Edge& theEdge); + + /// Returns the name of sketch sub-element, shortened by exclusion of some symbols and with added + /// the vertex position (if needed) + /// \param theConstr result with name - basis for the name + /// \param theEdgeVertexPos position of the vertex on edge: 1 - first , 2 - second + /// \returns the generated name + static std::string shortName(std::shared_ptr& theConstr, + const int theEdgeVertexPos = 0); + protected: /// Gets the stored name from the document - std::string getShapeName(std::shared_ptr theDoc, const TopoDS_Shape& theShape); + std::string getShapeName(std::shared_ptr theDoc, const TopoDS_Shape& theShape, + ResultPtr& theContext, const bool theAnotherDoc, const bool theWholeContext); }; #endif