pub trait IntoTriangles {
// Required methods
fn into_triangles(self) -> impl Iterator<Item = Triangle>;
fn iter_triangles(&self) -> impl Iterator<Item = Triangle>;
}Expand description
Triangle の集合へ分解可能であることを示す
https://github.com/AirBee-Project/Kasane-Logic/blob/main/docs/geometry-relation.md
§Examples
use kasane_logic::{Coordinate, IntoTriangles, Polygon, Triangle};
let p0 = Coordinate::new(35.0, 139.0, 10.0).unwrap();
let p1 = Coordinate::new(35.0003, 139.0, 10.0).unwrap();
let p2 = Coordinate::new(35.0003, 139.0003, 10.0).unwrap();
let p3 = Coordinate::new(35.0, 139.0003, 10.0).unwrap();
let polygon = Polygon::new(vec![p0, p1, p2, p3], 0.01);
let triangles: Vec<Triangle> = polygon.iter_triangles().collect();
assert_eq!(triangles.len(), 2);Required Methods§
fn into_triangles(self) -> impl Iterator<Item = Triangle>
fn iter_triangles(&self) -> impl Iterator<Item = Triangle>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".