-// Copyright (C) 2014-2017 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef GeomAPI_Wire_H_
#include "GeomAPI_Shape.h"
+class GeomAPI_Pnt;
+
/// \class GeomAPI_Wire
/// \ingroup DataModel
/// \brief Interface to the wire object
/// Creation of wire by the wire-shape
GEOMAPI_EXPORT GeomAPI_Wire(const std::shared_ptr<GeomAPI_Shape>& theShape);
+
+ /// Returns "closed" status of the wire
+ GEOMAPI_EXPORT bool isClosed() const;
+
+ /// Returns \c true if the wire is a polygon
+ /// \param[out] thePoints vertices of the polygon
+ GEOMAPI_EXPORT bool isPolygon(std::list<std::shared_ptr<GeomAPI_Pnt> >& thePoints) const;
+
+ /// Returns \c true if the wire is a rectangle
+ /// \param[out] thePoints corners of the rectangle
+ GEOMAPI_EXPORT bool isRectangle(std::list<std::shared_ptr<GeomAPI_Pnt> >& thePoints) const;
+
+ /// Return middle point on the wire
+ GEOMAPI_EXPORT virtual std::shared_ptr<GeomAPI_Pnt> middlePoint() const;
};
typedef std::shared_ptr<GeomAPI_Wire> GeomWirePtr;