Salome HOME
Remove 'override' keyword due to non-supported by old version of GCC
[modules/shaper.git] / src / SketchSolver / SketchSolver_ConstraintMiddle.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:    SketchSolver_ConstraintMiddle.h
4 // Created: 03 March 2016
5 // Author:  Artem ZHIDKOV
6
7 #ifndef SketchSolver_ConstraintMiddle_H_
8 #define SketchSolver_ConstraintMiddle_H_
9
10 #include <SketchSolver_ConstraintCoincidence.h>
11
12 /** \class   SketchSolver_ConstraintMiddle
13  *  \ingroup Plugins
14  *  \brief   Converts middle-point constraint to the constraint applicable for solver
15  */
16 class SketchSolver_ConstraintMiddle : public SketchSolver_ConstraintCoincidence
17 {
18 public:
19   /// Constructor based on SketchPlugin constraint
20   SketchSolver_ConstraintMiddle(ConstraintPtr theConstraint)
21     : SketchSolver_ConstraintCoincidence(theConstraint)
22   {}
23
24   /// \brief Notify this object about the feature is changed somewhere
25   virtual void notify(const FeaturePtr&      theFeature,
26                       PlaneGCSSolver_Update* theUpdater);
27
28 protected:
29   /// \brief Generate list of attributes of constraint in order useful for constraints
30   /// \param[out] theValue      numerical characteristic of constraint (e.g. distance)
31   /// \param[out] theAttributes list of attributes to be filled
32   virtual void getAttributes(EntityWrapperPtr&              theValue,
33                              std::vector<EntityWrapperPtr>& theAttributes);
34
35 private:
36   ConstraintWrapperPtr myMiddle;
37 };
38
39 #endif