class QgsPoint { %TypeHeaderCode #include #include %End public: /// Default constructor QgsPoint(); /*! Create a point from another point */ QgsPoint(const QgsPoint& p); /*! Create a point from x,y coordinates * @param x x coordinate * @param y y coordinate */ QgsPoint(double x, double y); ~QgsPoint(); /*! Sets the x value of the point * @param x x coordinate */ void setX(double x); /*! Sets the y value of the point * @param y y coordinate */ void setY(double y); /*! Sets the x and y value of the point */ void set(double x, double y); /*! Get the x value of the point * @return x coordinate */ double x() const; /*! Get the y value of the point * @return y coordinate */ double y() const; //! String representation of the point (x,y) QString toString() const; //! As above but with precision for string representaiton of a point QString toString(int thePrecision) const; /** Return a string representation as degrees minutes seconds. * Its up to the calling function to ensure that this point can * be meaningfully represented in this form. * @note added in QGIS 1.4 */ QString toDegreesMinutesSeconds( int thePrecision ) const; /*! Return the well known text representation for the point. * The wkt is created without an SRID. * @return Well known text in the form POINT(x y) */ QString wellKnownText(); /**Returns the squared distance between this point and x,y*/ double sqrDist(double x, double y) const; /**Returns the squared distance between this and other point*/ double sqrDist(const QgsPoint& other); /**Returns the minimum distance between this point and a segment @note added in QGIS 1.5*/ double sqrDistToSegment( double x1, double y1, double x2, double y2, QgsPoint& minDistPoint /Out/) const; /**Calculates azimut between this point and other one (clockwise in degree, starting from north) @note: this function has been added in version 1.7*/ double azimuth( const QgsPoint& other ); //! equality operator bool operator==(const QgsPoint &other); //! Inequality operator bool operator!=(const QgsPoint &other); //! Multiply x and y by the given value void multiply(const double& scalar); SIP_PYOBJECT __repr__(); %MethodCode QString str = "(" + QString::number(sipCpp->x()) + "," + QString::number(sipCpp->y()) + ")"; //QString str("(%f,%f)").arg(sipCpp->x()).arg(sipCpp->y()); sipRes = PyString_FromString(str.toLocal8Bit().data()); %End int __len__(); %MethodCode sipRes = 2; %End SIP_PYOBJECT __getitem__(int); %MethodCode if (a0 == 0) { sipRes = Py_BuildValue("d",sipCpp->x()); } else if (a0 == 1) { sipRes = Py_BuildValue("d",sipCpp->y()); } else { QString msg = QString("Bad index: %1").arg(a0); PyErr_SetString(PyExc_IndexError, msg.toAscii().constData()); } %End }; // class QgsPOint