Functions/Subroutines | |
| logical pure function | cg2_is_line_intersect_polygon (polygon, l0, l1) |
Return true if a line [l0, l1] intersect a convex polygon. | |
| pure subroutine | cg2_line_polygon_clipping (polygon, l0, l1, clipped_polygon) |
| pure subroutine | cg2_line_polygon_boundary_intersection (p0, p1, polygon, s0, s1, i, intersection_found) |
| Intersect a line segment with the polygon boundary. | |
| pure subroutine | cg2_split_polygon (polygon, p0, p1, i0, i1, polygon_left, polygon_right) |
| Split a convex polygon {p(1),...,p(n)} in two polygons. | |
| pure subroutine | cg2_split_polygon_with_line (polygon, l0, l1, is_intersection, polygon_left, polygon_right) |
| Split a convex polygon with a line. | |
| pure subroutine | cg2_brute_force_split_polygon_with_line (polygon, l0, l1, is_intersection, polygon_left, polygon_right) |
| Split a polygon with a line using a brute force method. | |
| pure subroutine | cg2_optimized_split_polygon_with_line (polygon, l0, l1, is_intersection, polygon_left, polygon_right) |
| Split a polygon with a line using an optimized algorithm. | |
| pure subroutine | cg2_minloc_line_point_signed_distance (polygon, p0, p1, pref, minimum_distance, minloc_distance) |
| Locate the minimum location of the signed distance using Fibonacci search of periodic bimodal function. | |
| pure subroutine | cg2_maxloc_line_point_signed_distance (polygon, p0, p1, pref, maximum_distance, maxloc_distance) |
| Locate the maximum location of the signed distance using Fibonacci search of periodic bimodal function. | |
| pure subroutine mod_cg2_line_polygon::cg2_line_polygon_boundary_intersection | ( | double precision, dimension(2), intent(in) | p0, |
| double precision, dimension(2), intent(in) | p1, | ||
| type(t_polygon), intent(in) | polygon, | ||
| double precision, dimension(2), intent(out) | s0, | ||
| double precision, dimension(2), intent(out) | s1, | ||
| integer, intent(out) | i, | ||
| logical, intent(out) | intersection_found ) |
Intersect a line segment with the polygon boundary.
[s0, s1] will have the same orientation as [p0, p1]