Salome HOME
Sort constraints before adding it to the solver (issue #911)
[modules/shaper.git] / src / SketchSolver / SketchSolver_Error.h
index 0ef01476ea599d295237eae951417b9c2c01d783..0ae33d3c60abb8c4d4ccf2f4131d273e5a43534f 100644 (file)
@@ -23,6 +23,12 @@ class SketchSolver_Error
     static const std::string MY_ERROR_VALUE("Conflicting constraints");
     return MY_ERROR_VALUE;
   }
+  /// Constraints should use objects instead of features as attributes
+  inline static const std::string& NEED_OBJECT_NOT_FEATURE()
+  {
+    static const std::string MY_ERROR_VALUE("Constraint should be based on object instead of feature");
+    return MY_ERROR_VALUE;
+  }
   /// The entities need to have shared point, but they have not
   inline static const std::string& NO_COINCIDENT_POINTS()
   {
@@ -35,6 +41,36 @@ class SketchSolver_Error
     static const std::string MY_ERROR_VALUE("Attribute is not initialized");
     return MY_ERROR_VALUE;
   }
+  /// Constraint has wrong attributes
+  inline static const std::string& INCORRECT_ATTRIBUTE()
+  {
+    static const std::string MY_ERROR_VALUE("Incorrect attribute");
+    return MY_ERROR_VALUE;
+  }
+  /// Tangency constraint has wrong attributes
+  inline static const std::string& INCORRECT_TANGENCY_ATTRIBUTE()
+  {
+    static const std::string MY_ERROR_VALUE("An arc should be an attribute of tangency constraint");
+    return MY_ERROR_VALUE;
+  }
+  /// Mirror constraint has wrong attributes
+  inline static const std::string& INCORRECT_MIRROR_ATTRIBUTE()
+  {
+    static const std::string MY_ERROR_VALUE("Mirror constraint has wrong attributes");
+    return MY_ERROR_VALUE;
+  }
+  /// Entity is already fixed
+  inline static const std::string& ALREADY_FIXED()
+  {
+    static const std::string MY_ERROR_VALUE("Entity already fixed");
+    return MY_ERROR_VALUE;
+  }
+  /// Crash in SolveSpace
+  inline static const std::string& SOLVESPACE_CRASH()
+  {
+    static const std::string MY_ERROR_VALUE("Caution: SolveSpace crash! Constraints are wrong");
+    return MY_ERROR_VALUE;
+  }
 };
 
 #endif