Salome HOME
Revert "Make the copies fixed in multi-rotation, multi-translation (issue #1471)"
[modules/shaper.git] / src / SketchSolver / SketchSolver_IConstraintWrapper.h
index a0dd5261b547bd563a3ef96237e9b75c19715148..12bf834230261837c64ada37ec8be8470e14392d 100644 (file)
@@ -21,6 +21,7 @@ enum SketchSolver_ConstraintType {
   CONSTRAINT_PT_PT_COINCIDENT,
   CONSTRAINT_PT_ON_LINE,
   CONSTRAINT_PT_ON_CIRCLE,
+  CONSTRAINT_MIDDLE_POINT,
   CONSTRAINT_DISTANCE,         // base distance if we don't know the measured objects yet
   CONSTRAINT_PT_PT_DISTANCE,
   CONSTRAINT_PT_LINE_DISTANCE,
@@ -38,7 +39,9 @@ enum SketchSolver_ConstraintType {
   CONSTRAINT_EQUAL_RADIUS,
   CONSTRAINT_TANGENT,         // base tangency if we don't know the measured objects yet
   CONSTRAINT_TANGENT_ARC_LINE,
+  CONSTRAINT_TANGENT_CIRCLE_LINE,
   CONSTRAINT_TANGENT_ARC_ARC,
+  CONSTRAINT_COLLINEAR,
   CONSTRAINT_MULTI_TRANSLATION,
   CONSTRAINT_MULTI_ROTATION
 };
@@ -80,6 +83,13 @@ public:
   const double& value() const
   { return myValue; }
 
+  /// \brief Store a boolean flag for full value using
+  void setIsFullValue(const bool& theFullValue)
+  { myIsFullValue = theFullValue; }
+  /// \brief Return a flag of a full value using
+  const bool& isFullValue() const
+  { return myIsFullValue; }
+
   /// \brief Verify the feature is used in the constraint
   virtual bool isUsed(FeaturePtr theFeature) const = 0;
   /// \brief Verify the attribute is used in the constraint
@@ -96,6 +106,7 @@ protected:
   ConstraintPtr               myBaseConstraint;
   std::list<EntityWrapperPtr> myConstrained;
   double                      myValue;
+  bool                        myIsFullValue;
 };
 
 typedef std::shared_ptr<SketchSolver_IConstraintWrapper> ConstraintWrapperPtr;