X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAlgoAPI%2FGeomAlgoAPI_Tools.h;h=c5713f3ab9c51a99d7edbeb29cc83ef7b7127691;hb=77ce6d35ac8d2f0fdaecb4f23e0870bf74e36103;hp=fa950240e7d860c02ee59c790963706c5e46bd83;hpb=773696804ec4f543a421f1ebd71be86d95cb581b;p=modules%2Fshaper.git diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_Tools.h b/src/GeomAlgoAPI/GeomAlgoAPI_Tools.h index fa950240e..c5713f3ab 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_Tools.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_Tools.h @@ -1,18 +1,45 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D - -// File: GeomAlgoAPI_Tools.h -// Created: May 18, 2015 -// Author: Sergey POKHODENKO +// Copyright (C) 2014-2024 CEA, EDF +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// 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 +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// #ifndef GEOMALGOAPI_TOOLS_H_ #define GEOMALGOAPI_TOOLS_H_ #include +#include #include +class GeomAlgoAPI_MakeShape; + namespace GeomAlgoAPI_Tools { +/// Type of booelan operation +enum BOPType { + BOOL_CUT, ///< Cut objects + BOOL_FUSE, ///< Fuse objects + BOOL_COMMON, ///< Take common part of objects + BOOL_PARTITION ///< Parition operation +}; +/** \class Localizer + * \ingroup DataAlgo + * \brief Localizer tool. + */ class Localizer { public: @@ -22,6 +49,10 @@ private: std::string myCurLocale; }; +/** \class File_Tools + * \ingroup DataAlgo + * \brief File tool. + */ class File_Tools { public: /** @@ -32,6 +63,28 @@ public: * Returns a name of theFileName */ GEOMALGOAPI_EXPORT static std::string name(const std::string& theFileName); + /** + * Returns a directory path of theFileName + */ + GEOMALGOAPI_EXPORT static std::string path(const std::string& theFileName); +}; + +/** \class AlgoError + * \ingroup DataAlgo + * \brief Verify error in MakeShape algorithm. + */ +class AlgoError { +public: + /** \brief Verify MakeShape algorithm for failures + * \param[in] theAlgorithm object to verify the failure + * \param[in] theFeature kind of the feature, the algorithm belongs to + * \param[out] theError error string (empty if the feature succeed) + * \return \c true if succeed + */ + GEOMALGOAPI_EXPORT static bool isAlgorithmFailed( + const std::shared_ptr& theAlgorithm, + const std::string& theFeature, + std::string& theError); }; } // GeomAlgoAPI_Tools