Thunderbots Project
Loading...
Searching...
No Matches
intersection.h
1#pragma once
2
3#include <optional>
4#include <unordered_set>
5
6#include "software/geom/line.h"
7#include "software/geom/polygon.h"
8#include "software/geom/ray.h"
9#include "software/geom/segment.h"
10
29std::optional<Point> intersection(const Point &a, const Point &b, const Point &c,
30 const Point &d, double fixed_epsilon = FIXED_EPSILON,
31 int ulps_epsilon = ULPS_EPSILON_TEN);
32
45std::vector<Point> intersection(const Segment &first, const Segment &second);
46
56std::unordered_set<Point> intersection(const Polygon &polygon, const Segment &segment);
57
70std::vector<Point> intersection(const Ray &ray, const Segment &segment);
71
82std::optional<Point> intersection(const Line &first, const Line &second);
83
92std::unordered_set<Point> intersection(const Polygon &polygon, const Ray &ray);
93
103std::optional<Point> intersection(const Ray &first, const Ray &second);
Definition line.h:10
Definition point.h:14
Definition polygon.h:12
Definition ray.h:6
Definition segment.h:7