X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_ConstraintAngle.h;h=96c2e2181463e1f26a59d9cd139bc5ce92f0dab2;hb=cdbbde4803e9c320204d537d22af4ac7ef024962;hp=71bd346079b87acd2a03851abdc4bd9935787ef4;hpb=75d834b478d59310d80b93a125f064bfa80cc549;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_ConstraintAngle.h b/src/SketchPlugin/SketchPlugin_ConstraintAngle.h index 71bd34607..96c2e2181 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintAngle.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintAngle.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 @@ -21,9 +21,11 @@ #define SketchPlugin_ConstraintAngle_H_ #include "SketchPlugin.h" -#include +#include "SketchPlugin_Sketch.h" #include "SketchPlugin_ConstraintBase.h" +#include + /** \class SketchPlugin_ConstraintAngle * \ingroup Plugins * \brief Feature for creation of a new constraint fix angle between two lines @@ -31,9 +33,10 @@ * This constraint has two attributes: * SketchPlugin_Constraint::ENTITY_A() and SketchPlugin_Constraint::ENTITY_B() */ -class SketchPlugin_ConstraintAngle : public SketchPlugin_ConstraintBase +class SketchPlugin_ConstraintAngle : public SketchPlugin_ConstraintBase, + public ModelAPI_IReentrant { - public: +public: /// Angle constraint kind inline static const std::string& ID() { @@ -101,6 +104,18 @@ class SketchPlugin_ConstraintAngle : public SketchPlugin_ConstraintBase return MY_SELECTED_SECOND_POINT_ID; } +public: + static const int THE_VERSION_0 = 0; + static const int THE_VERSION_1 = 20191210; + + /// Attribute name of the version of Angle feature + inline static const std::string& VERSION_ID() + { + static const std::string MY_VERSION_ID("version"); + return MY_VERSION_ID; + } + +public: /// \brief Creates a new part document if needed SKETCHPLUGIN_EXPORT virtual void execute(); @@ -123,6 +138,10 @@ class SketchPlugin_ConstraintAngle : public SketchPlugin_ConstraintBase /// Returns the AIS preview SKETCHPLUGIN_EXPORT virtual AISObjectPtr getAISObject(AISObjectPtr thePrevious); + /// Apply information of the message to current object. + /// It fills selected point and the first object. + virtual std::string processEvent(const std::shared_ptr& theMessage); + /// \brief Use plugin manager for features creation SketchPlugin_ConstraintAngle(); @@ -142,6 +161,9 @@ protected: /// Update value of ANGLE_VALUE attribute according to the current type void updateAngleValue(); + /// Update parameters of the Angle to meet requirements for the latest version + void updateVersion(); + private: bool myFlyoutUpdate; ///< to avoid cyclic dependencies on automatic updates of flyout point };