Skip to main content

graphics_shapes/intersection/
triangle.rs

1use crate::intersection::shared::*;
2use crate::prelude::*;
3
4impl IntersectsShape for Triangle {
5    fn intersects_rect(&self, rect: &Rect) -> bool {
6        lines_lines(&rect.as_lines(), &self.as_lines())
7    }
8
9    fn intersects_circle(&self, circle: &Circle) -> bool {
10        triangle_circle(self, circle)
11    }
12
13    fn intersects_line(&self, line: &Line) -> bool {
14        line_triangle(line, self)
15    }
16
17    fn intersects_triangle(&self, triangle: &Triangle) -> bool {
18        lines_lines(&triangle.as_lines(), &self.as_lines())
19    }
20
21    fn intersects_ellipse(&self, ellipse: &Ellipse) -> bool {
22        triangle_ellipse(self, ellipse)
23    }
24
25    fn intersects_polygon(&self, polygon: &Polygon) -> bool {
26        lines_lines(&polygon.as_lines(), &self.as_lines())
27    }
28}