rcgal 0.2.2

Rust Computational Geometry Algorithms Library.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::{
    algorithm::projection::point_2_line_segment_2::point_2_project_line_segment_2 as KernelPoint2ProjectLineSegment2,
    wasm::kernel::{line_segment_2::LineSegment2, point_2::Point2},
};
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub fn point_2_project_line_segment_2(point: &Point2, segment: &LineSegment2) -> Option<Point2> {
    let kernel_result =
        KernelPoint2ProjectLineSegment2(&point.kernel_point_2, &segment.kernel_line_segment_2);
    match kernel_result {
        Some(kernel_point_2) => Some(Point2::new(kernel_point_2.x(), kernel_point_2.y())),
        None => None,
    }
}