Salome HOME
Porting to OCCT 7.5.0 and minor improvements/bugfixes.
[modules/shaper.git] / src / GeomValidators / GeomValidators_ShapeType.cpp
index 61e1a048bacf3a11d6530c1c839cc9b0c1eeda23..146837e7abcf972e5294674c95217508100937ed 100644 (file)
@@ -63,12 +63,13 @@ GeomValidators_ShapeType::TypeOfShape
     MyShapeTypes["compound"]  = Compound;
   }
   std::string aType = std::string(theType.c_str());
-  std::transform(aType.begin(), aType.end(), aType.begin(), ::tolower);
+  std::transform(aType.begin(), aType.end(), aType.begin(),
+                 [](char c) { return static_cast<char>(::tolower(c)); });
   if (MyShapeTypes.find(aType) != MyShapeTypes.end())
     return MyShapeTypes[aType];
 
 // LCOV_EXCL_START
-  Events_InfoMessage("Shape type defined in XML is not implemented!").send();
+  //Events_InfoMessage("Shape type defined in XML is not implemented!").send();
   return AnyShape;
 // LCOV_EXCL_STOP
 }
@@ -81,11 +82,11 @@ std::string getShapeTypeDescription(const GeomValidators_ShapeType::TypeOfShape&
   if (MyShapeTypes.size() != 0) {
     std::map<std::string, GeomValidators_ShapeType::TypeOfShape>::const_iterator
       anIt = MyShapeTypes.begin(), aLast = MyShapeTypes.end();
-    for (; anIt != aLast; anIt++) {
-      if (anIt->second == theType)
+    for (; anIt != aLast; anIt++)
+      if (anIt->second == theType) {
         aValue = anIt->first;
         break;
-    }
+      }
   }
   return aValue;
 }
@@ -113,9 +114,8 @@ bool GeomValidators_ShapeType::isValid(const AttributePtr& theAttribute,
   }
   if (!aValid && theError.empty()) {
     std::string aTypes;
-    std::list<std::string>::const_iterator anIt = theArguments.begin(), aLast = theArguments.end();
     // returns true if the attribute satisfies at least one of given arguments
-    for (; anIt != aLast; anIt++) {
+    for (anIt = theArguments.begin(); anIt != aLast; anIt++) {
       if (!aTypes.empty())
         aTypes += ", ";
       aTypes += *anIt;
@@ -169,16 +169,18 @@ bool GeomValidators_ShapeType::isValidAttribute(const AttributePtr& theAttribute
         theError = "It has reference to an empty attribute";
       }
       else {
-        std::string anAttributeType = aRefAttr->attributeType();
-        aValid = anAttributeType == GeomDataAPI_Point2D::typeId();
+        std::string anAttrType = aRefAttr->attributeType();
+        aValid = anAttrType == GeomDataAPI_Point2D::typeId();
         if (!aValid) {
 // LCOV_EXCL_START
           theError = "Shape type is \"%1\", it should be \"%2\"";
-          theError.arg(anAttributeType).arg(getShapeTypeDescription(theShapeType));
+          theError.arg(anAttrType).arg(getShapeTypeDescription(theShapeType));
 // LCOV_EXCL_STOP
         }
       }
     }
+    else
+      aValid = false;
   }
   else if (anAttributeType == ModelAPI_AttributeReference::typeId()) {
     AttributeReferencePtr anAttr =