RIT VEXU Core API
Loading...
Searching...
No Matches
point2d.h
1#pragma once
2
3#include <Eigen/Dense>
4
8class Point2d {
9public:
13 constexpr Point2d() : xcoord(0), ycoord(0) {}
14
20 Point2d(const int& x, const int& y);
21
26 Point2d(const Eigen::Vector2i &vector);
27
32 int x() const;
33
37 void setX(const int& x);
38
43 int y() const;
44
48 void setY(const int& y);
49
54 Eigen::Vector2i as_vector() const;
55
62 Eigen::Vector2d as_vector(Eigen::Vector2d X, Eigen::Vector2d Y) const;
63
68 int manhattan_distance(const Point2d& other) const;
69
74 int manhattan_norm() const;
75
80 double distance(const Point2d& other) const;
81
86 double norm() const;
87
93 bool operator==(const Point2d &other) const;
94
104 Point2d operator+(const Point2d &other) const;
105
115 Point2d operator-(const Point2d &other) const;
116
125 Point2d operator-() const;
126
136 Point2d operator*(const int &scalar) const;
137
146 int operator*(const Point2d &other) const;
147
152 friend std::ostream &operator<<(std::ostream &os, const Point2d &point);
153
154private:
155 int xcoord, ycoord;
156};
Definition point2d.h:8
double distance(const Point2d &other) const
Definition point2d.cpp:87
void setY(const int &y)
Definition point2d.cpp:45
Point2d operator*(const int &scalar) const
Definition point2d.cpp:155
int manhattan_distance(const Point2d &other) const
Definition point2d.cpp:71
friend std::ostream & operator<<(std::ostream &os, const Point2d &point)
Definition point2d.cpp:175
Point2d operator-() const
Definition point2d.cpp:142
bool operator==(const Point2d &other) const
Definition point2d.cpp:104
Eigen::Vector2i as_vector() const
Definition point2d.cpp:53
constexpr Point2d()
Definition point2d.h:13
Point2d operator+(const Point2d &other) const
Definition point2d.cpp:117
void setX(const int &x)
Definition point2d.cpp:30
double norm() const
Definition point2d.cpp:95
int manhattan_norm() const
Definition point2d.cpp:79
int x() const
Definition point2d.cpp:23
int y() const
Definition point2d.cpp:38