X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_Rotation.h;h=0f196e66a529ca7b2b5e43840863b648b7e63b5c;hb=fc72d43b677baa05ae7fd317346fd8b723b799ed;hp=0c8a24aeee8f54415790f672ec9c414a300b0a8c;hpb=a276c3f6288ffcd67f1dab8323d7e4666a1aded7;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_Rotation.h b/src/FeaturesPlugin/FeaturesPlugin_Rotation.h old mode 100755 new mode 100644 index 0c8a24aee..0f196e66a --- a/src/FeaturesPlugin/FeaturesPlugin_Rotation.h +++ b/src/FeaturesPlugin/FeaturesPlugin_Rotation.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// Copyright (C) 2014-2023 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 FeaturesPlugin_Rotation_H_ @@ -25,7 +24,7 @@ #include -#include +class GeomAPI_Trsf; /// \class FeaturesPlugin_Rotation /// \ingroup Plugins @@ -110,7 +109,7 @@ class FeaturesPlugin_Rotation : public ModelAPI_Feature return MY_KIND; } - /// Creates a new part document if needed. + /// Performs the algorithm and stores results it in the data structure. FEATURESPLUGIN_EXPORT virtual void execute(); /// Request for initialization of data model of the feature: adding all attributes. @@ -120,11 +119,14 @@ class FeaturesPlugin_Rotation : public ModelAPI_Feature FeaturesPlugin_Rotation(); private: - ///Perform the rotation using an axis and an angle. - void performTranslationByAxisAndAngle(); + /// Calculate the rotation using an axis and an angle. + std::shared_ptr rotationByAxisAndAngle(); - ///Perform the rotation using a center and two points. - void performTranslationByThreePoints(); + /// Calculate the rotation using a center and two points. + std::shared_ptr rotationByThreePoints(); + + /// Perform the transformation + void performRotation(const std::shared_ptr& theTrsf); }; #endif