-// Copyright (C) 2014-2017 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2022 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
//
// 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_Pnt_H_
#include <GeomAPI_Interface.h>
#include <memory>
+class GeomAPI_Ax1;
class GeomAPI_XYZ;
class GeomAPI_Pnt2d;
class GeomAPI_Dir;
GEOMAPI_EXPORT
bool isEqual(const std::shared_ptr<GeomAPI_Pnt>& theOther) const;
+ /// Returns \c true, if the current point is less than theOther.
+ /// The point is less than other, if X coordinate is less.
+ /// In case of X's are equal, if Y is less than other.
+ /// If Y's are equal too, compare Z's.
+ GEOMAPI_EXPORT
+ bool isLess(const std::shared_ptr<GeomAPI_Pnt>& theOther,
+ const double theTolerance = 1.e-7) const;
+
/// Projects a point to the plane defined by the origin and 2 axes vectors in this plane
GEOMAPI_EXPORT
std::shared_ptr<GeomAPI_Pnt2d> to2D(const std::shared_ptr<GeomAPI_Pnt>& theOrigin,
/// Translates the point along direction theDir on distance theDist
GEOMAPI_EXPORT
void translate(const std::shared_ptr<GeomAPI_Dir>& theDir, double theDist);
+
+ /// Rotates the point along axis for the given angle (in degrees)
+ GEOMAPI_EXPORT void rotate(const std::shared_ptr<GeomAPI_Ax1>& theAxis, double theAngle);
};
+//! Pointer on the object
+typedef std::shared_ptr<GeomAPI_Pnt> GeomPointPtr;
+
#endif