X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_MacroArc.h;h=5e9680817b9858db54f46b5ca19a28a920357f87;hb=eed8986352c64d13fe05eed6c42c36902ddddf52;hp=815cd7002fce88c7d4f6f47a28a48734396b6983;hpb=c4eab94a20a0d93100549a210582d46409fec1cc;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_MacroArc.h b/src/SketchPlugin/SketchPlugin_MacroArc.h index 815cd7002..5e9680817 100644 --- a/src/SketchPlugin/SketchPlugin_MacroArc.h +++ b/src/SketchPlugin/SketchPlugin_MacroArc.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// Copyright (C) 2014-2021 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 @@ -72,6 +72,12 @@ class SketchPlugin_MacroArc: public SketchPlugin_SketchEntity, 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() { @@ -126,6 +132,13 @@ class SketchPlugin_MacroArc: public SketchPlugin_SketchEntity, 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"; @@ -151,6 +164,12 @@ class SketchPlugin_MacroArc: public SketchPlugin_SketchEntity, 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() { @@ -220,8 +239,9 @@ private: 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();