Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
position.cpp
Go to the documentation of this file.
1
#include "
common_lib/structures/position.hpp
"
2
3
#include <cmath>
4
5
namespace
common_lib::structures
{
6
7
Position::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
10
double
Position::euclidean_distance
(
const
Position
&other)
const
{
11
return
sqrt(pow(
x
- other.
x
, 2) + pow(
y
- other.
y
, 2));
12
}
13
14
bool
operator<
(
const
Position
&lhs,
const
Position
&rhs) {
15
return
(lhs.
x
< rhs.
x
) || ((lhs.
x
== rhs.
x
) && (lhs.
y
< rhs.
y
));
16
}
17
18
double
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
22
double
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
common_lib::structures
Definition
cone.hpp:10
common_lib::structures::operator<
bool operator<(const Position &lhs, const Position &rhs)
Definition
position.cpp:14
common_lib::structures::cross_product
double cross_product(const Position &p1, const Position &p2, const Position &p3)
Calculate the cross product of two vectors.
Definition
position.cpp:18
common_lib::structures::euclidean_distance
double euclidean_distance(const Position &p1, const Position &p2)
Definition
position.cpp:22
position.hpp
common_lib::structures::Position
Definition
position.hpp:7
common_lib::structures::Position::Position
Position()=default
Construct a new Position object with default values.
common_lib::structures::Position::x
double x
Definition
position.hpp:8
common_lib::structures::Position::y
double y
Definition
position.hpp:9
common_lib::structures::Position::euclidean_distance
double euclidean_distance(const Position &other) const
Definition
position.cpp:10
src
common_lib
src
structures
position.cpp
Generated by
1.9.8