mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
123 lines
3.0 KiB
Plaintext
123 lines
3.0 KiB
Plaintext
|
|
|
|
class QgsPoint
|
|
{
|
|
|
|
%TypeHeaderCode
|
|
#include <qgspoint.h>
|
|
#include <QString>
|
|
%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
|
|
|