Function truck_polymesh::obj::write[][src]

pub fn write<W: Write>(mesh: &PolygonMesh, writer: W) -> Result<()>

Writes obj data to output stream

Examples

use truck_polymesh::*;
let positions = vec![
    Point3::new(0.0, 0.0, 0.0),
    Point3::new(1.0, 0.0, 0.0),
    Point3::new(0.0, 1.0, 0.0),
    Point3::new(0.0, 0.0, 1.0),
    Point3::new(1.0, 1.0, 0.0),
    Point3::new(1.0, 0.0, 1.0),
    Point3::new(0.0, 1.0, 1.0),
    Point3::new(1.0, 1.0, 1.0),
];
let normals = vec![
    Vector3::new(1.0, 0.0, 0.0),
    Vector3::new(0.0, 1.0, 0.0),
    Vector3::new(0.0, 0.0, 1.0),
    Vector3::new(-1.0, 0.0, 0.0),
    Vector3::new(0.0, -1.0, 0.0),
    Vector3::new(0.0, 0.0, -1.0),
];
let faces = Faces::from_iter(&[
    [(0, None, Some(5)), (1, None, Some(5)), (2, None, Some(5))],
    [(4, None,Some(5)), (2, None, Some(5)), (1, None, Some(5))],
    [(1, None, Some(4)), (0, None, Some(4)), (3, None, Some(4))],
    [(1, None, Some(4)), (3, None, Some(4)), (5, None, Some(4))],
    [(1, None, Some(0)), (5, None, Some(0)), (4, None, Some(0))],
    [(4, None, Some(0)), (5, None, Some(0)), (7, None, Some(0))],
    [(2, None, Some(1)), (4, None, Some(1)), (7, None, Some(1))],
    [(2, None, Some(1)), (7, None, Some(1)), (6, None, Some(1))],
    [(0, None, Some(3)), (2, None, Some(3)), (6, None, Some(3))],
    [(0, None, Some(3)), (6, None, Some(3)), (3, None, Some(3))],
    [(3, None, Some(2)), (6, None, Some(2)), (7, None, Some(2))],
    [(3, None, Some(2)), (7, None, Some(2)), (5, None, Some(2))],
]);
let mesh = PolygonMesh::new(positions, Vec::new(), normals, faces);
obj::write(&mesh, std::fs::File::create("meshdata.obj").unwrap());