X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_MacroEllipse.h;h=261ed67dfc9db26c1a099688a322c174e71894d4;hb=3803f064ab0c38ba6ae084921fd555a50310bcdb;hp=8d374df5c8dbc59c5f057052fac8b2a194ccfc8e;hpb=c4eab94a20a0d93100549a210582d46409fec1cc;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_MacroEllipse.h b/src/SketchPlugin/SketchPlugin_MacroEllipse.h index 8d374df5c..261ed67df 100644 --- a/src/SketchPlugin/SketchPlugin_MacroEllipse.h +++ b/src/SketchPlugin/SketchPlugin_MacroEllipse.h @@ -1,4 +1,4 @@ -// Copyright (C) 2017-2019 CEA/DEN, EDF R&D +// Copyright (C) 2017-2020 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 @@ -17,10 +17,6 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// File: SketchPlugin_MacroEllipse.h -// Created: 26 April 2017 -// Author: Artem ZHIDKOV - #ifndef SketchPlugin_MacroEllipse_H_ #define SketchPlugin_MacroEllipse_H_ @@ -29,7 +25,6 @@ #include #include -////class GeomAPI_Circ2d; class GeomAPI_Pnt2d; /**\class SketchPlugin_MacroEllipse @@ -48,35 +43,58 @@ class SketchPlugin_MacroEllipse: public SketchPlugin_SketchEntity, return ID; } - /// 2D point - center of the ellipse. + static const std::string& ELLIPSE_TYPE() + { + static const std::string ID("ellipse_type"); + return ID; + } + + static const std::string& ELLIPSE_TYPE_BY_CENTER_AXIS_POINT() + { + static const std::string ID("by_center_axis_point"); + return ID; + } + static const std::string& ELLIPSE_TYPE_BY_AXIS_AND_POINT() + { + static const std::string ID("by_major_axis_and_point"); + return ID; + } + + static const std::string& EDIT_ELLIPSE_TYPE() + { + static const std::string ID("edit_ellipse_type"); + return ID; + } + + /// Attribute for the first point selected during ellipse creation. inline static const std::string& CENTER_POINT_ID() { - static const std::string ID("center_point"); + static const std::string ID("first_point"); return ID; } - /// Reference for center point selection. + /// Reference to the first selected point. inline static const std::string& CENTER_POINT_REF_ID() { - static const std::string ID("center_point_ref"); + static const std::string ID("first_point_ref"); return ID; } - /// 2D point - major axis point of the ellipse. + /// Attribute for the second point selected during ellipse creation. inline static const std::string& MAJOR_AXIS_POINT_ID() { - static const std::string ID("major_axis_point"); + static const std::string ID("second_point"); return ID; } - /// Reference for major axis point selection. + /// Reference to the second selected point. inline static const std::string& MAJOR_AXIS_POINT_REF_ID() { - static const std::string ID("major_axis_point_ref"); + static const std::string ID("second_point_ref"); return ID; } - /// 2D point - passed point of the ellipse + /// Attribute for the third point selected during ellipse creation. inline static const std::string& PASSED_POINT_ID() { static const std::string ID("passed_point"); @@ -90,17 +108,59 @@ class SketchPlugin_MacroEllipse: public SketchPlugin_SketchEntity, return ID; } + /// Attribute for the first point selected during ellipse creation. + inline static const std::string& MAJOR_AXIS_START_ID() + { + static const std::string ID("first_point_1"); + return ID; + } + + /// Reference to the first selected point. + inline static const std::string& MAJOR_AXIS_START_REF_ID() + { + static const std::string ID("first_point_ref_1"); + return ID; + } + + /// Attribute for the second point selected during ellipse creation. + inline static const std::string& MAJOR_AXIS_END_ID() + { + static const std::string ID("second_point_1"); + return ID; + } + + /// Reference to the second selected point. + inline static const std::string& MAJOR_AXIS_END_REF_ID() + { + static const std::string ID("second_point_ref_1"); + return ID; + } + + /// Attribute for the third point selected during ellipse creation. + inline static const std::string& PASSED_POINT_1_ID() + { + static const std::string ID("passed_point_1"); + return ID; + } + + /// Reference for passed point selection. + inline static const std::string& PASSED_POINT_1_REF_ID() + { + static const std::string ID("passed_point_ref_1"); + return ID; + } + /// Major radius of the ellipse inline static const std::string& MAJOR_RADIUS_ID() { - static const std::string ID("ellipse_major_radius"); + static const std::string ID("major_radius"); return ID; } /// Minor radius of the ellipse inline static const std::string& MINOR_RADIUS_ID() { - static const std::string ID("ellipse_minor_radius"); + static const std::string ID("minor_radius"); return ID; } @@ -139,7 +199,8 @@ class SketchPlugin_MacroEllipse: public SketchPlugin_SketchEntity, SketchPlugin_MacroEllipse(); private: - void constraintsForEllipse(FeaturePtr theEllipseFeature); + void constraintsForEllipseByCenterAxisAndPassed(FeaturePtr theEllipseFeature); + void constraintsForEllipseByMajoxAxisAndPassed(FeaturePtr theEllipseFeature); FeaturePtr createEllipseFeature();