  AdvancingFront_set_head
  p2t_advancingfront_destroy
  p2t_advancingfront_find_search_node
  p2t_advancingfront_free
  p2t_advancingfront_head
  p2t_advancingfront_init
  p2t_advancingfront_locate_node
  p2t_advancingfront_locate_point
  p2t_advancingfront_new
  p2t_advancingfront_search
  p2t_advancingfront_set_search
  p2t_advancingfront_set_tail
  p2t_advancingfront_tail
  p2t_cdt_add_hole
  p2t_cdt_add_point
  p2t_cdt_destroy
  p2t_cdt_free
  p2t_cdt_get_map
  p2t_cdt_get_triangles
  p2t_cdt_init
  p2t_cdt_new
  p2t_cdt_triangulate
  p2t_edge_destroy
  p2t_edge_free
  p2t_edge_init
  p2t_edge_new
  p2t_node_destroy
  p2t_node_free
  p2t_node_init_pt
  p2t_node_init_pt_tr
  p2t_node_new_pt
  p2t_node_new_pt_tr
  p2t_orient2d
  p2t_point_cmp
  p2t_point_destroy
  p2t_point_equals
  p2t_point_free
  p2t_point_init
  p2t_point_init_dd
  p2t_point_new
  p2t_point_new_dd
  p2t_sweep_angle
  p2t_sweep_angle_exceeds_90_degrees
  p2t_sweep_angle_exceeds_plus_90_degrees_or_is_negative
  p2t_sweep_basin_angle
  p2t_sweep_destroy
  p2t_sweep_edge_event_ed_n
  p2t_sweep_edge_event_pt_pt_tr_pt
  p2t_sweep_fill
  p2t_sweep_fill_advancingfront
  p2t_sweep_fill_basin
  p2t_sweep_fill_basin_req
  p2t_sweep_fill_edge_event
  p2t_sweep_fill_left_above_edge_event
  p2t_sweep_fill_left_below_edge_event
  p2t_sweep_fill_left_concave_edge_event
  p2t_sweep_fill_left_convex_edge_event
  p2t_sweep_fill_right_above_edge_event
  p2t_sweep_fill_right_below_edge_event
  p2t_sweep_fill_right_concave_edge_event
  p2t_sweep_fill_right_convex_edge_event
  p2t_sweep_finalization_polygon
  p2t_sweep_flip_edge_event
  p2t_sweep_flip_scan_edge_event
  p2t_sweep_free
  p2t_sweep_hole_angle
  p2t_sweep_incircle
  p2t_sweep_init
  p2t_sweep_is_edge_side_of_triangle
  p2t_sweep_is_shallow
  p2t_sweep_large_hole_dont_fill
  p2t_sweep_legalize
  p2t_sweep_new
  p2t_sweep_new_front_triangle
  p2t_sweep_next_flip_point
  p2t_sweep_next_flip_triangle
  p2t_sweep_point_event
  p2t_sweep_rotate_triangle_pair
  p2t_sweep_sweep_points
  p2t_sweep_triangulate
  p2t_sweepcontext_add_hole
  p2t_sweepcontext_add_point
  p2t_sweepcontext_add_to_map
  p2t_sweepcontext_basin_clear
  p2t_sweepcontext_basin_init
  p2t_sweepcontext_create_advancingfront
  p2t_sweepcontext_delete
  p2t_sweepcontext_destroy
  p2t_sweepcontext_edgeevent_init
  p2t_sweepcontext_front
  p2t_sweepcontext_get_map
  p2t_sweepcontext_get_point
  p2t_sweepcontext_get_triangles
  p2t_sweepcontext_head
  p2t_sweepcontext_init
  p2t_sweepcontext_init_edges
  p2t_sweepcontext_init_triangulation
  p2t_sweepcontext_locate_node
  p2t_sweepcontext_map_triangle_to_nodes
  p2t_sweepcontext_mesh_clean
  p2t_sweepcontext_new
  p2t_sweepcontext_point_count
  p2t_sweepcontext_remove_from_map
  p2t_sweepcontext_remove_node
  p2t_sweepcontext_set_head
  p2t_sweepcontext_set_tail
  p2t_sweepcontext_tail
  p2t_triangle_clear
  p2t_triangle_clear_delunay_edges
  p2t_triangle_clear_neighbor_tr
  p2t_triangle_clear_neighbors
  p2t_triangle_contains_ed
  p2t_triangle_contains_pt
  p2t_triangle_contains_pt_pt
  p2t_triangle_debug_print
  p2t_triangle_edge_index
  p2t_triangle_get_constrained_edge_ccw
  p2t_triangle_get_constrained_edge_cw
  p2t_triangle_get_delunay_edge_ccw
  p2t_triangle_get_delunay_edge_cw
  p2t_triangle_get_neighbor
  p2t_triangle_get_point
  p2t_triangle_index
  p2t_triangle_init
  p2t_triangle_is_interior
  p2t_triangle_is_interior_b
  p2t_triangle_legalize_pt
  p2t_triangle_legalize_pt_pt
  p2t_triangle_mark_constrained_edge_ed
  p2t_triangle_mark_constrained_edge_i
  p2t_triangle_mark_constrained_edge_pt_pt
  p2t_triangle_mark_neighbor_pt_pt_tr
  p2t_triangle_mark_neighbor_tr
  p2t_triangle_neighbor_across
  p2t_triangle_neighbor_ccw
  p2t_triangle_neighbor_cw
  p2t_triangle_new
  p2t_triangle_opposite_point
  p2t_triangle_point_ccw
  p2t_triangle_point_cw
  p2t_triangle_set_constrained_edge_ccw
  p2t_triangle_set_constrained_edge_cw
  p2t_triangle_set_delunay_edge_ccw
  p2t_triangle_set_delunay_edge_cw
  p2t_utils_in_scan_area
  p2tr_bounded_line_free
  p2tr_bounded_line_init
  p2tr_bounded_line_intersect
  p2tr_bounded_line_new
  p2tr_cdt_flip_fix
  p2tr_cdt_free
  p2tr_cdt_free_full
  p2tr_cdt_get_segments_encroached_by
  p2tr_cdt_insert_point
  p2tr_cdt_insert_point_into_triangle
  p2tr_cdt_is_encroached
  p2tr_cdt_is_encroached_by
  p2tr_cdt_new
  p2tr_cdt_split_edge
  p2tr_cdt_test_encroachment_ignore_visibility
  p2tr_cdt_validate_cdt
  p2tr_cdt_validate_edges
  p2tr_cdt_validate_unused
  p2tr_cdt_visible_from_edge
  p2tr_circle_test_point_outside
  p2tr_cluster_free
  p2tr_cluster_get_for
  p2tr_cluster_shortest_edge_length
  p2tr_dt_free
  p2tr_dt_new
  p2tr_dt_refine
  p2tr_edge_angle_between
  p2tr_edge_angle_between_positive
  p2tr_edge_free
  p2tr_edge_get_diametral_circle
  p2tr_edge_get_length
  p2tr_edge_get_length_squared
  p2tr_edge_get_mesh
  p2tr_edge_is_removed
  p2tr_edge_new
  p2tr_edge_ref
  p2tr_edge_remove
  p2tr_edge_unref
  p2tr_line_different_sides
  p2tr_line_init
  p2tr_line_intersection
  p2tr_math_diametral_circle_contains
  p2tr_math_diametral_lens_contains
  p2tr_math_incircle
  p2tr_math_intriangle
  p2tr_math_intriangle2
  p2tr_math_length_sq
  p2tr_math_length_sq2
  p2tr_math_orient2d
  p2tr_math_triangle_barcycentric
  p2tr_math_triangle_circumcircle
  p2tr_mesh_action_del_edge
  p2tr_mesh_action_del_point
  p2tr_mesh_action_del_triangle
  p2tr_mesh_action_free
  p2tr_mesh_action_group_begin
  p2tr_mesh_action_group_commit
  p2tr_mesh_action_group_undo
  p2tr_mesh_action_new_edge
  p2tr_mesh_action_new_point
  p2tr_mesh_action_new_triangle
  p2tr_mesh_action_ref
  p2tr_mesh_action_undo
  p2tr_mesh_action_unref
  p2tr_mesh_add_edge
  p2tr_mesh_add_point
  p2tr_mesh_add_triangle
  p2tr_mesh_clear
  p2tr_mesh_find_point
  p2tr_mesh_find_point2
  p2tr_mesh_find_point_local
  p2tr_mesh_find_point_local2
  p2tr_mesh_free
  p2tr_mesh_get_bounds
  p2tr_mesh_new
  p2tr_mesh_new_edge
  p2tr_mesh_new_or_existing_edge
  p2tr_mesh_new_point
  p2tr_mesh_new_point2
  p2tr_mesh_new_triangle
  p2tr_mesh_on_edge_removed
  p2tr_mesh_on_point_removed
  p2tr_mesh_on_triangle_removed
  p2tr_mesh_ref
  p2tr_mesh_render_b
  p2tr_mesh_render_cache_uvt
  p2tr_mesh_render_cache_uvt_exact
  p2tr_mesh_render_f
  p2tr_mesh_render_from_cache_b
  p2tr_mesh_render_from_cache_f
  p2tr_mesh_unref
  p2tr_point_edge_ccw
  p2tr_point_edge_cw
  p2tr_point_free
  p2tr_point_get_edge_to
  p2tr_point_get_mesh
  p2tr_point_has_constrained_edge
  p2tr_point_has_edge_to
  p2tr_point_is_fully_in_domain
  p2tr_point_new
  p2tr_point_new2
  p2tr_point_ref
  p2tr_point_remove
  p2tr_point_unref
  p2tr_pslg_add_existing_line
  p2tr_pslg_add_new_line
  p2tr_pslg_contains_line
  p2tr_pslg_free
  p2tr_pslg_iter_init
  p2tr_pslg_iter_next
  p2tr_pslg_new
  p2tr_pslg_size
  p2tr_refiner_false_too_big
  p2tr_refiner_free
  p2tr_refiner_new
  p2tr_refiner_refine
  p2tr_triangle_circumcircle_contains_point
  p2tr_triangle_contains_point
  p2tr_triangle_contains_point2
  p2tr_triangle_free
  p2tr_triangle_get_angle_at
  p2tr_triangle_get_circum_circle
  p2tr_triangle_get_mesh
  p2tr_triangle_get_opposite_edge
  p2tr_triangle_get_opposite_point
  p2tr_triangle_is_removed
  p2tr_triangle_new
  p2tr_triangle_ref
  p2tr_triangle_remove
  p2tr_triangle_smallest_non_constrained_angle
  p2tr_triangle_unref
  p2tr_utils_new_reversed_pointer_list
  p2tr_vector2_center
  p2tr_vector2_copy
  p2tr_vector2_dot
  p2tr_vector2_is_same
  p2tr_vector2_norm
  p2tr_vector2_sub
  p2tr_vedge_create
  p2tr_vedge_free
  p2tr_vedge_get
  p2tr_vedge_get_mesh
  p2tr_vedge_is_real
  p2tr_vedge_new
  p2tr_vedge_new2
  p2tr_vedge_ref
  p2tr_vedge_remove
  p2tr_vedge_set_add
  p2tr_vedge_set_add2
  p2tr_vedge_set_free
  p2tr_vedge_set_new
  p2tr_vedge_set_pop
  p2tr_vedge_set_size
  p2tr_vedge_try_get_and_unref
  p2tr_vedge_undirected_equals
  p2tr_vedge_undirected_hash
  p2tr_vedge_unref
  p2tr_visibility_is_visible_from_edges
  p2tr_vtriangle_create
  p2tr_vtriangle_free
  p2tr_vtriangle_get
  p2tr_vtriangle_get_mesh
  p2tr_vtriangle_is_real
  p2tr_vtriangle_new
  p2tr_vtriangle_ref
  p2tr_vtriangle_remove
  p2tr_vtriangle_unref
