from CGAL.CGAL_Kernel import Point_2
from CGAL.CGAL_Kernel import Weighted_point_2
from CGAL.CGAL_Alpha_shape_2 import Alpha_shape_2
from CGAL.CGAL_Alpha_shape_2 import Weighted_alpha_shape_2
from CGAL.CGAL_Alpha_shape_2 import Weighted_alpha_shape_2_Face_handle
from CGAL.CGAL_Alpha_shape_2 import GENERAL, EXTERIOR, SINGULAR, REGULAR, INTERIOR
from CGAL.CGAL_Alpha_shape_2 import Alpha_shape_2_Vertex_handle
from CGAL.CGAL_Alpha_shape_2 import Alpha_shape_2_Face_handle
from CGAL.CGAL_Alpha_shape_2 import Face_Interval_3


lst = []
lst.append(Point_2(0, 0))
lst.append(Point_2(0, 4))
lst.append(Point_2(44, 0))
lst.append(Point_2(44, 5))
lst.append(Point_2(444, 51))
lst.append(Point_2(14, 1))

t = Alpha_shape_2(lst, 0, GENERAL)
t2 = Alpha_shape_2(lst, 0)
t.clear()
t.make_alpha_shape(lst)


for d in t.alpha():
    print(d)


for v in t.finite_vertices():
    type = t.classify(v)
    print(v.get_range()[0])

    if type == INTERIOR:
        print("INTERIOR")
    elif type == SINGULAR:
        print("SINGULAR")
    elif type == REGULAR:
        print("REGULAR")
    elif type == EXTERIOR:
        print("EXTERIOR")


for f in t.finite_faces():
    i = f.get_ranges(0)
    print(i.first)
    print(i.second)
    print(i.third)


was = Weighted_alpha_shape_2()
lst_wp = []
lst_wp.append(Weighted_point_2(Point_2(0, 0), 1))
lst_wp.append(Weighted_point_2(Point_2(0, 4), 1))
lst_wp.append(Weighted_point_2(Point_2(44, 0), 1))
lst_wp.append(Weighted_point_2(Point_2(44, 5), 1))
lst_wp.append(Weighted_point_2(Point_2(444, 51), 1))
lst_wp.append(Weighted_point_2(Point_2(14, 1), 1))

was.make_alpha_shape(lst_wp)

[((20, 4, 20, 34), 'CGAL.CGAL_Alpha_shape_2.Alpha_shape_2', 'Alpha_shape_2', ({(20, 18, 20, 21): 'lst', (20, 23, 20, 24): '0', (20, 26, 20, 33): 'GENERAL'}, {}), '(lst, 0, GENERAL)', False, 'from CGAL.CGAL_Alpha_shape_2 import Alpha_shape_2\n'), ((21, 5, 21, 26), 'CGAL.CGAL_Alpha_shape_2.Alpha_shape_2', 'Alpha_shape_2', ({(21, 19, 21, 22): 'lst', (21, 24, 21, 25): '0'}, {}), '(lst, 0)', False, 'from CGAL.CGAL_Alpha_shape_2 import Alpha_shape_2\n'), ((51, 6, 51, 30), 'CGAL.CGAL_Alpha_shape_2.Weighted_alpha_shape_2', 'Weighted_alpha_shape_2', ({}, {}), '()', False, 'from CGAL.CGAL_Alpha_shape_2 import Weighted_alpha_shape_2\n'), ((13, 11, 13, 24), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(13, 19, 13, 20): '(0)', (13, 22, 13, 23): '(0)'}, {}), '(0, 0)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((14, 11, 14, 24), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(14, 19, 14, 20): '(0)', (14, 22, 14, 23): '(4)'}, {}), '(0, 4)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((15, 11, 15, 25), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(15, 19, 15, 21): '(44)', (15, 23, 15, 24): '(0)'}, {}), '(44, 0)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((16, 11, 16, 25), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(16, 19, 16, 21): '(44)', (16, 23, 16, 24): '(5)'}, {}), '(44, 5)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((17, 11, 17, 27), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(17, 19, 17, 22): '(444)', (17, 24, 17, 26): '(51)'}, {}), '(444, 51)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((18, 11, 18, 25), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(18, 19, 18, 21): '(14)', (18, 23, 18, 24): '(1)'}, {}), '(14, 1)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((53, 31, 53, 44), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(53, 39, 53, 40): '(0)', (53, 42, 53, 43): '(0)'}, {}), '(0, 0)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((54, 31, 54, 44), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(54, 39, 54, 40): '(0)', (54, 42, 54, 43): '(4)'}, {}), '(0, 4)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((55, 31, 55, 45), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(55, 39, 55, 41): '(44)', (55, 43, 55, 44): '(0)'}, {}), '(44, 0)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((56, 31, 56, 45), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(56, 39, 56, 41): '(44)', (56, 43, 56, 44): '(5)'}, {}), '(44, 5)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((57, 31, 57, 47), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(57, 39, 57, 42): '(444)', (57, 44, 57, 46): '(51)'}, {}), '(444, 51)', False, 'from CGAL.CGAL_Kernel import Point_2\n'), ((58, 31, 58, 45), 'CGAL.CGAL_Kernel.Point_2', 'Point_2', ({(58, 39, 58, 41): '(14)', (58, 43, 58, 44): '(1)'}, {}), '(14, 1)', False, 'from CGAL.CGAL_Kernel import Point_2\n')]