1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
3 // File: SketchPlugin_Constraint.h
4 // Created: 08 May 2014
5 // Author: Artem ZHIDKOV
7 #ifndef SketchPlugin_Constraint_H_
8 #define SketchPlugin_Constraint_H_
10 #include <SketchPlugin_Feature.h>
14 /// Size of the list of constraint attributes
15 const unsigned int CONSTRAINT_ATTR_SIZE = 4;
17 /** \class SketchPlugin_Constraint
18 * \brief Abstract interface to the SketchPlugin_ConstraintBase
19 * For more info see: SketchPlugin_ConstraintBase.h
21 class SketchPlugin_Constraint : public SketchPlugin_Feature
24 /// The value parameter for the constraint
25 inline static const std::string& VALUE()
27 static const std::string MY_CONSTRAINT_VALUE("ConstraintValue");
28 return MY_CONSTRAINT_VALUE;
30 /// The 2D value parameter for the constraint
31 inline static const std::string& FLYOUT_VALUE_PNT()
33 static const std::string MY_FLYOUT_VALUE_PNT("ConstraintFlyoutValuePnt");
34 return MY_FLYOUT_VALUE_PNT;
36 /// First entity for the constraint
37 inline static const std::string& ENTITY_A()
39 static const std::string MY_ENTITY_A("ConstraintEntityA");
42 /// Second entity for the constraint
43 inline static const std::string& ENTITY_B()
45 static const std::string MY_ENTITY_B("ConstraintEntityB");
48 /// Third entity for the constraint
49 inline static const std::string& ENTITY_C()
51 static const std::string MY_ENTITY_C("ConstraintEntityC");
54 /// Fourth entity for the constraint
55 inline static const std::string& ENTITY_D()
57 static const std::string MY_ENTITY_D("ConstraintEntityD");
61 /// List of constraint attributes
62 inline static const std::string& ATTRIBUTE(const int theNumber)
76 static const std::string EMPTY_STRING("");
81 /// \brief Use plugin manager for features creation
82 SketchPlugin_Constraint();
85 typedef std::shared_ptr<SketchPlugin_Constraint> ConstraintPtr;