X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAPI%2FGeomAPI_Vertex.h;h=205f07eb5da75d939d389bf84c329b631ca76e2c;hb=fc72d43b677baa05ae7fd317346fd8b723b799ed;hp=13668b6af2c4c1034c719c06d6ba5b1b99ad28d3;hpb=97917d3698f5a2f7fc9596e7c755ff8f6751e373;p=modules%2Fshaper.git diff --git a/src/GeomAPI/GeomAPI_Vertex.h b/src/GeomAPI/GeomAPI_Vertex.h index 13668b6af..205f07eb5 100644 --- a/src/GeomAPI/GeomAPI_Vertex.h +++ b/src/GeomAPI/GeomAPI_Vertex.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// Copyright (C) 2014-2023 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -38,6 +38,10 @@ public: GEOMAPI_EXPORT GeomAPI_Vertex(const std::shared_ptr& theShape); + /// Creation of vertex by the given point. + GEOMAPI_EXPORT + GeomAPI_Vertex(const std::shared_ptr& thePoint); + /// Creation of vertex by 3d coordinates. GEOMAPI_EXPORT GeomAPI_Vertex(double theX, double theY, double theZ); @@ -49,6 +53,24 @@ public: /// Returns true if the current edge is geometrically equal to the given edge. GEOMAPI_EXPORT virtual bool isEqual(const std::shared_ptr theVert) const; + +public: + /// \brief Compare vertices geometrically + class GeometricComparator + { + public: + GEOMAPI_EXPORT + GeometricComparator(const double theTolerance = 1.e-7) : myTolerance(theTolerance) + {} + + /// Return \c true if the first vertex is less than the second + GEOMAPI_EXPORT + bool operator ()(const std::shared_ptr& theVertex1, + const std::shared_ptr& theVertex2) const; + private: + double myTolerance; + }; + }; //! Pointer on the object