Skip to main content

IntoTriangles

Trait IntoTriangles 

Source
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§

Source

fn into_triangles(self) -> impl Iterator<Item = Triangle>

Source

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".

Implementors§