| 
									
										
										
										
											2018-04-21 21:24:46 +08:00
										 |  |  | #include "..\e2dcommon.h"
 | 
					
						
							| 
									
										
										
										
											2018-06-01 15:46:55 +08:00
										 |  |  | #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-04-17 13:26:50 +08:00
										 |  |  | e2d::Point e2d::Point::operator+(Point const & p) const | 
					
						
							| 
									
										
										
										
											2018-03-01 00:19:09 +08:00
										 |  |  | { | 
					
						
							|  |  |  | 	return Point(x + p.x, y + p.y); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-17 13:26:50 +08:00
										 |  |  | e2d::Point e2d::Point::operator-(Point const & p) const | 
					
						
							| 
									
										
										
										
											2018-03-01 00:19:09 +08:00
										 |  |  | { | 
					
						
							|  |  |  | 	return Point(x - p.x, y - p.y); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-28 20:06:27 +08:00
										 |  |  | e2d::Point e2d::Point::operator*(float const & value) const | 
					
						
							| 
									
										
										
										
											2018-03-01 00:19:09 +08:00
										 |  |  | { | 
					
						
							|  |  |  | 	return Point(x * value, y * value); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-28 20:06:27 +08:00
										 |  |  | e2d::Point e2d::Point::operator/(float const & 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-04-17 13:26:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-28 20:06:27 +08:00
										 |  |  | float e2d::Point::distance(const Point &p1, const Point &p2) | 
					
						
							| 
									
										
										
										
											2018-06-01 15:46:55 +08:00
										 |  |  | { | 
					
						
							|  |  |  | 	return sqrt( | 
					
						
							|  |  |  | 		(p1.x - p2.x) * (p1.x - p2.x) +  | 
					
						
							|  |  |  | 		(p1.y - p2.y) * (p1.y - p2.y) | 
					
						
							|  |  |  | 	); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-17 13:26:50 +08:00
										 |  |  | 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); | 
					
						
							|  |  |  | } |