X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAPI%2FGeomAPI_Curve.h;h=3922217f1deb3c0ac52eccabdd75048c6eb35b3b;hb=ea593bc59e7e9461f6c4e2afd3f24d621edb1011;hp=d002d4250189c63bb5015d681424bfc7ecf38784;hpb=c4eab94a20a0d93100549a210582d46409fec1cc;p=modules%2Fshaper.git diff --git a/src/GeomAPI/GeomAPI_Curve.h b/src/GeomAPI/GeomAPI_Curve.h index d002d4250..3922217f1 100644 --- a/src/GeomAPI/GeomAPI_Curve.h +++ b/src/GeomAPI/GeomAPI_Curve.h @@ -45,6 +45,10 @@ class GeomAPI_Curve : public GeomAPI_Interface GEOMAPI_EXPORT bool isNull() const; + /// Returns \c true if curves are equal + GEOMAPI_EXPORT + bool isEqual(const std::shared_ptr& theOther) const; + /// Returns whether the curve is linear GEOMAPI_EXPORT virtual bool isLine() const; @@ -53,19 +57,46 @@ class GeomAPI_Curve : public GeomAPI_Interface GEOMAPI_EXPORT virtual bool isCircle() const; + /// Returns whether the curve is elliptic + GEOMAPI_EXPORT + virtual bool isEllipse() const; + /// Returns start parameter of the curve GEOMAPI_EXPORT - double startParam() const { return myStart; } + double startParam(); /// Returns end parameter of the curve GEOMAPI_EXPORT - double endParam() const { return myEnd; } + double endParam(); + + /// Returns \c true if the curve is trimmed + GEOMAPI_EXPORT + virtual bool isTrimmed() const; + + /// Returns basis for the trimmed curve + GEOMAPI_EXPORT + virtual std::shared_ptr basisCurve() const; /// Returns point on the curve by parameter /// \param theParam parameter on the curve GEOMAPI_EXPORT std::shared_ptr getPoint(double theParam); + /// Project point on curve + GEOMAPI_EXPORT const std::shared_ptr project( + const std::shared_ptr& thePoint) const; + +public: + /// \brief Compare addresses of curves + class Comparator + { + public: + /// Return \c true if the address of the first curve is less than the address of the second + GEOMAPI_EXPORT + bool operator ()(const std::shared_ptr& theCurve1, + const std::shared_ptr& theCurve2) const; + }; + private: double myStart; double myEnd;