58 lines
1.1 KiB
C++
58 lines
1.1 KiB
C++
|
#include <QtCore/QtMath>
|
|||
|
#include <QtCore/QString>
|
|||
|
#include <QtCore/QDebug>
|
|||
|
|
|||
|
#include <pointxy.h>
|
|||
|
#include <LAMPMainWidget.h>
|
|||
|
#pragma execution_character_set("utf-8")
|
|||
|
|
|||
|
namespace LAMPMainWidget {
|
|||
|
|
|||
|
double
|
|||
|
PointXY::distance(double x, double y) const {
|
|||
|
return qSqrt(qPow(mX - x, 2) + qPow(mY - y, 2));
|
|||
|
}
|
|||
|
|
|||
|
bool
|
|||
|
PointXY::operator==(const LAMPMainWidget::PointXY &other) {
|
|||
|
return isDoubleNearby(mX, other.mX) && isDoubleNearby(mY, other.mY);
|
|||
|
}
|
|||
|
|
|||
|
PointXY &
|
|||
|
PointXY::operator=(const LAMPMainWidget::PointXY &other) {
|
|||
|
if (this != &other) {
|
|||
|
mX = other.mX;
|
|||
|
mY = other.mY;
|
|||
|
}
|
|||
|
|
|||
|
return *this;
|
|||
|
}
|
|||
|
|
|||
|
PointXY &
|
|||
|
PointXY::operator=(const QPointF &other) {
|
|||
|
mX = other.x();
|
|||
|
mY = other.y();
|
|||
|
|
|||
|
return *this;
|
|||
|
}
|
|||
|
|
|||
|
PointXY &
|
|||
|
PointXY::operator=(const QPoint &other) {
|
|||
|
mX = double(other.x());
|
|||
|
mY = double(other.y());
|
|||
|
|
|||
|
return *this;
|
|||
|
}
|
|||
|
|
|||
|
QString
|
|||
|
PointXY::toWKT() const {
|
|||
|
return QString("POINT(%1 %2)").arg(mX, 0, 'g', 8).arg(mY, 0, 'g', 8);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
QDebug operator<<(QDebug debug, const LAMPMainWidget::PointXY &point) {
|
|||
|
debug << QString("PointXY(%1, %2)").arg(point.x()).arg(point.y());
|
|||
|
return debug;
|
|||
|
}
|