Salome HOME
Revert "First phase of SketchSolver refactoring"
[modules/shaper.git] / src / SketchSolver / SketchSolver_ConstraintAngle.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:    SketchSolver_ConstraintAngle.h
4 // Created: 24 August 2015
5 // Author:  Artem ZHIDKOV
6
7 #ifndef SketchSolver_ConstraintAngle_H_
8 #define SketchSolver_ConstraintAngle_H_
9
10 #include <SketchSolver_Constraint.h>
11
12 /** \class   SketchSolver_ConstraintAngle
13  *  \ingroup Plugins
14  *  \brief   Convert Agnle constraint to SolveSpace structure
15  */
16 class SketchSolver_ConstraintAngle : public SketchSolver_Constraint
17 {
18 public:
19   /// Constructor based on SketchPlugin constraint
20   SketchSolver_ConstraintAngle(ConstraintPtr theConstraint) :
21       SketchSolver_Constraint(theConstraint),
22       myAngle(0.0)
23   {}
24
25   virtual int getType() const
26   { return SLVS_C_ANGLE; }
27
28   /// \brief This method is used in derived objects to check consistence of constraint.
29   virtual void adjustConstraint();
30
31 protected:
32   /// \brief Generate list of attributes of constraint in order useful for SolveSpace constraints
33   /// \param[out] theValue      numerical characteristic of constraint (e.g. distance)
34   /// \param[out] theAttributes list of attributes to be filled
35   virtual void getAttributes(double& theValue, std::vector<Slvs_hEntity>& theAttributes);
36
37 private:
38   double myAngle;
39 };
40
41 #endif