mirror of
https://github.com/revarbat/BOSL2.git
synced 2025-01-16 21:58:27 +01:00
3bf22cd236
Besides param validation and some formating, changes: A. add new functions: 1. _valid_line() 2. _valid_plane() 3. line_from_points() 4. projection_on_plane() 5. points_on_plane() B. rename/redefine/remove functions: 1. points_are_coplanar() >> coplanar() 2. collinear() works with list of points as well as coplanar() 3. find_noncollinear_points >> noncollinear_triple 4. collinear_indexed() removed 5. polygon_is_convex() >> is_convex_polygon() C. recode/optimize the codes of the functions: 1. point_on_segment2d() 2. point_left_of_line2d() 3. distance_from_line() 4. line_closest_point() 5. plane_from_polygon() 6. _general_plane_line_intersection() 7. polygon_line_intersection() 8. find_circle_2tangents() 9. find_circle_3points() 10. polygon_area() 11. is_convex_polygon() 12. reindex_polygon() 13. centroid() 14. polygon_is_clockwise() 15. clockwise_polygon() 16. ccw_polygon() The function name changes were updated in: test_geometry.scad hull.scad rounding.scad vnf.scad Regression tests for the new external functions were included in test_geometry.scad. Unsolved questions: 1. why sorting the indices in plane_from_points and polygon_line_intersection? 2. aren't redundant plane_from_polygon() and plane_from_points()?