X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSelector%2FSelector_Algo.h;h=4d960fb2b1f62fd23aeee1db8b3f2d946228bfd4;hb=5a5362530345c00af26fc8226f3066f749dde392;hp=1492c4658a042ad4e04a6dfe60cf413263e8695c;hpb=d4b0a5cb916f4eccf4a0bce02e43a54c7a67cb93;p=modules%2Fshaper.git diff --git a/src/Selector/Selector_Algo.h b/src/Selector/Selector_Algo.h index 1492c4658..4d960fb2b 100644 --- a/src/Selector/Selector_Algo.h +++ b/src/Selector/Selector_Algo.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// Copyright (C) 2014-2022 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -12,10 +12,9 @@ // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or -// email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // #ifndef Selector_Algo_H_ @@ -60,6 +59,8 @@ public: /// Initializes the algorithm SELECTOR_EXPORT Selector_Algo(); + virtual ~Selector_Algo() {} + /// Initializes the selector structure on the label. /// Stores the name data to restore after modification. /// \param theContext whole shape that contains the selected sub-shape @@ -83,14 +84,14 @@ public: /// Restores the selected shape by the topological name string. /// Returns not empty label of the context. - SELECTOR_EXPORT virtual TDF_Label restoreByName(std::string theName, + SELECTOR_EXPORT virtual TDF_Label restoreByName(std::wstring theName, const TopAbs_ShapeEnum theShapeType, Selector_NameGenerator* theNameGenerator) = 0; /// Updates the current shape by the stored topological name SELECTOR_EXPORT virtual bool solve(const TopoDS_Shape& theContext) = 0; /// Returns the naming name of the selection - SELECTOR_EXPORT virtual std::string name(Selector_NameGenerator* theNameGenerator) = 0; + SELECTOR_EXPORT virtual std::wstring name(Selector_NameGenerator* theNameGenerator) = 0; /// Returns the current sub-shape value (null if can not resolve) SELECTOR_EXPORT TopoDS_Shape value(); /// Restores sub-algorithm of a given type by the storage-label @@ -98,7 +99,7 @@ public: /// Restores the selected sub-algorithm by the naming name. /// Returns not empty label of the context. SELECTOR_EXPORT static Selector_Algo* restoreByName( - TDF_Label theLab, TDF_Label theBaseDocLab, std::string theName, + TDF_Label theLab, TDF_Label theBaseDocLab, std::wstring theName, const TopAbs_ShapeEnum theShapeType, const bool theGeomNaming, Selector_NameGenerator* theNameGenerator, TDF_Label& theContextLab); @@ -149,16 +150,29 @@ protected: static const Standard_GUID kSHAPE_TYPE("864b3267-cb9d-4107-bf58-c3ce1775b171"); return kSHAPE_TYPE; } + /// old string identifier of the weak name in modification or intersection types of algorithm + static const std::wstring& oldWeakNameID() + { + static const std::wstring kWEAK_NAME_IDENTIFIER = L"weak_name_"; + return kWEAK_NAME_IDENTIFIER; + } + /// old string identifier of the pure weak name + static const std::wstring& oldPureWeakNameID() + { + static const std::wstring kPURE_WEAK_NAME_IDENTIFIER = L"_weak_name_"; + return kPURE_WEAK_NAME_IDENTIFIER; + } /// string identifier of the weak name in modification or intersection types of algorithm - static const std::string& weakNameID() + static const std::wstring& weakNameID() { - static const std::string kWEAK_NAME_IDENTIFIER = "weak_name_"; + static const std::wstring kWEAK_NAME_IDENTIFIER = std::wstring(L"new_") + oldWeakNameID(); return kWEAK_NAME_IDENTIFIER; } /// string identifier of the pure weak name - static const std::string& pureWeakNameID() + static const std::wstring& pureWeakNameID() { - static const std::string kPURE_WEAK_NAME_IDENTIFIER = "_weak_name_"; + static const std::wstring kPURE_WEAK_NAME_IDENTIFIER = + std::wstring(L"_new") + oldPureWeakNameID(); return kPURE_WEAK_NAME_IDENTIFIER; } /// Stores the type of an algorithm in the data tree (in myLab)