Salome HOME
Debugging Translation feature.
[modules/shaper.git] / src / SketchSolver / SketchSolver_ConstraintFixedArcRadius.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:    SketchSolver_ConstraintFixedArcRadiusArcRadius.h
4 // Created: 22 Jan 2016
5 // Author:  Artem ZHIDKOV
6
7 #ifndef SketchSolver_ConstraintFixedArcRadius_H_
8 #define SketchSolver_ConstraintFixedArcRadius_H_
9
10 #include "SketchSolver.h"
11 #include <SketchSolver_ConstraintFixed.h>
12
13 /** \class   SketchSolver_ConstraintFixedArcRadius
14  *  \ingroup Plugins
15  *  \brief   Fix radius of the arc. Temporary constraint. Based on an arc, sharp!
16  */
17 class SketchSolver_ConstraintFixedArcRadius : public SketchSolver_ConstraintFixed
18 {
19 public:
20   /// Creates temporary constraint based on feature
21   SketchSolver_ConstraintFixedArcRadius(FeaturePtr theFeature);
22
23   /// \brief Tries to remove constraint
24   /// \return \c false, if current constraint contains another SketchPlugin constraints
25   /// (like for multiple coincidence)
26   virtual bool remove();
27
28 protected:
29   /// \brief Converts SketchPlugin constraint to a list of SolveSpace constraints
30   virtual void process();
31
32   /// \brief Fix radius of arc
33   /// \param theFeature [in]  feature, converted to solver specific format
34   virtual void fixFeature(EntityWrapperPtr theFeature);
35
36 private:
37   ConstraintWrapperPtr myRadiusConstraint;
38 };
39
40 #endif