4#include <rclcpp/rclcpp.hpp>
23 rclcpp::Time
timestamp = rclcpp::Time(0));
27 return std::abs(p1.
x - p2.
x) < 1e-10 && std::abs(p1.
y - p2.
y) < 1e-10;
40double cross_product(
const Position &p1,
const Position &p2,
const Position &p3);
44bool operator<(
const Position &lhs,
const Position &rhs);
56 std::size_t x_hash = std::hash<double>()(position.x);
57 std::size_t y_hash = std::hash<double>()(position.y);
58 return x_hash ^ (y_hash << 1);
bool operator<(const Position &lhs, const Position &rhs)
double cross_product(const Position &p1, const Position &p2, const Position &p3)
Calculate the cross product of two vectors.
double euclidean_distance(const Position &p1, const Position &p2)
Position()=default
Construct a new Position object with default values.
double euclidean_distance(const Position &other) const
friend bool operator==(const Position &p1, const Position &p2)
std::size_t operator()(const common_lib::structures::Position &position) const noexcept