Function truck_modeling::builder::cone[][src]

pub fn cone<R: Into<Rad<f64>>>(wire: &Wire, axis: Vector3, angle: R) -> Shell
Expand description

Creates a cone by R-sweeping.

Examples

use truck_modeling::*;
use std::f64::consts::PI;
let v0 = builder::vertex(Point3::new(0.0, 1.0, 0.0));
let v1 = builder::vertex(Point3::new(0.0, 0.0, 1.0));
let v2 = builder::vertex(Point3::new(0.0, 0.0, 0.0));
let wire: Wire = vec![
    builder::line(&v0, &v1),
    builder::line(&v1, &v2),
].into();
let cone = builder::cone(&wire, Vector3::unit_y(), Rad(2.0 * PI));
let irregular = builder::rsweep(&wire, Point3::origin(), Vector3::unit_y(), Rad(2.0 * PI));

// the degenerate edge of cone is removed!
assert_eq!(cone[0].boundaries()[0].len(), 3);
assert_eq!(irregular[0].boundaries()[0].len(), 4);

// this cone is closed
Solid::new(vec![cone]);