-// Copyright (C) 2014-2019 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
#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();
+
+ /// Perform the transformation
+ void performRotation(const std::shared_ptr<GeomAPI_Trsf>& theTrsf);
};
#endif