Skip to content

Instantly share code, notes, and snippets.

@Rogach
Created February 18, 2015 15:51
Show Gist options
  • Save Rogach/b57a2ebe5fa5a9b4cd81 to your computer and use it in GitHub Desktop.
Save Rogach/b57a2ebe5fa5a9b4cd81 to your computer and use it in GitHub Desktop.
12.02-335-gaa6b701
find_seed_vertex on f=0
Face 0: 0(2)-f0-7(2)-f0-1(0)-f0-2(0)-f0-8(2)-f0-
0 h= -2.72236 dist=3apex=(0.159074, -0.227556)
7 queued (h=-1.31573 )
8 queued (h=-1.09637 )
9 queued (h=-0.842597 )
7 marked IN (in_circle) ( -1.31573 )
8 marked IN (in_circle) ( -1.09637 )
9 marked IN (in_circle) ( -0.842597 )
augment_vertex_set() DONE
add_vertices():
find_in_out_edges() 3 IN-OUT edges
Position NEW vertex on 7 - 1
NEW vertex 1 k3= 1 on edge 7 - 1
Position NEW vertex on 8 - 2
NEW vertex 2 k3= 1 on edge 8 - 2
Position NEW vertex on 9 - 3
NEW vertex 3 k3= 1 on edge 9 - 3
add_vertices() done.
add_edges() on f=0 with 2 NEW verts.
find_edge_data():
Face 0: 2(0)-f0-2(3)-f0-8(1)-f0-0(1)-f0-7(1)-f0-1(3)-f0-1(0)-f0-
finding OUT-NEW-IN vertex:
2N=1 !SEPP=1
OUT-NEW-IN vertex is 2
finding IN-NEW-OUT vertex:
1N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 1
find_edge_data() NEW-NEW vertex pair: 2 - 1
add_edge with APEX 2 - [4] - 1
add_edges() all edges on f=0 added.
add_edges() on f=1 with 2 NEW verts.
find_edge_data():
Face 1: 3(0)-f1-3(3)-f1-9(1)-f1-0(1)-f1-8(1)-f1-2(3)-f1-2(0)-f1-
finding OUT-NEW-IN vertex:
3N=1 !SEPP=1
OUT-NEW-IN vertex is 3
finding IN-NEW-OUT vertex:
2N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 2
find_edge_data() NEW-NEW vertex pair: 3 - 2
add_edge with APEX 3 - [5] - 2
add_edges() all edges on f=1 added.
add_edges() on f=2 with 2 NEW verts.
find_edge_data():
Face 2: 9(1)-f2-3(3)-f2-3(0)-f2-1(0)-f2-1(3)-f2-7(1)-f2-0(1)-f2-
finding OUT-NEW-IN vertex:
1N=1 !SEPP=1
OUT-NEW-IN vertex is 1
finding IN-NEW-OUT vertex:
3N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 3
find_edge_data() NEW-NEW vertex pair: 1 - 3
add_edge with APEX 1 - [6] - 3
add_edges() all edges on f=2 added.
repair_face ( 3 ) null1=0 null2=0
nulled.first=0 nulled.second=0
edge 6 - 1
candidate: 1 - 7 f= 2
candidate: 1 - 1 f= 0
candidate: 1 - 4 f= 3
next: 1 - 4
candidate: 1 - 6 f= 2
edge 1 - 4
candidate: 4 - 2 f= 3
next: 4 - 2
candidate: 4 - 1 f= 0
edge 4 - 2
candidate: 2 - 8 f= 0
candidate: 2 - 2 f= 1
candidate: 2 - 4 f= 0
candidate: 2 - 5 f= 3
next: 2 - 5
edge 2 - 5
candidate: 5 - 3 f= 3
next: 5 - 3
candidate: 5 - 2 f= 1
edge 5 - 3
candidate: 3 - 9 f= 1
candidate: 3 - 3 f= 2
candidate: 3 - 5 f= 1
candidate: 3 - 6 f= 3
next: 3 - 6
edge 3 - 6
candidate: 6 - 1 f= 3
next: 6 - 1
candidate: 6 - 3 f= 2
new face: Face 3: 6(3)-f3-1(3)-f3-4(3)-f3-2(3)-f3-5(3)-f3-3(3)-f3-
find_seed_vertex on f=3
Face 3: 6(2)-f3-1(2)-f3-4(2)-f3-2(2)-f3-5(2)-f3-3(2)-f3-
1 h= -1.45159e-05 dist=3.28251apex=(-0.158774, -0.227556)
2 h= 0.264649 dist=3.01138apex=(-0.158774, -0.227556)
3 h= -0.262633 dist=2.80117apex=(-0.158774, -0.227556)
5 queued (h=0.0155423 )
6 queued (h=-0.281405 )
1 queued (h=-1.45159e-05 )
6 marked IN (in_circle) ( -0.281405 )
5 marked OUT (in_circle) ( 0.0155423 )
4 queued (h=0.288312 )
1 marked IN (in_circle) ( -1.45159e-05 )
4 marked OUT (in_circle) ( 0.288312 )
augment_vertex_set() DONE
add_vertices():
find_in_out_edges() 4 IN-OUT edges
Position NEW vertex on 3 - 3
NEW vertex 8 k3= 1 on edge 3 - 3
Position NEW vertex on 3 - 5
NEW vertex 9 k3= 1 on edge 3 - 5
Position NEW vertex on 1 - 1
NEW vertex 10 k3= 1 on edge 1 - 1
Position NEW vertex on 1 - 4
NEW vertex 11 k3= 1 on edge 1 - 4
add_vertices() done.
add_edges() on f=2 with 2 NEW verts.
find_edge_data():
Face 2: 1(0)-f2-10(3)-f2-1(1)-f2-6(1)-f2-3(1)-f2-8(3)-f2-3(0)-f2-
finding OUT-NEW-IN vertex:
10N=1 !SEPP=1
OUT-NEW-IN vertex is 10
finding IN-NEW-OUT vertex:
8N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 8
find_edge_data() NEW-NEW vertex pair: 10 - 8
add_edge with APEX 10 - [12] - 8
add_edges() all edges on f=2 added.
add_edges() on f=1 with 2 NEW verts.
find_edge_data():
Face 1: 3(1)-f1-9(3)-f1-5(0)-f1-2(2)-f1-2(0)-f1-3(0)-f1-8(3)-f1-
finding OUT-NEW-IN vertex:
8N=1 !SEPP=1
OUT-NEW-IN vertex is 8
finding IN-NEW-OUT vertex:
9N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 9
find_edge_data() NEW-NEW vertex pair: 8 - 9
add_edge with APEX 8 - [13] - 9
add_edges() all edges on f=1 added.
add_edges() on f=3 with 2 NEW verts.
find_edge_data():
Face 3: 1(1)-f3-11(3)-f3-4(0)-f3-2(2)-f3-5(0)-f3-9(3)-f3-3(1)-f3-6(1)-f3-
finding OUT-NEW-IN vertex:
9N=1 !SEPP=1
OUT-NEW-IN vertex is 9
finding IN-NEW-OUT vertex:
11N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 11
find_edge_data() NEW-NEW vertex pair: 9 - 11
add_edge with APEX 9 - [14] - 11
add_edges() all edges on f=3 added.
add_edges() on f=0 with 2 NEW verts.
find_edge_data():
Face 0: 4(0)-f0-11(3)-f0-1(1)-f0-10(3)-f0-1(0)-f0-2(0)-f0-2(2)-f0-
finding OUT-NEW-IN vertex:
11N=1 !SEPP=1
OUT-NEW-IN vertex is 11
finding IN-NEW-OUT vertex:
10N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 10
find_edge_data() NEW-NEW vertex pair: 11 - 10
add_edge 11 - 10
f= 0 new_face= 4
site= PointSite new_site=PointSite
add_edges() all edges on f=0 added.
repair_face ( 4 ) null1=0 null2=0
nulled.first=0 nulled.second=0
edge 10 - 11
candidate: 11 - 1 f= 0
candidate: 11 - 4 f= 3
candidate: 11 - 14 f= 4
next: 11 - 14
candidate: 11 - 10 f= 0
edge 11 - 14
candidate: 14 - 9 f= 4
next: 14 - 9
candidate: 14 - 11 f= 3
edge 14 - 9
candidate: 9 - 3 f= 3
candidate: 9 - 5 f= 1
candidate: 9 - 13 f= 4
next: 9 - 13
candidate: 9 - 14 f= 3
edge 9 - 13
candidate: 13 - 8 f= 4
next: 13 - 8
candidate: 13 - 9 f= 1
edge 13 - 8
candidate: 8 - 3 f= 1
candidate: 8 - 3 f= 2
candidate: 8 - 12 f= 4
next: 8 - 12
candidate: 8 - 13 f= 1
edge 8 - 12
candidate: 12 - 10 f= 4
next: 12 - 10
candidate: 12 - 8 f= 2
edge 12 - 10
candidate: 10 - 1 f= 2
candidate: 10 - 1 f= 0
candidate: 10 - 12 f= 2
candidate: 10 - 11 f= 4
next: 10 - 11
new face: Face 4: 10(3)-f4-11(3)-f4-14(3)-f4-9(3)-f4-13(3)-f4-8(3)-f4-12(3)-f4-
find_seed_vertex on f=4
Face 4: 10(2)-f4-11(2)-f4-14(2)-f4-9(2)-f4-13(2)-f4-8(2)-f4-12(2)-f4-
11 h= 0.726857 dist=3.28222apex=(-0.158774, 0.5)
9 h= -0.721183 dist=1.61769apex=(-0.158774, 0.5)
8 h= -0.35287 dist=3.01113apex=(-0.158774, 0.5)
10 h= 0.726859 dist=3.28253apex=(-0.158774, 0.5)
5 queued (h=-0.698032 )
13 queued (h=-0.725959 )
14 queued (h=0.585787 )
8 queued (h=-0.35287 )
13 marked IN (in_circle) ( -0.725959 )
2 queued (h=-0.0564776 )
5 marked IN (in_circle) ( -0.698032 )
14 marked OUT (in_circle) ( 0.585787 )
12 queued (h=0.453982 )
8 marked IN (in_circle) ( -0.35287 )
12 marked OUT (in_circle) ( 0.453982 )
4 queued (h=0.679589 )
2 marked IN (in_circle) ( -0.0564776 )
4 marked OUT (in_circle) ( 0.679589 )
augment_vertex_set() DONE
add_vertices():
find_in_out_edges() 5 IN-OUT edges
Position NEW vertex on 9 - 14
NEW vertex 16 k3= 1 on edge 9 - 14
Position NEW vertex on 8 - 3
NEW vertex 17 k3= 1 on edge 8 - 3
Position NEW vertex on 8 - 12
NEW vertex 18 k3= 1 on edge 8 - 12
Position NEW vertex on 2 - 2
NEW vertex 19 k3= 1 on edge 2 - 2
Position NEW vertex on 2 - 4
NEW vertex 20 k3= 1 on edge 2 - 4
add_vertices() done.
add_edges() on f=1 with 2 NEW verts.
find_edge_data():
Face 1: 2(1)-f1-19(3)-f1-2(0)-f1-3(0)-f1-17(3)-f1-8(1)-f1-13(1)-f1-9(1)-f1-5(1)-f1-
finding OUT-NEW-IN vertex:
17N=1 !SEPP=1
OUT-NEW-IN vertex is 17
finding IN-NEW-OUT vertex:
19N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 19
find_edge_data() NEW-NEW vertex pair: 17 - 19
add_edge with APEX 17 - [21] - 19
add_edges() all edges on f=1 added.
add_edges() on f=4 with 2 NEW verts.
find_edge_data():
Face 4: 8(1)-f4-18(3)-f4-12(0)-f4-10(2)-f4-11(2)-f4-14(0)-f4-16(3)-f4-9(1)-f4-13(1)-f4-
finding OUT-NEW-IN vertex:
16N=1 !SEPP=1
OUT-NEW-IN vertex is 16
finding IN-NEW-OUT vertex:
18N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 18
find_edge_data() NEW-NEW vertex pair: 16 - 18
add_edge with APEX 16 - [22] - 18
add_edges() all edges on f=4 added.
add_edges() on f=3 with 2 NEW verts.
find_edge_data():
Face 3: 4(0)-f3-20(3)-f3-2(1)-f3-5(1)-f3-9(1)-f3-16(3)-f3-14(0)-f3-11(2)-f3-
finding OUT-NEW-IN vertex:
20N=1 !SEPP=1
OUT-NEW-IN vertex is 20
finding IN-NEW-OUT vertex:
16N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 16
find_edge_data() NEW-NEW vertex pair: 20 - 16
add_edge with APEX 20 - [23] - 16
add_edges() all edges on f=3 added.
add_edges() on f=2 with 2 NEW verts.
find_edge_data():
Face 2: 12(0)-f2-18(3)-f2-8(1)-f2-17(3)-f2-3(0)-f2-1(0)-f2-10(2)-f2-
finding OUT-NEW-IN vertex:
18N=1 !SEPP=1
OUT-NEW-IN vertex is 18
finding IN-NEW-OUT vertex:
17N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 17
find_edge_data() NEW-NEW vertex pair: 18 - 17
add_edge 18 - 17
f= 2 new_face= 5
site= PointSite new_site=PointSite
add_edges() all edges on f=2 added.
add_edges() on f=0 with 2 NEW verts.
find_edge_data():
Face 0: 2(1)-f0-20(3)-f0-4(0)-f0-11(2)-f0-10(2)-f0-1(0)-f0-2(0)-f0-19(3)-f0-
finding OUT-NEW-IN vertex:
19N=1 !SEPP=1
OUT-NEW-IN vertex is 19
finding IN-NEW-OUT vertex:
20N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 20
find_edge_data() NEW-NEW vertex pair: 19 - 20
add_edge 19 - 20
f= 0 new_face= 5
site= PointSite new_site=PointSite
add_edges() all edges on f=0 added.
repair_face ( 5 ) null1=0 null2=0
nulled.first=0 nulled.second=0
edge 20 - 19
candidate: 19 - 2 f= 0
candidate: 19 - 2 f= 1
candidate: 19 - 21 f= 5
next: 19 - 21
candidate: 19 - 20 f= 0
edge 19 - 21
candidate: 21 - 17 f= 5
next: 21 - 17
candidate: 21 - 19 f= 1
edge 21 - 17
candidate: 17 - 8 f= 1
candidate: 17 - 3 f= 2
candidate: 17 - 21 f= 1
candidate: 17 - 18 f= 5
next: 17 - 18
edge 17 - 18
candidate: 18 - 8 f= 2
candidate: 18 - 12 f= 4
candidate: 18 - 22 f= 5
next: 18 - 22
candidate: 18 - 17 f= 2
edge 18 - 22
candidate: 22 - 16 f= 5
next: 22 - 16
candidate: 22 - 18 f= 4
edge 22 - 16
candidate: 16 - 9 f= 4
candidate: 16 - 14 f= 3
candidate: 16 - 22 f= 4
candidate: 16 - 23 f= 5
next: 16 - 23
edge 16 - 23
candidate: 23 - 20 f= 5
next: 23 - 20
candidate: 23 - 16 f= 3
edge 23 - 20
candidate: 20 - 2 f= 3
candidate: 20 - 4 f= 0
candidate: 20 - 23 f= 3
candidate: 20 - 19 f= 5
next: 20 - 19
new face: Face 5: 20(3)-f5-19(3)-f5-21(3)-f5-17(3)-f5-18(3)-f5-22(3)-f5-16(3)-f5-23(3)-f5-
find_seed_vertex on f=3
Face 3: 20(2)-f3-23(2)-f3-16(2)-f3-14(2)-f3-11(2)-f3-4(2)-f3-
16 h= 0.37697 dist=0.396978apex=(0.44085, -0.5)
11 h= -0.24416 dist=3.28222apex=(0.44085, -0.5)
20 h= -0.0670724 dist=2.71484apex=(0.44085, -0.5)
4 queued (h=-0.369671 )
14 queued (h=0.35919 )
10 queued (h=-0.244134 )
20 queued (h=-0.0670724 )
4 marked IN (in_circle) ( -0.369671 )
14 marked OUT (in_circle) ( 0.35919 )
12 queued (h=0.47967 )
10 marked IN (in_circle) ( -0.244134 )
12 marked OUT (in_circle) ( 0.47967 )
23 queued (h=0.37697 )
19 queued (h=0.00777025 )
20 marked IN (in_circle) ( -0.0670724 )
23 marked OUT (in_circle) ( 0.37697 )
19 marked OUT (in_circle) ( 0.00777025 )
augment_vertex_set() DONE
add_vertices():
find_in_out_edges() 5 IN-OUT edges
Position NEW vertex on 11 - 14
NEW vertex 25 k3= 1 on edge 11 - 14
Position NEW vertex on 10 - 1
NEW vertex 26 k3= 1 on edge 10 - 1
Position NEW vertex on 10 - 12
NEW vertex 27 k3= 1 on edge 10 - 12
Position NEW vertex on 20 - 23
NEW vertex 28 k3= 1 on edge 20 - 23
Position NEW vertex on 20 - 19
NEW vertex 29 k3= 1 on edge 20 - 19
add_vertices() done.
add_edges() on f=3 with 2 NEW verts.
find_edge_data():
Face 3: 20(1)-f3-28(3)-f3-23(0)-f3-16(2)-f3-14(0)-f3-25(3)-f3-11(1)-f3-4(1)-f3-
finding OUT-NEW-IN vertex:
25N=1 !SEPP=1
OUT-NEW-IN vertex is 25
finding IN-NEW-OUT vertex:
28N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 28
find_edge_data() NEW-NEW vertex pair: 25 - 28
add_edge with APEX 25 - [30] - 28
add_edges() all edges on f=3 added.
add_edges() on f=4 with 2 NEW verts.
find_edge_data():
Face 4: 12(0)-f4-27(3)-f4-10(1)-f4-11(1)-f4-25(3)-f4-14(0)-f4-16(2)-f4-22(2)-f4-18(2)-f4-
finding OUT-NEW-IN vertex:
27N=1 !SEPP=1
OUT-NEW-IN vertex is 27
finding IN-NEW-OUT vertex:
25N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 25
find_edge_data() NEW-NEW vertex pair: 27 - 25
add_edge 27 - 25
f= 4 new_face= 6
site= PointSite new_site=PointSite
add_edges() all edges on f=4 added.
add_edges() on f=0 with 2 NEW verts.
find_edge_data():
Face 0: 19(0)-f0-29(3)-f0-20(1)-f0-4(1)-f0-11(1)-f0-10(1)-f0-26(3)-f0-1(0)-f0-2(0)-f0-
finding OUT-NEW-IN vertex:
29N=1 !SEPP=1
OUT-NEW-IN vertex is 29
finding IN-NEW-OUT vertex:
26N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 26
find_edge_data() NEW-NEW vertex pair: 29 - 26
add_edge with APEX 29 - [31] - 26
add_edges() all edges on f=0 added.
add_edges() on f=2 with 2 NEW verts.
find_edge_data():
Face 2: 10(1)-f2-27(3)-f2-12(0)-f2-18(2)-f2-17(2)-f2-3(0)-f2-1(0)-f2-26(3)-f2-
finding OUT-NEW-IN vertex:
26N=1 !SEPP=1
OUT-NEW-IN vertex is 26
finding IN-NEW-OUT vertex:
27N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 27
find_edge_data() NEW-NEW vertex pair: 26 - 27
add_edge 26 - 27
f= 2 new_face= 6
site= PointSite new_site=PointSite
add_edges() all edges on f=2 added.
add_edges() on f=5 with 2 NEW verts.
find_edge_data():
Face 5: 20(1)-f5-29(3)-f5-19(0)-f5-21(2)-f5-17(2)-f5-18(2)-f5-22(2)-f5-16(2)-f5-23(0)-f5-28(3)-f5-
finding OUT-NEW-IN vertex:
28N=1 !SEPP=1
OUT-NEW-IN vertex is 28
finding IN-NEW-OUT vertex:
29N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 29
find_edge_data() NEW-NEW vertex pair: 28 - 29
add_edge 28 - 29
f= 5 new_face= 6
site= PointSite new_site=PointSite
add_edges() all edges on f=5 added.
repair_face ( 6 ) null1=0 null2=0
nulled.first=0 nulled.second=0
edge 29 - 28
candidate: 28 - 20 f= 5
candidate: 28 - 23 f= 3
candidate: 28 - 30 f= 6
next: 28 - 30
candidate: 28 - 29 f= 5
edge 28 - 30
candidate: 30 - 25 f= 6
next: 30 - 25
candidate: 30 - 28 f= 3
edge 30 - 25
candidate: 25 - 11 f= 3
candidate: 25 - 14 f= 4
candidate: 25 - 30 f= 3
candidate: 25 - 27 f= 6
next: 25 - 27
edge 25 - 27
candidate: 27 - 10 f= 4
candidate: 27 - 12 f= 2
candidate: 27 - 25 f= 4
candidate: 27 - 26 f= 6
next: 27 - 26
edge 27 - 26
candidate: 26 - 10 f= 2
candidate: 26 - 1 f= 0
candidate: 26 - 31 f= 6
next: 26 - 31
candidate: 26 - 27 f= 2
edge 26 - 31
candidate: 31 - 29 f= 6
next: 31 - 29
candidate: 31 - 26 f= 0
edge 31 - 29
candidate: 29 - 20 f= 0
candidate: 29 - 19 f= 5
candidate: 29 - 31 f= 0
candidate: 29 - 28 f= 6
next: 29 - 28
new face: Face 6: 29(3)-f6-28(3)-f6-30(3)-f6-25(3)-f6-27(3)-f6-26(3)-f6-31(3)-f6-
find_seed_vertex on f=5
Face 5: 28(2)-f5-29(2)-f5-19(2)-f5-21(2)-f5-17(2)-f5-18(2)-f5-22(2)-f5-16(2)-f5-23(2)-f5-
29 h= -0.555572 dist=3.03115apex=(0.44085, 0.5)
19 h= -0.55331 dist=3.07456apex=(0.44085, 0.5)
17 h= 0.553977 dist=3.55141apex=(0.44085, 0.5)
18 h= 0.590128 dist=1.77889apex=(0.44085, 0.5)
16 h= 0.174469 dist=0.396978apex=(0.44085, 0.5)
28 h= -0.588657 dist=1.53214apex=(0.44085, 0.5)
23 queued (h=0.174469 )
30 queued (h=0.679218 )
29 queued (h=-0.555572 )
30 marked OUT (in_circle) ( 0.679218 )
19 queued (h=-0.55331 )
31 queued (h=0.658673 )
29 marked IN (in_circle) ( -0.555572 )
31 marked OUT (in_circle) ( 0.658673 )
21 queued (h=0.101419 )
19 marked IN (in_circle) ( -0.55331 )
23 marked OUT (in_circle) ( 0.174469 )
21 marked OUT (in_circle) ( 0.101419 )
augment_vertex_set() DONE
add_vertices():
find_in_out_edges() 5 IN-OUT edges
Position NEW vertex on 28 - 23
NEW vertex 33 k3= 1 on edge 28 - 23
Position NEW vertex on 28 - 30
NEW vertex 34 k3= 1 on edge 28 - 30
Position NEW vertex on 29 - 31
NEW vertex 35 k3= 1 on edge 29 - 31
Position NEW vertex on 19 - 2
NEW vertex 36 k3= 1 on edge 19 - 2
Position NEW vertex on 19 - 21
NEW vertex 37 k3= 1 on edge 19 - 21
add_vertices() done.
add_edges() on f=3 with 2 NEW verts.
find_edge_data():
Face 3: 30(0)-f3-34(3)-f3-28(1)-f3-33(3)-f3-23(0)-f3-16(2)-f3-14(2)-f3-25(2)-f3-
finding OUT-NEW-IN vertex:
34N=1 !SEPP=1
OUT-NEW-IN vertex is 34
finding IN-NEW-OUT vertex:
33N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 33
find_edge_data() NEW-NEW vertex pair: 34 - 33
add_edge with APEX 34 - [38] - 33
add_edges() all edges on f=3 added.
add_edges() on f=6 with 2 NEW verts.
find_edge_data():
Face 6: 31(0)-f6-35(3)-f6-29(1)-f6-28(1)-f6-34(3)-f6-30(0)-f6-25(2)-f6-27(2)-f6-26(2)-f6-
finding OUT-NEW-IN vertex:
35N=1 !SEPP=1
OUT-NEW-IN vertex is 35
finding IN-NEW-OUT vertex:
34N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 34
find_edge_data() NEW-NEW vertex pair: 35 - 34
add_edge 35 - 34
f= 6 new_face= 7
site= PointSite new_site=PointSite
add_edges() all edges on f=6 added.
add_edges() on f=5 with 2 NEW verts.
find_edge_data():
Face 5: 19(1)-f5-37(3)-f5-21(0)-f5-17(2)-f5-18(2)-f5-22(2)-f5-16(2)-f5-23(0)-f5-33(3)-f5-28(1)-f5-29(1)-f5-
finding OUT-NEW-IN vertex:
33N=1 !SEPP=1
OUT-NEW-IN vertex is 33
finding IN-NEW-OUT vertex:
37N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 37
find_edge_data() NEW-NEW vertex pair: 33 - 37
add_edge with APEX 33 - [39] - 37
add_edges() all edges on f=5 added.
add_edges() on f=0 with 2 NEW verts.
find_edge_data():
Face 0: 2(0)-f0-36(3)-f0-19(1)-f0-29(1)-f0-35(3)-f0-31(0)-f0-26(2)-f0-1(0)-f0-
finding OUT-NEW-IN vertex:
36N=1 !SEPP=1
OUT-NEW-IN vertex is 36
finding IN-NEW-OUT vertex:
35N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 35
find_edge_data() NEW-NEW vertex pair: 36 - 35
add_edge 36 - 35
f= 0 new_face= 7
site= PointSite new_site=PointSite
add_edges() all edges on f=0 added.
add_edges() on f=1 with 2 NEW verts.
find_edge_data():
Face 1: 21(0)-f1-37(3)-f1-19(1)-f1-36(3)-f1-2(0)-f1-3(0)-f1-17(2)-f1-
finding OUT-NEW-IN vertex:
37N=1 !SEPP=1
OUT-NEW-IN vertex is 37
finding IN-NEW-OUT vertex:
36N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 36
find_edge_data() NEW-NEW vertex pair: 37 - 36
add_edge with APEX 37 - [40] - 36
add_edges() all edges on f=1 added.
repair_face ( 7 ) null1=0 null2=0
nulled.first=0 nulled.second=0
edge 40 - 37
candidate: 37 - 19 f= 1
candidate: 37 - 21 f= 5
candidate: 37 - 39 f= 7
next: 37 - 39
candidate: 37 - 40 f= 1
edge 37 - 39
candidate: 39 - 33 f= 7
next: 39 - 33
candidate: 39 - 37 f= 5
edge 39 - 33
candidate: 33 - 28 f= 5
candidate: 33 - 23 f= 3
candidate: 33 - 38 f= 7
next: 33 - 38
candidate: 33 - 39 f= 5
edge 33 - 38
candidate: 38 - 34 f= 7
next: 38 - 34
candidate: 38 - 33 f= 3
edge 38 - 34
candidate: 34 - 28 f= 3
candidate: 34 - 30 f= 6
candidate: 34 - 38 f= 3
candidate: 34 - 35 f= 7
next: 34 - 35
edge 34 - 35
candidate: 35 - 29 f= 6
candidate: 35 - 31 f= 0
candidate: 35 - 34 f= 6
candidate: 35 - 36 f= 7
next: 35 - 36
edge 35 - 36
candidate: 36 - 19 f= 0
candidate: 36 - 2 f= 1
candidate: 36 - 35 f= 0
candidate: 36 - 40 f= 7
next: 36 - 40
edge 36 - 40
candidate: 40 - 37 f= 7
next: 40 - 37
candidate: 40 - 36 f= 1
new face: Face 7: 40(3)-f7-37(3)-f7-39(3)-f7-33(3)-f7-38(3)-f7-34(3)-f7-35(3)-f7-36(3)-f7-
insert_line_site( 0 - 7 )
find_seed_vertex on f=3
Face 3: 34(2)-f3-38(2)-f3-33(2)-f3-23(2)-f3-16(2)-f3-14(2)-f3-25(2)-f3-30(2)-f3-
33 h= -0.000382251 dist=0.42571apex=(0.141038, -0.227556)
16 h= -0.0331998 dist=0.396978apex=(0.00014991, -0.227556)
25 h= -0.0274514 dist=0.473755apex=(0.00014991, -0.227556)
34 h= 1.11022e-16 dist=0.542637apex=(0.159074, -0.227556)
start face seed = 16
face 5 requires SPLIT vertices on edges:
21-f5-17
22-f5-16
split src=21(1.25252) trg=17(3.55141)
is_right src=1 trg=0
new split-vertex 41 t=1.25504 inserted into edge 21-17
split src=22(0.363778) trg=16(0.396978)
is_right src=0 trg=1
14 queued (h=-0.158924 )
22 queued (h=0 )
23 queued (h=-0.0331998 )
25 queued (h=-0.0274514 )
14 marked IN (in_circle) ( -0.158924 )
33 queued (h=-0.000382251 )
23 marked IN (in_circle) ( -0.0331998 )
30 queued (h=0 )
27 queued (h=0 )
25 marked IN (in_circle) ( -0.0274514 )
38 queued (h=0 )
39 queued (h=0.427744 )
33 marked IN (in_circle) ( -0.000382251 )
39 marked OUT (in_circle) ( 0.427744 )
27 marked OUT (in_circle) ( 0 )
22 marked OUT (in_circle) ( 0 )
30 marked OUT (in_circle) ( 0 )
38 marked OUT (in_circle) ( 0 )
augment_vertex_set() DONE
delete-set |v0|=5 : 16[1] 14[5] 23[5] 25[1] 33[1]
find_null_face() endp= 0 creating new null_face 8
k3_sign = 0
sep1 = 43 k3=-1
sep2 = 44 k3=1
find_null_face() endp= 7 creating new null_face 9
k3_sign = 1
sep1 = 46 k3=1
sep2 = 47 k3=-1
created faces: pos_face=10 neg_face=11
add_vertices():
find_in_out_edges() 5 IN-OUT edges
Position NEW vertex on 16 - 22
NEW vertex 48 k3= 1 on edge 16 - 22
Position NEW vertex on 25 - 30
NEW vertex 49 k3= -1 on edge 25 - 30
Position NEW vertex on 25 - 27
NEW vertex 50 k3= -1 on edge 25 - 27
Position NEW vertex on 33 - 38
NEW vertex 51 k3= 1 on edge 33 - 38
Position NEW vertex on 33 - 39
NEW vertex 52 k3= 1 on edge 33 - 39
add_vertices() done.
find_separator_target f=3 endp= 43
Face 3: 38(0)-f3-51(3)-f3-33(1)-f3-23(1)-f3-16(1)-f3-14(1)-f3-25(1)-f3-49(3)-f3-30(0)-f3-34(2)-f3-
potential OUT/IN-NEW-IN/OUT: 38-51-33
g[endp].k3 = -1
g[current_vertex].k3 = 1
k3 match? = 0
endp!=current_vertex ? = 1
potential OUT/IN-NEW-IN/OUT: 25-49-30
FOUND!
find_separator_target f=3 endp= 44
Face 3: 38(0)-f3-51(3)-f3-33(1)-f3-23(1)-f3-16(1)-f3-14(1)-f3-25(1)-f3-49(3)-f3-30(0)-f3-34(2)-f3-
potential OUT/IN-NEW-IN/OUT: 38-51-33
FOUND!
add_separator() f=3 endp=43
add_separator() endp_next_tw=43-f8-44
add_separator() endp_prev_tw=42-f8-43
add_separator() g[endp_next_tw].twin=44-f3-43
add_separator() g[endp_prev_tw].twin=43-f3-42
add_separator() v_previous=25-f3-49
add_separator() v_target=49
add_separator(): 43 - 49. Done.
add_separator() f=3 endp=44
add_separator() endp_next_tw=44-f8-42
add_separator() endp_prev_tw=43-f8-44
add_separator() g[endp_next_tw].twin=42-f3-44
add_separator() g[endp_prev_tw].twin=44-f3-43
add_separator() v_previous=38-f3-51
add_separator() v_target=51
add_separator(): 44 - 51. Done.
find_separator_target f=4 endp= 46
Face 4: 27(0)-f4-50(3)-f4-25(1)-f4-14(1)-f4-16(1)-f4-48(3)-f4-22(0)-f4-18(2)-f4-12(2)-f4-
potential OUT/IN-NEW-IN/OUT: 27-50-25
g[endp].k3 = 1
g[current_vertex].k3 = -1
k3 match? = 0
endp!=current_vertex ? = 1
potential OUT/IN-NEW-IN/OUT: 16-48-22
FOUND!
find_separator_target f=4 endp= 47
Face 4: 27(0)-f4-50(3)-f4-25(1)-f4-14(1)-f4-16(1)-f4-48(3)-f4-22(0)-f4-18(2)-f4-12(2)-f4-
potential OUT/IN-NEW-IN/OUT: 27-50-25
FOUND!
add_separator() f=4 endp=46
add_separator() endp_next_tw=46-f9-47
add_separator() endp_prev_tw=45-f9-46
add_separator() g[endp_next_tw].twin=47-f4-46
add_separator() g[endp_prev_tw].twin=46-f4-45
add_separator() v_previous=16-f4-48
add_separator() v_target=48
add_separator(): 46 - 48. Done.
add_separator() f=4 endp=47
add_separator() endp_next_tw=47-f9-45
add_separator() endp_prev_tw=46-f9-47
add_separator() g[endp_next_tw].twin=45-f4-47
add_separator() g[endp_prev_tw].twin=47-f4-46
add_separator() v_previous=27-f4-50
add_separator() v_target=50
add_separator(): 47 - 50. Done.
all separators done.
adding edges.
add_edges f= 5
Face 5: 33(1)-f5-52(3)-f5-39(0)-f5-37(2)-f5-21(2)-f5-41(2)-f5-17(2)-f5-18(2)-f5-22(0)-f5-48(3)-f5-16(1)-f5-23(1)-f5-
add_edges() on f=5 with 2 NEW verts.
find_edge_data():
Face 5: 33(1)-f5-52(3)-f5-39(0)-f5-37(2)-f5-21(2)-f5-41(2)-f5-17(2)-f5-18(2)-f5-22(0)-f5-48(3)-f5-16(1)-f5-23(1)-f5-
finding OUT-NEW-IN vertex:
48N=1 !SEPP=1
OUT-NEW-IN vertex is 48
finding IN-NEW-OUT vertex:
52N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 52
find_edge_data() NEW-NEW vertex pair: 48 - 52
add_edge with APEX 48 - [53] - 52
add_edges() all edges on f=5 added.
add_edges f= 6
Face 6: 25(1)-f6-50(3)-f6-27(0)-f6-26(2)-f6-31(2)-f6-35(2)-f6-34(2)-f6-30(0)-f6-49(3)-f6-
add_edges() on f=6 with 2 NEW verts.
find_edge_data():
Face 6: 25(1)-f6-50(3)-f6-27(0)-f6-26(2)-f6-31(2)-f6-35(2)-f6-34(2)-f6-30(0)-f6-49(3)-f6-
finding OUT-NEW-IN vertex:
49N=1 !SEPP=1
OUT-NEW-IN vertex is 49
finding IN-NEW-OUT vertex:
50N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 50
find_edge_data() NEW-NEW vertex pair: 49 - 50
add_edge 49 - 50
f= 6 new_face= 11
site= PointSite new_site=LineSite
add_edges() all edges on f=6 added.
add_edges f= 7
Face 7: 39(0)-f7-52(3)-f7-33(1)-f7-51(3)-f7-38(0)-f7-34(2)-f7-35(2)-f7-36(2)-f7-40(2)-f7-37(2)-f7-
add_edges() on f=7 with 2 NEW verts.
find_edge_data():
Face 7: 39(0)-f7-52(3)-f7-33(1)-f7-51(3)-f7-38(0)-f7-34(2)-f7-35(2)-f7-36(2)-f7-40(2)-f7-37(2)-f7-
finding OUT-NEW-IN vertex:
52N=1 !SEPP=1
OUT-NEW-IN vertex is 52
finding IN-NEW-OUT vertex:
51N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 51
find_edge_data() NEW-NEW vertex pair: 52 - 51
add_edge 52 - 51
f= 7 new_face= 10
site= PointSite new_site=LineSite
add_edges() all edges on f=7 added.
adding edges. DONE.
will now repair pos/neg faces: 10 11
repair_face ( 10 ) null1=8 null2=9
seg_start=42 seg_end=45
nulled.first=0 nulled.second=0
edge 51 - 52
candidate: 52 - 39 f= 5
candidate: 52 - 53 f= 10
next: 52 - 53
candidate: 52 - 51 f= 7
edge 52 - 53
candidate: 53 - 48 f= 10
next: 53 - 48
candidate: 53 - 52 f= 5
edge 53 - 48
candidate: 48 - 22 f= 4
candidate: 48 - 46 f= 10
next: 48 - 46
candidate: 48 - 53 f= 5
edge 48 - 46
candidate: 46 - 45 f= 10
face and k-val override! f=10 k=1
next: 46 - 45
candidate: 46 - 47 f= 9
candidate: 46 - 48 f= 4
edge 46 - 45
candidate: 45 - 46 f= 9
candidate: 45 - 47 f= 11
candidate: 45 - 42 f= 10
next: 45 - 42
edge 45 - 42
candidate: 42 - 43 f= 8
candidate: 42 - 44 f= 10
face and k-val override! f=10 k=1
next: 42 - 44
candidate: 42 - 45 f= 11
edge 42 - 44
candidate: 44 - 43 f= 3
candidate: 44 - 42 f= 8
candidate: 44 - 51 f= 10
next: 44 - 51
edge 44 - 51
candidate: 51 - 38 f= 7
candidate: 51 - 44 f= 3
candidate: 51 - 52 f= 10
next: 51 - 52
repair_face ( 11 ) null1=8 null2=9
seg_start=42 seg_end=45
nulled.first=0 nulled.second=0
edge 50 - 49
candidate: 49 - 30 f= 3
candidate: 49 - 43 f= 11
next: 49 - 43
candidate: 49 - 50 f= 6
edge 49 - 43
candidate: 43 - 42 f= 11
face and k-val override! f=11 k=-1
next: 43 - 42
candidate: 43 - 44 f= 8
candidate: 43 - 49 f= 3
edge 43 - 42
candidate: 42 - 43 f= 8
candidate: 42 - 44 f= 10
candidate: 42 - 45 f= 11
next: 42 - 45
edge 42 - 45
candidate: 45 - 46 f= 9
candidate: 45 - 47 f= 11
face and k-val override! f=11 k=-1
next: 45 - 47
candidate: 45 - 42 f= 10
edge 45 - 47
candidate: 47 - 46 f= 4
candidate: 47 - 45 f= 9
candidate: 47 - 50 f= 11
next: 47 - 50
edge 47 - 50
candidate: 50 - 27 f= 6
candidate: 50 - 47 f= 4
candidate: 50 - 49 f= 11
next: 50 - 49
faces repaired.
remove_split_vertex( 3 )
Face 3: 51(3)-f3-44(2)-f3-43(2)-f3-49(3)-f3-30(0)-f3-34(2)-f3-38(0)-f3-
remove_split_vertex( 4 )
Face 4: 50(3)-f4-47(2)-f4-46(2)-f4-48(3)-f4-22(0)-f4-18(2)-f4-12(2)-f4-27(0)-f4-
remove_split_vertex( 5 )
Face 5: 48(3)-f5-53(3)-f5-52(3)-f5-39(0)-f5-37(2)-f5-21(2)-f5-41(2)-f5-17(2)-f5-18(2)-f5-22(0)-f5-
removing split-vertex 41
remove_split_vertex( 6 )
Face 6: 49(3)-f6-50(3)-f6-27(0)-f6-26(2)-f6-31(2)-f6-35(2)-f6-34(2)-f6-30(0)-f6-
remove_split_vertex( 7 )
Face 7: 52(3)-f7-51(3)-f7-38(0)-f7-34(2)-f7-35(2)-f7-36(2)-f7-40(2)-f7-37(2)-f7-39(0)-f7-
insert_line_site( 7 - 15 )
find_seed_vertex on f=4
Face 4: 50(2)-f4-47(2)-f4-46(2)-f4-48(2)-f4-22(2)-f4-18(2)-f4-12(2)-f4-27(2)-f4-
48 h= -0.363778 dist=0.363778apex=(-0.158774, 0.136222)
18 h= -0.0375931 dist=1.77889apex=(-0.158774, 0.136222)
27 h= 0 dist=2.0304apex=(-0.158774, -0.227556)
50 h= 0 dist=0.796082apex=(-0.158774, -0.227556)
start face seed = 48
22 queued (h=-0.363778 )
46 queued (h=5.55112e-17 )
53 queued (h=-0.363778 )
18 queued (h=-0.0375931 )
22 marked IN (in_circle) ( -0.363778 )
52 queued (h=-0.125739 )
53 marked IN (in_circle) ( -0.363778 )
face 7 requires SPLIT vertices on edges:
35-f7-36
39-f7-52
split src=35(1.6212) trg=36(4.30063)
is_right src=1 trg=0
new split-vertex 54 t=2.00573 inserted into edge 35-36
split src=39(0.299812) trg=52(0.425552)
is_right src=0 trg=1
new split-vertex 55 t=0.299812 inserted into edge 39-52
51 queued (h=-0.100494 )
55 queued (h=0 )
52 marked IN (in_circle) ( -0.125739 )
face 3 requires SPLIT vertices on edges:
30-f3-34
split src=30(0.195974) trg=34(0.542637)
is_right src=1 trg=0
new split-vertex 56 t=0.272599 inserted into edge 30-34
38 queued (h=0.0686292 )
44 queued (h=0.317849 )
51 marked IN (in_circle) ( -0.100494 )
44 marked OUT (in_circle) ( 0.317849 )
38 marked OUT (in_circle) ( 0.0686292 )
12 queued (h=0 )
17 queued (h=0 )
18 marked IN (in_circle) ( -0.0375931 )
46 marked OUT (in_circle) ( 5.55112e-17 )
12 marked OUT (in_circle) ( 0 )
55 marked OUT (in_circle) ( 0 )
17 marked OUT (in_circle) ( 0 )
augment_vertex_set() DONE
delete-set |v0|=6 : 48[1] 22[5] 53[5] 52[1] 51[1] 18[1]
endp= 7 has existing null_face :
Face 9: 45(0)-f9-46(0)-f9-47(2)-f9-
Looking for endpoint edge:
incident= 1 45-f9-46
endpoint edge is 45-f9-46
new endpoint vertex 57 inserted in edge 45-f9-46
process_null_edge: 57-f9-46
next_prev=1
next edge : 57-f9-46
next_previous edge : 45-f9-57
46 has out-vertex 48 status=1
45 has out-vertex 42 status=0
not identical SEPPOINT case. either inserting new SEPPOINT, or pushing existing vertex which becomes SEPPOINT/NORMAL
46 has out-vertex 48 status=1
pushed vertex 46 becomes SEPPOINT, sep_alfa = 2
process_null_edge: 45-f9-57
next_prev=0
e.trg=(ENDPOINT)
added NEW NORMAL vertex 58 in edge 45-f9-57
Face 9: 45(0)-f9-58(3)-f9-57(0)-f9-46(3)-f9-47(2)-f9-
find_null_face() endp= 15 creating new null_face 12
k3_sign = 1
sep1 = 60 k3=1
sep2 = 61 k3=-1
created faces: pos_face=13 neg_face=14
add_vertices():
find_in_out_edges() 5 IN-OUT edges
Position NEW vertex on 52 - 55
NEW vertex 62 k3= 1 on edge 52 - 55
Position NEW vertex on 51 - 38
NEW vertex 63 k3= 1 on edge 51 - 38
Position NEW vertex on 51 - 44
SEPSolver.
SEPSolver sv= (-0, 1)
SEPSolver.
SEPSolver sv= (-0, 1)
NEW vertex 64 k3= 1 on edge 51 - 44
Position NEW vertex on 18 - 12
NEW vertex 65 k3= -1 on edge 18 - 12
Position NEW vertex on 18 - 17
NEW vertex 66 k3= -1 on edge 18 - 17
add_vertices() done.
find_separator_target f=4 endp= 46
Face 4: 18(1)-f4-65(3)-f4-12(0)-f4-27(2)-f4-50(2)-f4-47(2)-f4-46(3)-f4-48(1)-f4-22(1)-f4-
potential OUT/IN-NEW-IN/OUT: 18-65-12
FOUND!
add_separator() f=4 endp=46
add_separator() endp_next_tw=46-f9-47
add_separator() endp_prev_tw=57-f9-46
add_separator() g[endp_next_tw].twin=47-f4-46
add_separator() g[endp_prev_tw].twin=46-f10-57
add_separator() v_previous=18-f4-65
add_separator() v_target=65
add_separator(): 46 - 65. Done.
find_separator_target f=5 endp= 60
Face 5: 17(0)-f5-66(3)-f5-18(1)-f5-22(1)-f5-48(1)-f5-53(1)-f5-52(1)-f5-62(3)-f5-55(0)-f5-39(2)-f5-37(2)-f5-21(2)-f5-
potential OUT/IN-NEW-IN/OUT: 17-66-18
g[endp].k3 = 1
g[current_vertex].k3 = -1
k3 match? = 0
endp!=current_vertex ? = 1
potential OUT/IN-NEW-IN/OUT: 52-62-55
FOUND!
find_separator_target f=5 endp= 61
Face 5: 17(0)-f5-66(3)-f5-18(1)-f5-22(1)-f5-48(1)-f5-53(1)-f5-52(1)-f5-62(3)-f5-55(0)-f5-39(2)-f5-37(2)-f5-21(2)-f5-
potential OUT/IN-NEW-IN/OUT: 17-66-18
FOUND!
add_separator() f=5 endp=60
add_separator() endp_next_tw=60-f12-61
add_separator() endp_prev_tw=59-f12-60
add_separator() g[endp_next_tw].twin=61-f5-60
add_separator() g[endp_prev_tw].twin=60-f5-59
add_separator() v_previous=52-f5-62
add_separator() v_target=62
add_separator(): 60 - 62. Done.
add_separator() f=5 endp=61
add_separator() endp_next_tw=61-f12-59
add_separator() endp_prev_tw=60-f12-61
add_separator() g[endp_next_tw].twin=59-f5-61
add_separator() g[endp_prev_tw].twin=61-f5-60
add_separator() v_previous=17-f5-66
add_separator() v_target=66
add_separator(): 61 - 66. Done.
all separators done.
adding edges.
add_edges f= 10
Face 10: 44(0)-f10-64(3)-f10-51(1)-f10-52(1)-f10-53(1)-f10-48(1)-f10-46(3)-f14-57(0)-f10-58(3)-f10-45(0)-f10-42(0)-f10-
add_edges() on f=10 with 2 NEW verts.
find_edge_data():
Face 10: 44(0)-f10-64(3)-f10-51(1)-f10-52(1)-f10-53(1)-f10-48(1)-f10-46(3)-f14-57(0)-f10-58(3)-f10-45(0)-f10-42(0)-f10-
finding OUT-NEW-IN vertex:
64N=1 !SEPP=1
OUT-NEW-IN vertex is 64
finding IN-NEW-OUT vertex:
58N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 58
find_edge_data() NEW-NEW vertex pair: 64 - 58
add_edge 64 - 58
f= 10 new_face= 13
site= LineSite new_site=LineSite
add_edges() all edges on f=10 added.
add_edges f= 7
Face 7: 51(1)-f7-63(3)-f7-38(0)-f7-34(2)-f7-35(2)-f7-54(2)-f7-36(2)-f7-40(2)-f7-37(2)-f7-39(2)-f7-55(0)-f7-62(3)-f7-52(1)-f7-
add_edges() on f=7 with 2 NEW verts.
find_edge_data():
Face 7: 51(1)-f7-63(3)-f7-38(0)-f7-34(2)-f7-35(2)-f7-54(2)-f7-36(2)-f7-40(2)-f7-37(2)-f7-39(2)-f7-55(0)-f7-62(3)-f7-52(1)-f7-
finding OUT-NEW-IN vertex:
62N=1 !SEPP=1
OUT-NEW-IN vertex is 62
finding IN-NEW-OUT vertex:
63N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 63
find_edge_data() NEW-NEW vertex pair: 62 - 63
add_edge with APEX 62 - [67] - 63
add_edges() all edges on f=7 added.
add_edges f= 3
Face 3: 51(1)-f3-64(3)-f3-44(0)-f3-43(2)-f3-49(2)-f3-30(2)-f3-56(2)-f3-34(2)-f3-38(0)-f3-63(3)-f3-
add_edges() on f=3 with 2 NEW verts.
find_edge_data():
Face 3: 51(1)-f3-64(3)-f3-44(0)-f3-43(2)-f3-49(2)-f3-30(2)-f3-56(2)-f3-34(2)-f3-38(0)-f3-63(3)-f3-
finding OUT-NEW-IN vertex:
63N=1 !SEPP=1
OUT-NEW-IN vertex is 63
finding IN-NEW-OUT vertex:
64N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 64
find_edge_data() NEW-NEW vertex pair: 63 - 64
add_edge 63 - 64
f= 3 new_face= 13
site= PointSite new_site=LineSite
add_edges() all edges on f=3 added.
add_edges f= 2
Face 2: 18(1)-f2-66(3)-f2-17(0)-f2-3(0)-f2-1(0)-f2-26(2)-f2-27(2)-f2-12(0)-f2-65(3)-f2-
add_edges() on f=2 with 2 NEW verts.
find_edge_data():
Face 2: 18(1)-f2-66(3)-f2-17(0)-f2-3(0)-f2-1(0)-f2-26(2)-f2-27(2)-f2-12(0)-f2-65(3)-f2-
finding OUT-NEW-IN vertex:
65N=1 !SEPP=1
OUT-NEW-IN vertex is 65
finding IN-NEW-OUT vertex:
66N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 66
find_edge_data() NEW-NEW vertex pair: 65 - 66
add_edge 65 - 66
f= 2 new_face= 14
site= PointSite new_site=LineSite
add_edges() all edges on f=2 added.
adding edges. DONE.
will now repair pos/neg faces: 13 14
repair_face ( 13 ) null1=9 null2=12
seg_start=57 seg_end=59
nulled.first=0 nulled.second=0
edge 64 - 63
candidate: 63 - 38 f= 7
candidate: 63 - 67 f= 13
next: 63 - 67
candidate: 63 - 64 f= 3
edge 63 - 67
candidate: 67 - 62 f= 13
next: 67 - 62
candidate: 67 - 63 f= 7
edge 67 - 62
candidate: 62 - 55 f= 5
candidate: 62 - 60 f= 13
next: 62 - 60
candidate: 62 - 67 f= 7
edge 62 - 60
candidate: 60 - 59 f= 13
face and k-val override! f=13 k=1
next: 60 - 59
candidate: 60 - 61 f= 12
candidate: 60 - 62 f= 5
edge 60 - 59
candidate: 59 - 60 f= 12
candidate: 59 - 61 f= 14
candidate: 59 - 57 f= 13
next: 59 - 57
edge 59 - 57
candidate: 57 - 46 f= 9
candidate: 57 - 58 f= 10
face and k-val override! f=13 k=1
next: 57 - 58
candidate: 57 - 59 f= 14
edge 57 - 58
candidate: 58 - 45 f= 10
candidate: 58 - 57 f= 9
candidate: 58 - 64 f= 13
next: 58 - 64
edge 58 - 64
candidate: 64 - 44 f= 3
candidate: 64 - 58 f= 10
candidate: 64 - 63 f= 13
next: 64 - 63
repair_face ( 14 ) null1=9 null2=12
seg_start=57 seg_end=59
nulled.first=0 nulled.second=0
edge 66 - 65
candidate: 65 - 12 f= 4
candidate: 65 - 46 f= 14
next: 65 - 46
candidate: 65 - 66 f= 2
edge 65 - 46
candidate: 46 - 47 f= 9
candidate: 46 - 57 f= 14
face and k-val override! f=14 k=-1
next: 46 - 57
candidate: 46 - 65 f= 4
edge 46 - 57
candidate: 57 - 46 f= 9
candidate: 57 - 58 f= 13
candidate: 57 - 59 f= 14
next: 57 - 59
edge 57 - 59
candidate: 59 - 60 f= 12
candidate: 59 - 61 f= 14
face and k-val override! f=14 k=-1
next: 59 - 61
candidate: 59 - 57 f= 13
edge 59 - 61
candidate: 61 - 60 f= 5
candidate: 61 - 59 f= 12
candidate: 61 - 66 f= 14
next: 61 - 66
edge 61 - 66
candidate: 66 - 17 f= 2
candidate: 66 - 61 f= 5
candidate: 66 - 65 f= 14
next: 66 - 65
faces repaired.
remove_split_vertex( 4 )
Face 4: 46(3)-f4-65(3)-f4-12(0)-f4-27(2)-f4-50(2)-f4-47(2)-f4-
remove_split_vertex( 5 )
Face 5: 66(3)-f5-61(2)-f5-60(2)-f5-62(3)-f5-55(0)-f5-39(2)-f5-37(2)-f5-21(2)-f5-17(0)-f5-
removing split-vertex 55
remove_split_vertex( 10 )
Face 10: 64(3)-f10-58(3)-f10-45(0)-f10-42(0)-f10-44(0)-f10-
remove_split_vertex( 7 )
Face 7: 39(2)-f7-62(3)-f7-67(3)-f7-63(3)-f7-38(0)-f7-34(2)-f7-35(2)-f7-54(2)-f7-36(2)-f7-40(2)-f7-37(2)-f7-
removing split-vertex 54
remove_split_vertex( 3 )
Face 3: 63(3)-f3-64(3)-f3-44(0)-f3-43(2)-f3-49(2)-f3-30(2)-f3-56(2)-f3-34(2)-f3-38(0)-f3-
removing split-vertex 56
remove_split_vertex( 2 )
Face 2: 65(3)-f2-66(3)-f2-17(0)-f2-3(0)-f2-1(0)-f2-26(2)-f2-27(2)-f2-12(0)-f2-
insert_line_site( 24 - 32 )
find_seed_vertex on f=6
Face 6: 34(2)-f6-30(2)-f6-49(2)-f6-50(2)-f6-27(2)-f6-26(2)-f6-31(2)-f6-35(2)-f6-
49 h= 0 dist=0.281936apex=(0.44085, -0.5)
50 h= 0 dist=0.796082apex=(0.44085, -0.5)
27 h= 0 dist=2.0304apex=(0.44085, -0.5)
26 h= 0 dist=3.80346apex=(0.44085, -0.5)
35 h= -0.0790296 dist=1.6212apex=(0.44085, 0)
34 h= -0.331794 dist=0.542637apex=(0.44085, 0)
start face seed = 34
face 3 requires SPLIT vertices on edges:
30-f3-34
split src=30(0.195974) trg=34(0.542637)
is_right src=1 trg=0
new split-vertex 68 t=0.272599 inserted into edge 30-34
38 queued (h=-0.249219 )
35 queued (h=-0.0790296 )
68 queued (h=-0.263421 )
30 queued (h=-0.0550862 )
68 marked IN (in_circle) ( -0.263421 )
63 queued (h=-0.192149 )
38 marked IN (in_circle) ( -0.249219 )
67 queued (h=0 )
64 queued (h=-0.0360727 )
63 marked IN (in_circle) ( -0.192149 )
31 queued (h=-2.22045e-16 )
36 queued (h=0 )
35 marked IN (in_circle) ( -0.0790296 )
49 queued (h=0 )
30 marked IN (in_circle) ( -0.0550862 )
44 queued (h=0.281776 )
58 queued (h=0.599625 )
64 marked IN (in_circle) ( -0.0360727 )
58 marked OUT (in_circle) ( 0.599625 )
44 marked OUT (in_circle) ( 0.281776 )
31 marked OUT (topo): c4=0 c5=0 r=1 h=-2.22045e-16
67 marked OUT (in_circle) ( 0 )
49 marked OUT (in_circle) ( 0 )
36 marked OUT (in_circle) ( 0 )
augment_vertex_set() DONE
delete-set |v0|=7 : 34[1] 68[6] 38[5] 63[1] 35[1] 30[5] 64[1]
find_null_face() endp= 24 creating new null_face 15
k3_sign = 0
sep1 = 70 k3=-1
sep2 = 71 k3=1
find_null_face() endp= 32 creating new null_face 16
k3_sign = 1
sep1 = 73 k3=1
sep2 = 74 k3=-1
created faces: pos_face=17 neg_face=18
add_vertices():
find_in_out_edges() 6 IN-OUT edges
Position NEW vertex on 63 - 67
NEW vertex 75 k3= -1 on edge 63 - 67
Position NEW vertex on 35 - 31
NEW vertex 76 k3= 1 on edge 35 - 31
Position NEW vertex on 35 - 36
NEW vertex 77 k3= 1 on edge 35 - 36
Position NEW vertex on 30 - 49
NEW vertex 78 k3= -1 on edge 30 - 49
Position NEW vertex on 64 - 44
SEPSolver.
SEPSolver sv= (-0, 1)
SEPSolver.
SEPSolver sv= (-0, 1)
NEW vertex 79 k3= -1 on edge 64 - 44
Position NEW vertex on 64 - 58
NEW vertex 80 k3= 1 on edge 64 - 58
add_vertices() done.
find_separator_target f=6 endp= 70
Face 6: 30(1)-f6-78(3)-f6-49(0)-f6-50(2)-f6-27(2)-f6-26(2)-f6-31(0)-f6-76(3)-f6-35(1)-f6-34(1)-f6-68(1)-f6-
potential OUT/IN-NEW-IN/OUT: 30-78-49
FOUND!
find_separator_target f=6 endp= 71
Face 6: 30(1)-f6-78(3)-f6-49(0)-f6-50(2)-f6-27(2)-f6-26(2)-f6-31(0)-f6-76(3)-f6-35(1)-f6-34(1)-f6-68(1)-f6-
potential OUT/IN-NEW-IN/OUT: 30-78-49
g[endp].k3 = 1
g[current_vertex].k3 = -1
k3 match? = 0
endp!=current_vertex ? = 1
potential OUT/IN-NEW-IN/OUT: 31-76-35
FOUND!
add_separator() f=6 endp=70
add_separator() endp_next_tw=70-f15-71
add_separator() endp_prev_tw=69-f15-70
add_separator() g[endp_next_tw].twin=71-f6-70
add_separator() g[endp_prev_tw].twin=70-f6-69
add_separator() v_previous=30-f6-78
add_separator() v_target=78
add_separator(): 70 - 78. Done.
add_separator() f=6 endp=71
add_separator() endp_next_tw=71-f15-69
add_separator() endp_prev_tw=70-f15-71
add_separator() g[endp_next_tw].twin=69-f6-71
add_separator() g[endp_prev_tw].twin=71-f6-70
add_separator() v_previous=31-f6-76
add_separator() v_target=76
add_separator(): 71 - 76. Done.
find_separator_target f=7 endp= 73
Face 7: 35(1)-f7-77(3)-f7-36(0)-f7-40(2)-f7-37(2)-f7-39(2)-f7-62(2)-f7-67(0)-f7-75(3)-f7-63(1)-f7-38(1)-f7-34(1)-f7-
potential OUT/IN-NEW-IN/OUT: 35-77-36
FOUND!
find_separator_target f=7 endp= 74
Face 7: 35(1)-f7-77(3)-f7-36(0)-f7-40(2)-f7-37(2)-f7-39(2)-f7-62(2)-f7-67(0)-f7-75(3)-f7-63(1)-f7-38(1)-f7-34(1)-f7-
potential OUT/IN-NEW-IN/OUT: 35-77-36
g[endp].k3 = -1
g[current_vertex].k3 = 1
k3 match? = 0
endp!=current_vertex ? = 1
potential OUT/IN-NEW-IN/OUT: 67-75-63
FOUND!
add_separator() f=7 endp=73
add_separator() endp_next_tw=73-f16-74
add_separator() endp_prev_tw=72-f16-73
add_separator() g[endp_next_tw].twin=74-f7-73
add_separator() g[endp_prev_tw].twin=73-f7-72
add_separator() v_previous=35-f7-77
add_separator() v_target=77
add_separator(): 73 - 77. Done.
add_separator() f=7 endp=74
add_separator() endp_next_tw=74-f16-72
add_separator() endp_prev_tw=73-f16-74
add_separator() g[endp_next_tw].twin=72-f7-74
add_separator() g[endp_prev_tw].twin=74-f7-73
add_separator() v_previous=67-f7-75
add_separator() v_target=75
add_separator(): 74 - 75. Done.
all separators done.
adding edges.
add_edges f= 3
Face 3: 64(1)-f3-79(3)-f3-44(0)-f3-43(2)-f3-49(0)-f3-78(3)-f3-30(1)-f3-68(1)-f3-34(1)-f3-38(1)-f3-63(1)-f3-
add_edges() on f=3 with 2 NEW verts.
find_edge_data():
Face 3: 64(1)-f3-79(3)-f3-44(0)-f3-43(2)-f3-49(0)-f3-78(3)-f3-30(1)-f3-68(1)-f3-34(1)-f3-38(1)-f3-63(1)-f3-
finding OUT-NEW-IN vertex:
78N=1 !SEPP=1
OUT-NEW-IN vertex is 78
finding IN-NEW-OUT vertex:
79N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 79
find_edge_data() NEW-NEW vertex pair: 78 - 79
add_edge with APEX 78 - [81] - 79
add_edges() all edges on f=3 added.
add_edges f= 13
Face 13: 58(0)-f13-80(3)-f13-64(1)-f13-63(1)-f13-75(3)-f13-67(0)-f13-62(2)-f13-60(2)-f13-59(0)-f13-57(0)-f13-
add_edges() on f=13 with 2 NEW verts.
find_edge_data():
Face 13: 58(0)-f13-80(3)-f13-64(1)-f13-63(1)-f13-75(3)-f13-67(0)-f13-62(2)-f13-60(2)-f13-59(0)-f13-57(0)-f13-
finding OUT-NEW-IN vertex:
80N=1 !SEPP=1
OUT-NEW-IN vertex is 80
finding IN-NEW-OUT vertex:
75N=1 !SEPP=1 !ed.v1=1
IN-NEW-OUT vertex is 75
find_edge_data() NEW-NEW vertex pair: 80 - 75
ovd_tst: /home/platon/sync/sources/openvoronoi/src/voronoidiagram.cpp:1603: void ovd::VoronoiDiagram::add_edge(ovd::VoronoiDiagram::EdgeData, ovd::HEFace, ovd::HEFace): Assertion `g[new_target].k3 == g[new_source].k3' failed.
Aborted
ovd::VoronoiDiagram* vd = new ovd::VoronoiDiagram(1,100); // (r, bins)
vd->debug_on();
ovd::Point p1(0.15907424869091413, -0.22755592000227737);
ovd::Point p2(-0.158774429631718, -0.22755592000227737);
ovd::Point p3(-0.158774429631718, 0.5000000000000007);
ovd::Point p6(0.44085019690616595, -0.4999999999999993);
ovd::Point p7(0.44085019690616595, 0.4999999999999993);
int v1 = vd->insert_point_site(p1);
int v2 = vd->insert_point_site(p2);
int v3 = vd->insert_point_site(p3);
int v6 = vd->insert_point_site(p6);
int v7 = vd->insert_point_site(p7);
vd->insert_line_site(v1, v2);
vd->insert_line_site(v2, v3);
vd->insert_line_site(v6, v7);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment