Magic_Game/core/utils/Point.cpp

65 lines
986 B
C++
Raw Normal View History

2018-09-05 13:33:39 +08:00
#include "..\e2dutil.h"
#include <cmath>
2018-03-01 00:19:09 +08:00
e2d::Point::Point()
{
x = 0;
y = 0;
}
2018-07-28 20:06:27 +08:00
e2d::Point::Point(float x, float y)
2018-03-01 00:19:09 +08:00
{
this->x = x;
this->y = y;
}
2018-05-22 23:36:46 +08:00
e2d::Point::Point(const Point & other)
{
x = other.x;
y = other.y;
}
2018-09-04 22:42:34 +08:00
e2d::Point e2d::Point::operator+(const Point & p) const
2018-03-01 00:19:09 +08:00
{
return Point(x + p.x, y + p.y);
}
2018-09-04 22:42:34 +08:00
e2d::Point e2d::Point::operator-(const Point & p) const
2018-03-01 00:19:09 +08:00
{
return Point(x - p.x, y - p.y);
}
2018-09-04 22:42:34 +08:00
e2d::Point e2d::Point::operator*(float value) const
2018-03-01 00:19:09 +08:00
{
return Point(x * value, y * value);
}
2018-09-04 22:42:34 +08:00
e2d::Point e2d::Point::operator/(float value) const
2018-03-01 00:19:09 +08:00
{
return Point(x / value, y / value);
}
e2d::Point::operator e2d::Size() const
{
return Size(x, y);
}
2018-09-04 22:42:34 +08:00
float e2d::Point::Distance(const Point &p1, const Point &p2)
{
return sqrt(
(p1.x - p2.x) * (p1.x - p2.x) +
(p1.y - p2.y) * (p1.y - p2.y)
);
}
e2d::Point e2d::Point::operator-() const
{
return Point(-x, -y);
2018-05-22 22:55:06 +08:00
}
bool e2d::Point::operator==(const Point & point) const
{
return (x == point.x) && (y == point.y);
}