Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
position.cpp
Go to the documentation of this file.
2
3#include <cmath>
4
6
7Position::Position(double x, double y, double x_noise, double y_noise, rclcpp::Time timestamp)
8 : x(x), y(y), x_noise(x_noise), y_noise(y_noise), timestamp(timestamp) {}
9
10double Position::euclidean_distance(const Position &other) const {
11 return sqrt(pow(x - other.x, 2) + pow(y - other.y, 2));
12}
13
14bool operator<(const Position &lhs, const Position &rhs) {
15 return (lhs.x < rhs.x) || ((lhs.x == rhs.x) && (lhs.y < rhs.y));
16}
17
18double cross_product(const Position &p1, const Position &p2, const Position &p3) {
19 return (p2.x - p1.x) * (p3.y - p1.y) - (p2.y - p1.y) * (p3.x - p1.x);
20}
21
22double euclidean_distance(const Position &p1, const Position &p2) {
23 return sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
24}
25
26} // namespace common_lib::structures
bool operator<(const Position &lhs, const Position &rhs)
Definition position.cpp:14
double cross_product(const Position &p1, const Position &p2, const Position &p3)
Calculate the cross product of two vectors.
Definition position.cpp:18
double euclidean_distance(const Position &p1, const Position &p2)
Definition position.cpp:22
Position()=default
Construct a new Position object with default values.
double euclidean_distance(const Position &other) const
Definition position.cpp:10