Salome HOME
Fix for stable processing of mirror constraint (eliminating SolveSpace problems)
[modules/shaper.git] / src / GeomAPI / GeomAPI_Vertex.cpp
index 4c51908717d167c62bea1a59c1b12246ded02696..d881d79b5bf0ea0cbbb7106bc0d3507f9aa05384 100644 (file)
@@ -35,11 +35,14 @@ std::shared_ptr<GeomAPI_Pnt> GeomAPI_Vertex::point()
   return std::shared_ptr<GeomAPI_Pnt>(new GeomAPI_Pnt(aPoint.X(), aPoint.Y(), aPoint.Z()));
 }
 
-bool GeomAPI_Vertex::isEqual(std::shared_ptr<GeomAPI_Shape> theVert)
+bool GeomAPI_Vertex::isEqual(const std::shared_ptr<GeomAPI_Shape> theVert) const
 {
   const TopoDS_Shape& aMyShape = const_cast<GeomAPI_Vertex*>(this)->impl<TopoDS_Shape>();
   const TopoDS_Shape& aInShape = theVert->impl<TopoDS_Shape>();
 
+  if (aMyShape.ShapeType() != aInShape.ShapeType())
+    return false;
+
   TopoDS_Vertex aVertex1 = TopoDS::Vertex(aMyShape);
   gp_Pnt aPoint1 = BRep_Tool::Pnt(aVertex1);