]> SALOME platform Git repositories - modules/shaper.git/blob - src/SketchSolver/SketchSolver_ConstraintTangent.h
Salome HOME
Sketcher: Remove obsolete interfaces. Code cleanup.
[modules/shaper.git] / src / SketchSolver / SketchSolver_ConstraintTangent.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:    SketchSolver_ConstraintTangent.h
4 // Created: 1 Apr 2015
5 // Author:  Artem ZHIDKOV
6
7 #ifndef SketchSolver_ConstraintTangent_H_
8 #define SketchSolver_ConstraintTangent_H_
9
10 #include <SketchSolver_Constraint.h>
11
12 /** \class   SketchSolver_ConstraintTangent
13  *  \ingroup Plugins
14  *  \brief   Convert tangency constraint to SolveSpace structure
15  */
16 class SketchSolver_ConstraintTangent : public SketchSolver_Constraint
17 {
18 public:
19   /// Constructor based on SketchPlugin constraint
20   SketchSolver_ConstraintTangent(ConstraintPtr theConstraint) :
21       SketchSolver_Constraint(theConstraint),
22       isArcArcInternal(false)
23   {}
24
25 protected:
26   /// \brief Generate list of attributes of constraint in order useful for constraints
27   /// \param[out] theValue      numerical characteristic of constraint (e.g. distance)
28   /// \param[out] theAttributes list of attributes to be filled
29   virtual void getAttributes(EntityWrapperPtr&              theValue,
30                              std::vector<EntityWrapperPtr>& theAttributes);
31
32   /// \brief This method is used in derived objects to check consistency of constraint.
33   ///        E.g. the distance between line and point may be signed.
34   virtual void adjustConstraint();
35
36 private:
37   bool isArcArcInternal;
38 };
39
40 #endif