-// Copyright (C) 2014-2017 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023 CEA, EDF
//
// 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 SketchPlugin_MacroArc_H_
return ID;
}
+ inline static const std::string& ARC_TYPE_BY_TRANSVERSAL_LINE()
+ {
+ static const std::string ID("by_transversal_line");
+ return ID;
+ }
+
/// Central 2D point of the circle which contains the arc
inline static const std::string& CENTER_POINT_ID()
{
return ID;
}
+ /// End 2D point of the arc
+ inline static const std::string& END_POINT_4_ID()
+ {
+ static const std::string ID = "end_point_4";
+ return ID;
+ }
+
inline static const std::string& END_POINT_REF_ID()
{
static const std::string ID = "end_point_ref";
return ID;
}
+ static const std::string& TRANSVERSAL_POINT_ID()
+ {
+ static const std::string ID("transversal_point");
+ return ID;
+ }
+
/// Reversed flag
inline static const std::string& REVERSED_ID()
{
/// Creates an arc-shape
SKETCHPLUGIN_EXPORT virtual void execute();
- /// Moves the feature
- /// \param theDeltaX the delta for X coordinate is moved
- /// \param theDeltaY the delta for Y coordinate is moved
- SKETCHPLUGIN_EXPORT virtual void move(const double theDeltaX, const double theDeltaY)
- {
- };
-
/// Reimplemented from ModelAPI_Feature::isMacro().
SKETCHPLUGIN_EXPORT virtual bool isMacro() const {return true;};
void fillByCenterAndTwoPassed();
/// Set fields for center, start and end points by selected passed points
void fillByThreePassedPoints();
- /// Set fields for center, start and end points by selected tangent edge
- void fillByTangentEdge();
+ /// Set fields for center, start and end points by selected tangent or transversal edge
+ /// \param theTransversal if \c true, builds transversal arc, otherwise builds tangential arc.
+ void fillByEdge(bool theTransversal);
FeaturePtr createArcFeature();