Salome HOME
Minor changes
[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 (like for multiple coincidence)
25   virtual bool remove();
26
27 protected:
28   /// \brief Converts SketchPlugin constraint to a list of SolveSpace constraints
29   virtual void process();
30
31   /// \brief Fix radius of arc
32   /// \param theFeature [in]  feature, converted to solver specific format
33   virtual void fixFeature(EntityWrapperPtr theFeature);
34
35 private:
36   ConstraintWrapperPtr myRadiusConstraint;
37 };
38
39 #endif