-// 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
//
// 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<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef FeaturesPlugin_Rotation_H_
#include <ModelAPI_Feature.h>
-#include <GeomAlgoAPI_Rotation.h>
+class GeomAPI_Trsf;
/// \class FeaturesPlugin_Rotation
/// \ingroup Plugins
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.
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<GeomAPI_Trsf> rotationByAxisAndAngle();
- ///Perform the rotation using a center and two points.
- void performTranslationByThreePoints();
+ /// Calculate the rotation using a center and two points.
+ std::shared_ptr<GeomAPI_Trsf> rotationByThreePoints();
- void loadNamingDS(GeomAlgoAPI_Rotation& theRotaionAlgo,
- std::shared_ptr<ModelAPI_ResultBody> theResultBody,
- std::shared_ptr<GeomAPI_Shape> theBaseShape);
+ /// Perform the transformation
+ void performRotation(const std::shared_ptr<GeomAPI_Trsf>& theTrsf);
};
#endif