#![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,
}