]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Incorrect attribute when create arc (issue #1355)
authorazv <azv@opencascade.com>
Thu, 3 Mar 2016 09:02:24 +0000 (12:02 +0300)
committerazv <azv@opencascade.com>
Thu, 3 Mar 2016 09:05:14 +0000 (12:05 +0300)
Update arguments verification in tangency constraint.

src/SketchSolver/SketchSolver_ConstraintTangent.cpp
src/SketchSolver/SketchSolver_Error.h

index 0bd02bf0b5d2b7b77254ff7f514888bdcd851dd3..299ed53fa94356949d8cf004d6be036f5f7f79f8 100644 (file)
@@ -85,9 +85,9 @@ void SketchSolver_ConstraintTangent::getAttributes(
     return;
   }
 
-  if (myType != CONSTRAINT_TANGENT_CIRCLE_LINE && 
+  if (myType == CONSTRAINT_TANGENT_ARC_LINE && 
       !hasSingleCoincidence(theAttributes[2], theAttributes[3]))
-    myErrorMsg = SketchSolver_Error::INCORRECT_ATTRIBUTE();
+    myErrorMsg = SketchSolver_Error::TANGENCY_FAILED();
 
   if (isSwap) {
     EntityWrapperPtr aTemp = theAttributes[2];
index 648a3918fc61f32128d6f36035284d04780362e6..2e143145437364c8cce1525f00ae10bf3673cb72 100644 (file)
@@ -65,6 +65,12 @@ class SketchSolver_Error
     static const std::string MY_ERROR_VALUE("Entity already fixed");
     return MY_ERROR_VALUE;
   }
+  /// Tangency constraint has been built with wrong attributes (for example, line and arc have two coincident points)
+  inline static const std::string& TANGENCY_FAILED()
+  {
+    static const std::string MY_ERROR_VALUE("Unable to create tangency constraint on given attributes");
+    return MY_ERROR_VALUE;
+  }
   /// Crash in SolveSpace
   inline static const std::string& SOLVESPACE_CRASH()
   {