1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#![deny(missing_docs)]
extern crate cgmath;
extern crate mint;
pub use poly::{EmitLines, Line, Lines, MapToVertices, MapVertex, Polygon, Quad, Triangle,
Vertices, VerticesIterator};
pub use triangulate::{EmitTriangles, Triangulate, TriangulateIterator};
pub use indexer::{Indexer, LruIndexer};
pub use neighbors::Neighbors;
mod generator;
mod indexer;
mod neighbors;
mod poly;
mod triangulate;
mod circle;
mod cone;
mod cube;
mod cylinder;
mod icosphere;
mod plane;
mod sphere;
mod torus;
pub mod generators {
pub use circle::Circle;
pub use cone::Cone;
pub use cube::Cube;
pub use cylinder::Cylinder;
pub use generator::{IndexedPolygon, IndexedPolygonIterator, SharedVertex, SharedVertexIterator};
pub use icosphere::IcoSphere;
pub use plane::Plane;
pub use sphere::SphereUv;
pub use torus::Torus;
}
pub type Position = mint::Vector3<f32>;
pub type Normal = mint::Vector3<f32>;
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct Vertex {
pub pos: Position,
pub normal: Normal,
}