Panagiotis Cheilaris
d496070ad5
fix of expected return values of two tests
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris
db389aaf06
fix float, for vertex conflict with point t
...
This fixes a problem that manifests with input n71.cin:
s 11.979542 63.269928 12.073787 63.172432
s 10.011458 64 10.041777 64
s 11.174461 64 11.17787 64
debug: Vertex_conflict (pqrt)=
(p 11.979542 63.269928)
(p 10.041777 64)
(s 10.011458 64 10.041777 64)
(p 11.174461 64)
returns -1, or vc(A, D, CD ; E) returns -1 (NEGATIVE),
although it should return POSITIVE (i.e., no conflict).
The fix is using the new is_on_hv_seg_line function, which checks
if the test point is on the line of the axis-parallel segment r.
Function is_on_hv_seg_line is invoked in the easy degeneracies
tests.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris
61964d4fdd
priority to band over endpoint of segment
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris
ccdf9ef8fd
has_positive_slope only for non-axis parallel
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris
9cd7fdf358
use zero_voronoi_area in all fecf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris
98e9366202
fix float, when iecf has zero voronoi area point
...
This is a problem that manifests with input n52.cin:
s 22.649618 70.68029799999999 22.651001 70.683487
s 22.651001 70.683487 22.654936 70.684631
s 22.654451 70.688507 22.633778 70.683037
debug infinite-edge-int-cf tocheck (q,s,r,t,sgn)=
p 22.651001 70.683487
s 22.651001 70.683487 22.654936 70.684631
s 22.649618 70.680298 22.651001 70.683487
s 22.654451 70.688507 22.633778 70.683037
-1
returns 0
otherwise: iecf (B, BC, AB, DE, -1) returns 0 (false)
although it should return 1 (true)
The fix uses function zero_voronoi_area.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris
cf3cc0e109
move zero_voronoi_area to Basic_predicates_C2.h
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris
f5d3777bd6
fix float, when fecf has zero voronoi area point
...
This is a problem that manifests with input n41.cin:
s 23.980547 71.044022 23.96011 71.05307000000001
s 23.96011 71.05307000000001 23.950411 71.05497
s 23.957935 71.07712600000001 23.960318 71.07725499999999
s 23.960318 71.07725499999999 23.984632 71.073189
debug finite-edge-int-cf with (p,q,r,s,t,sgn)= s 23.957935 71.077126 23.960318 71.077255 p 23.96011 71.05307 s 23.980547 71.044022 23.96011 71.05307 s 23.96011 71.05307 23.950411 71.05497 s 23.960318 71.077255 23.984632 71.073189 -1 returns 0 (false)
although it should return 1 (true)
otherwise fecf (DE, B, AB, BC, EF, -1) returns 0 although it should return 1
The fix uses a new function zero_voronoi_area.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris
e7c96941ce
add a comment after a long if in fecf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris
de83047224
test for t endpoint of segments in SSS
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris
4d292ccdf1
ring case: endpoint of segments in SSS
...
check_easy_degeneracies returns POSITIVE and result is used
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris
66df419afb
fix for float case: endpoint of segments
...
Related to input n31.cin:
s 25.966988 70.978706 25.987635 70.97238900000001
s 25.987635 70.97238900000001 26.000231 70.97238900000001
s 26.000231 70.97238900000001 26.015379 70.975082
s A B s B C s C D
Vertex_conflict pqrt ( (AB, BC, CD) ; C ) was returning NEGATIVE
and now it returns POSITIVE.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris
8e3be7ce34
some tests for p,q,inf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris
e157994ef1
remove computing some lines in (p,q,inf)
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris
1e975ddd9c
use cmpx, cmpy together with line check
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris
4fc33a968e
new version of intersects_segment_interior_inf_box
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris
bd94d902fe
fix for endpoint of axis-parallel segment
...
Related to input n21.cin:
s 25.914984 70.968903 25.912687 70.97624999999999
s 25.987635 70.97238900000001 26.000231 70.97238900000001
Vertex_conflict (pqrt)=
(p 25.914984 70.968903) (p 26.000231 70.972389)
(s 25.987635 70.972389 26.000231 70.972389)
(p 25.987635 70.972389)
now returns POSITIVE
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris
dd74ecd4a1
use right_turn in a incircle_pps predicate
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris
907f1d8b69
fix vertex conflict when t is endpoint of r
...
This is a fix for field number types, for a vertex conflict
(p,q,r,t) when t is an endpoint of r and t is not axis-parallel.
The problem manifested for input n11.cin:
s 4.7031002 61 4.70013 60.996868
s 4.7356453 61 4.7417111 61.018108
s 4.743824 61.0336 4.7237062 61.037254
(s A B, s C D, s E F)
The vertex conflict predicate (A, CD, F ; C) returned NEGATIVE.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris
2b9c6ad3bd
fix p,q,inf vertex conflict when p, q share coord
...
This fixes a problem when a floating point filtering kernel is
used and the input consists of non-integer numbers. The problem
manifestated with input n2scaled.cin:
s 4.703 61.000 4.700 60.996
s 4.732 60.997 4.735 61.000
(s A B, s C D)
The vertex conflict predicate (A, D, inf ; AB) returned NEGATIVE.
This was because an oriented side predicate for line AD and point
A of segment AB was computed. This predicate does not have to be
run, because we already know that A is an endpoint of AB.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris
f2e1e69d5f
translate a plg file by the given x, y arguments
...
Example run:
cat ~/Dropbox/cgal/experiment-gulp/tmhuge.plg | python3.4 ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/plgtranslate.py -81700 -640000 > ~/Dropbox/cgal/experiment-gulp/tmhugetrans.plg
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris
7eafd4d0cc
remove redefinition of OrientationLinf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris
a93f1694fb
put parentheses around some ?-operator arguments
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris
3be5e2e376
differentiate kernel ray and segment
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris
45f3b36509
count_eq >= 0 is always true
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris
d0fa197b70
convert lsp to plg format
...
Example use:
cat tl2less.cin | python3.4 ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/lsp2plg.py > tl2less.plg
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris
180fb36491
more infinite PPP vertex conflicts tests
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris
070187e8ed
((p, q, inf), t) incircle test
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris
1fb83d66dc
initialize inf_i variable
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris
cb9b4fbf17
remove variadic templates and bug fixes
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris
ecbba3ba92
incirc benchmark with variadic templates
...
This requires C++11.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris
0d884eebb6
show number of sites in command line in incirc
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris
cff7555c67
p, q, r on corners and t on side interior
...
If p, q, r on corners and t on interior of a side,
then there is a conflict.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris
7b08dec920
minmax also returns points
...
It seems unavoidable but some of the unnatural coordinates
of the extreme points are needed. For example, the x coordinate
of the bottom point is needed in side of bounded square.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris
eecc11a2a2
avoid comparisons when expanding rectangle
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris
a3fa5a8716
use MinMaxTuple as return value of minmax
...
This might slow things down.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris
3e40227feb
minmax function takes three template arguments
...
This is to prepare a possible passing of coordinates.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris
bf63b5b6be
speedup in some cases of pppp incircle
...
Introduction of analyze_smalleq that returns a SmallerEqTuple,
is_L_shaped check and are_at_three_corners check.
Avoid checking some Comparison_result.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris
4382defa9e
more carfeul compute_v_if_not_computed for ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris
34945ef50d
add is_v_computed assertions
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris
6c81fdc38b
compute vertex in oriented_side of ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris
f619dd32b1
specify infinite vertices in debug messages
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris
61c4d6fac6
avoid comparisons in exist_two_with_same_y
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris
7ea56eac67
avoid comparisons in exist_two_with_same_x
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris
dd4da7d78d
move mirror computation inside same coord cases
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris
2cc45a8b98
exist_two_with_same_(x|y) computed from the start
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris
ecaa0f8193
assertions on extremity of different coord point
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris
db9b3f43bb
bounded side extreme points debug message earlier
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris
f344d9dfa9
minmax function in side of bounded square
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris
4899e3ff05
remove unused Site_2 type in test
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris
dc951c4695
PPPP same coordinate, opposite side test
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris
208775665e
use division by two instead of half in sidebs
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris
d981327ea6
do not compute always vertex for incircle ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris
37f7b0a301
remove half from ring compute_ppp
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris
c9f84adee9
PPPP same side and other close test
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris
8f700308b8
PPPP same side and other at corner test
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris
dbd8c285ac
PPPP two same side and other outside test
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris
b677d64bc4
PPPP test same side and same coordinate
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris
b06e60ae74
PPPP same interior side points and other between
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris
df42df98f0
PPPP corner points tests
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris
870f05800e
pssd5aless2.cin related validity test
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris
342ddb0348
test PSS bdiff=3 point on a side pssd3varxa.cin
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris
a080f0c1b8
test PSS bdiff=3 point on a side pssd3a.cin
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris
fd1b7e5023
test PSS bdiff=4 corner point pssd4a.cin
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris
6b9e5caab5
test PSS bdiff=2 opposite side pssd2btw3.cin
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris
f3ac657c12
tests related to points_inside_touching_sides
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris
789f3e6c91
sss test with one axis-parallel segment
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris
4e4c4d9fff
test for SSS axis-parallel
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Sandeep Kumar Dey
466f82d122
Tests for pps case with vertical segment
...
Tests for pps case with vertical segment and two points with same y coordinate on the left of seg
12 test cases are inserted for different position of test point t.
Conflicts:
Segment_Delaunay_graph_Linf_2/test/Segment_Delaunay_graph_Linf_2/test_sdg_traits_2.cpp
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris
e45bc4f341
test related to input pssprob1.cin
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Sandeep Kumar Dey
d8ba6dd2af
incircle test pps
...
The segment is vertical and the points are on right side of the segment.
And also the points on projection will hit the line segment.
t is chosen at different locations to test incircle property.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris
870d50871b
pps tests for points with same coordinates
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris
c6ebc066c0
tests related to pssphor1.cin etc.
...
These are incircle tests related to input pssphor1.cin:
s -100 -50 50 100
s 50 50 100 50
p 0 0
and similar inputs (pssphor2.cin, pssphor3.cin).
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris
3fd556cea1
tests related to br80.cin
...
Input br80.cin is:
s 10 120 60 20
s 60 40 70 60
s 30 110 100 40
(segments AB, CD, EF, respectively)
The incircle predicates (CD, F, EF, B) and (CD, B, F, EF) should
both return 0 (ZERO).
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris
2454107687
tests for a pss case in 3segstepnosegbef.cin
...
test_incircle<Gt>(Point_2(0, 100),
Segment_2(Point_2(0, 50), Point_2(0, 100)),
Segment_2(Point_2(-50, 50), Point_2(50, -50)),
Point_2(50, 0),
CGAL::NEGATIVE);
test_incircle<Gt>(Segment_2(Point_2(-50, 50), Point_2(50, -50)),
Point_2(0, 100),
Segment_2(Point_2(0, 50), Point_2(0, 100)),
Point_2(50, 0),
CGAL::NEGATIVE);
test_incircle<Gt>(Segment_2(Point_2(0, 50), Point_2(0, 100)),
Segment_2(Point_2(-50, 50), Point_2(50, -50)),
Point_2(0, 100),
Point_2(50, 0),
CGAL::NEGATIVE);
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris
50fc5924fd
pss Linf incircle test related to r2minpt.cin
...
The r2minpt.cin input is as follows:
s -91 36 36 87
p -23 4
p -17 37
p -17 40
The test in test_sdg_traits_2.cpp is as follows:
test_incircle<Gt>(Point_2(-23, 4), Point_2(-17, 37),
Segment_2(Point_2(-91, 36), Point_2(36, 87)),
Point_2(-17, 40),
CGAL::POSITIVE);
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris
78f510c399
a new traits SDG Linf tester
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris
aee5d567cd
updated test for Linf (using std::string)
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris
c5c82940fb
do not allow deletion of sites in Linf test
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris
eaa50eba4e
SDG Linf testsuite programs and data
...
The test programs are adapted from the SDG L2 ones.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris
be3ef8cfa4
remove another warning for s2 pointer
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris
c70fc29971
remove dx warning in Side_of_bounded_square_2.h
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris
e87c6b8719
incirc benchmark program
...
Example use:
type=linf ; iprofiler -o incirc${type} -T 15s -timeprofiler ~/code/geom/Segment_Delaunay_graph_Linf_2/benchmark/Segment_Delaunay_graph_Linf_2/incirc -r 50000000 --${type} 'p 200 -150' 'p 250 50' 'p 50 -50' 'p 300 -50'
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris
41096299e7
add --linf argument to benchmark-gen for symmetry
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris
50ecfb1e13
CMakeLists.txt for benchmark-gen
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris
94d51380ba
general benchmark program for both L2 and Linf
...
Example uses:
time ( cat ~/code/mycgal/Segment_Delaunay_graph_2/benchmark/Segment_Delaunay_graph_2/data/norway.cin | iprofiler -T 11s -o nlinf -timeprofiler ~/code/geom/Segment_Delaunay_graph_Linf_2/benchmark/Segment_Delaunay_graph_Linf_2/benchmark-gen )
time ( cat ~/code/mycgal/Segment_Delaunay_graph_2/benchmark/Segment_Delaunay_graph_2/data/norway.cin | iprofiler -T 10s -o nl2 -timeprofiler ~/code/geom/Segment_Delaunay_graph_Linf_2/benchmark/Segment_Delaunay_graph_Linf_2/benchmark-gen --l2 )
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris
f9488b5865
prepare benchmark to support both L2 and Linf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris
8e27388e73
change pref to rref in two comments
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris
e75e7498ec
fix for a touching non-hv segment
...
This fixes a bug in the validity test for input pssd5aless2.cin:
p 100 0
s 150 0 50 -100
p 100 100
p -100 100
(A, BC, D, E)
In particular vertex conflict (BC, D, E, A) was returning -1
and now it returns ZERO.
At the same time, we should keep a negative predicate return value
for input parpar2.cin:
s -250 50 -50 -150
p -100 -50
p -60 -50
p -150 50
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris
0e3f2d5e3b
PSS case bdiff=5 compute_pss_side_p_known
...
All bisector computations have been removed.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris
451198fe19
rotate counterclockwise by pi/2 an lsp input
...
Example use:
cat ~/Dropbox/geom/data/pssd3a.cin | python ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/lsprotate90.py > ~/Dropbox/geom/data/pssd3b.cin
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris
61c70120c9
compute_pss_ortho_wedge function for PSS case
...
This function is called for bdiff in {3,4}.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris
cbd9493722
compute_pss_nonhv_consecutive for field
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris
25ae2f53f8
convert from plg to lsp format
...
Example use:
cat ~/Dropbox/geom/mat/input1.plg | ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/plg2lsp.py | ipescript lsp2ipe vecmask1test.ipe 16 16 0.0625
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris
941c26e7e6
create random lsp input from a set of points
...
Example use:
n=20 ; bbox=100; rbox ${n} t D2 z B${bbox} | tail -n ${n} | python ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/randsp.py > ~/Dropbox/geom/inp/rx9.cin
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris
6f3adf3e31
convert from lsp to ipe format (ipe lua script)
...
Example use:
cat ~/Dropbox/geom/mat/input1.plg | ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/plg2lsp.py | ipescript lsp2ipe vecmask1test.ipe 16 16 0.0625
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris
d69a143abd
convert vertex conflict return values to tests
...
Example use:
~/code/geom/Segment_Delaunay_graph_Linf_2/examples/Segment_Delaunay_graph_Linf_2/sdg-voronoi-edges-exact ~/Dropbox/geom/data/pssd2btw3.cin | sed -E -e 's/\/1([^0-9])/\1/g' | sed -E -e 's/\/1$//g' | grep 'pqrt.*s.*s.*p.*returns 1' | sort | uniq | grep 'p 200 50' | tail -n 5 | ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/ret2testsp.py --points 1
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris
a256ff7100
convert sites from lsp to test format
...
Example run:
cat ~/Dropbox/geom/data/pssendp1a.cin | python ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/lsp2testsp.py
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris
aecf35b0c9
compute_pss_nonhv_consecutive for ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris
523bbd5475
use points_inside_touching_sides_v for POSITIVE
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris
0e6397c432
more general points_inside_touching_sides_v
...
Function points_inside_touching_sides_v now supports PPPx, PPSx,
and PSSx cases. Before, it supported only cases with two segments.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris
371bdd0379
use points_inside_touching_sides_v in field
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris
b256187e6e
check that points are indeed on different sides
...
fix in points_inside_touching_sides_v
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris
6e05a7c73f
fix when two points hide a segment from vv in ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris
1b5db71997
assertion in place of a check for corner line
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris
117ff8ff01
partial removal of PSS bisectors
...
There are several changes here, also in using a new typedef for Bearing.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris
0223cdf33a
fix: use compute_pss_bisectors
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris
0d73c4e71e
add an assertion in orient_line_nonendp
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris
45db1cc34a
prepare for compute_pss_nonendp
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris
7231f3ba9a
use Homogeneous_point_2 with compute_line_dir
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris
5f82f17a9b
PSS case, add compute_pss_endp to ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris
f34e42e1d0
PSS endpoint case speedup for field case
...
Avoid using polychainline bisectors.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris
12bdb79360
use homogeneous methods in point use in ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris
8893e03d23
SSS case done without polychainline bisectors
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris
1a0e53e311
change signature of orient_lines_linf
...
The last argument is now an array of 3 lines.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris
c05ba6558a
orient_lines_linf for SSS case
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris
c58c9c72fb
put some boolean variables later
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris
fac1837664
Linf hierarchy: include L2 hier., remove constants
...
This change allows to use both hierarchies at the same time.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris
a71e948e4b
small change in implementing compare_distances_ss
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris
343c267ef5
different compare_distance_to_point_linf
...
Different compare_distance_to_point_linf implementation.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris
232f1f8d46
use compute_linf_distance for point and line
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris
b7a56dc72e
compute_linf_distance for point and line
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris
3a083a94ac
bug fix related to a PSS vertex
...
The bug is shown, for example, in input pssprob1.cin:
s 0 100 100 100
s 0 100 0 0
p 20 -40
Let the above input be: AB, AC, D. The vertex computed for the
triple (D, AB, AC) was (140,30) and now it is the correct (70,30).
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris
9f5140bc47
use return when calling axis-parallel PSS and SSS
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris
016c4f7cb8
avoid accessing qold when not set in benchmarks
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris
5eacf1d61a
sss case for axis-parallel segments redone
...
Avoid using bisectors for SSS axis-parallel segments.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris
2c259bbec3
make some variables constant in field sqrt
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris
cdd7f6dbb0
sqrt pss case, axis-parallel segments changes
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris
65de76fb62
new compute_vv_bisectors PSS_Type function
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris
6262550710
ring pss, compute_pss_both_hv_nonpar_nonendp
...
Avoid bisectors in the following case:
one segment is horizontal and the other is vertical and
the point p is not an endpoint of the segments
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris
e19129f57d
ring, introduce compute_pss_both_hv_nonpar_nonendp
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris
fae41574b2
ring pss case, axis-parallel segments changes
...
Avoid using bisector computations; partially done for the
pss case with axis-parallel segments; it remains to do the
case when the two segments are not parallel and the point
is not the endpoint of any of the segments.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris
23d7be438b
create compute_pss_bisectors function in ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris
2ed35b7681
improve reading input in benchmarks (l2 and linf)
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris
60cd49856b
sqrt pps axis-par., avoid delegating to ppp
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris
afa330619d
in ring pps axis-par., avoid delegating to ppp
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:38 +02:00
Panagiotis Cheilaris
c39cc80bb3
in pps, partially avoid delegating to a ppp
...
In the pps case, avoid delegating to a ppp computation when the
segment is axis-parallel and the two points share a coordinate and
the line connecting the two points is parallel to the segment.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:38 +02:00
Panagiotis Cheilaris
d2d8afba8c
hvseg_coord: compute constant coordinate
...
new function hvseg_coord:
compute constant coordinate of an axis-parallel segment
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:38 +02:00
Panagiotis Cheilaris
8286a8a46d
sqrt pps case does not use bisectors
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:38 +02:00
Panagiotis Cheilaris
61262decd2
slightly different comparison in pps ring case
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:38 +02:00
Panagiotis Cheilaris
8d842de9e7
ring pps case does not use bisectors
...
Voronoi vertex computation in ring for PPS case
does not use bisectors any more.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:38 +02:00
Panagiotis Cheilaris
5486b10557
ring non-axis parallel segment in pps subcase
...
This is only partially implemented. Still, it improves the
performance of the norway.cin benchmark.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:38 +02:00
Panagiotis Cheilaris
87d26ad035
compute_pps_nonendp_nonhv_nonsamec use comment
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:38 +02:00
Panagiotis Cheilaris
dd930c0577
remove debug macro defintions from linf algorithm
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:37 +02:00
Panagiotis Cheilaris
17229c6a17
narrow scope of current_face in linf algorithms
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:37 +02:00
Panagiotis Cheilaris
2ee5837d8b
narrow scope of some variables in Linf algorithms
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:37 +02:00
Panagiotis Cheilaris
1b22fecea1
use a slightly less trivial assertion
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:37 +02:00
Panagiotis Cheilaris
8442895269
reomve old incircle sqrt for Linf
...
It was not used and was not maintained anyway.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:37 +02:00
Panagiotis Cheilaris
075e9d3fda
sqrt new const and scope changes
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:37 +02:00
Panagiotis Cheilaris
8076c9760d
ring const variables and narrow scope
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:37 +02:00
Panagiotis Cheilaris
f379f53454
correct indentation for test1d function
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:37 +02:00
Panagiotis Cheilaris
5e9749f4d6
Side_of_bounded_square_2: avoid some comparisons
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:36 +02:00
Panagiotis Cheilaris
308d356bea
remove tests that show orientations of lines
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:36 +02:00
Panagiotis Cheilaris
ab3f955e45
ring start compute_pps_nonendp_nonhv_nonsamec
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:36 +02:00
Panagiotis Cheilaris
097972d9b2
compute_pps_nonendp_nonhv added to ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:36 +02:00
Panagiotis Cheilaris
0ee5294312
sqrt new pps same coordinate points case
...
Implementation without bisectors. To do it for ring.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:36 +02:00
Panagiotis Cheilaris
8e5f88e242
tuple use for assigning sites
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:36 +02:00
Panagiotis Cheilaris
ba033fe009
make compute_vv_bisectors inline
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:36 +02:00
Panagiotis Cheilaris
e509085931
introduce compute_pps_nonendp_nonhv function
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:36 +02:00
Panagiotis Cheilaris
e0deec43b1
remove another too-strong assertion
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:36 +02:00
Panagiotis Cheilaris
3f5e75e2f2
remove a too-strong assertion (triangle case)
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:35 +02:00
Panagiotis Cheilaris
ae0689180b
adapt sqrt new for ring changes
...
These changes are related to inputs ppsphor1.cin etc.
and brsp1less.cin:
s 50 100 250 300
s -100 110 200 80
p 0 150
p 0 100
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:35 +02:00
Panagiotis Cheilaris
868b27e970
bug fix for pssp brsp1less.cin in ring
...
Fix for input brsp1less.cin validity problem:
s 50 100 250 300
s -100 110 200 80
p 0 150
p 0 100
Incircle predicate (A, AB, F, E) is now ZERO.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:35 +02:00
Panagiotis Cheilaris
2d1d601ffe
use refs in ring pssp predicate
...
Also, reuse some code.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:35 +02:00
Panagiotis Cheilaris
75b45ba931
fixes to make pssphor2.cin work in ring case
...
This returns ZERO (instead of POSITIVE) in some pssp incircle tests
like in the case of input pssphor2.cin:
s -100 -50 50 100
s 100 0 100 -100
p 0 0
Similar changes have to be made to the sqrt new code.
This will probably break some inputs like brsp1less.cin:
s 50 100 250 300
s -100 110 200 80
p 0 150
p 0 100
and pps predicates should be changed too.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:35 +02:00
Panagiotis Cheilaris
1c4985c326
clean-up and simplification in ring pss
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:35 +02:00
Panagiotis Cheilaris
ca6aa27eee
bug fix for compute_pos_45_line_at
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:35 +02:00
Panagiotis Cheilaris
d53af0382a
fix of pss ring with points_inside_touching_sides
...
Change of function point_inside_touching_sides (renamed
to points_inside_touching_sides) in order to process correctly
inputs like br80.cin:
s 10 120 60 20
s 60 40 70 60
s 30 110 100 40
(segments AB, CD, EF, respectively)
The incircle predicate (CD, B, F, EF) returns 0.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:35 +02:00
Panagiotis Cheilaris
25952ab183
use s1, s2 refs to simplify pss ring code
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:34 +02:00
Panagiotis Cheilaris
2e652509cb
use refs instead of pointers in vring pss
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:34 +02:00
Panagiotis Cheilaris
95721c8422
fix for 3segstepnosegbef.cin pss predicate
...
This fixes a bug with input 3segstepnosegbef.cin:
s -50 50 50 -50
s 0 50 0 100
p 50 0
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:34 +02:00
Panagiotis Cheilaris
dfb7212f47
rearrange some assertions in sqrt new
...
I also added a new assertion that has to be checked more.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:34 +02:00
Panagiotis Cheilaris
c1e7fac2f5
rearrange some compute_sss endp tests in ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:34 +02:00
Panagiotis Cheilaris
f46bf86ee7
use inline compute_sss_bisectors function
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:34 +02:00
Panagiotis Cheilaris
c646b6ff30
make hor/ver predicates inline
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:34 +02:00
Panagiotis Cheilaris
de4fd180ef
remove unused n and c variable warnings
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:34 +02:00
Panagiotis Cheilaris
05389da3d8
replace *0.5 with /2 in FT bisector computations
...
This fix is to avoid the following warning when Gmpz is used:
CGAL warning: check violation!
Expression : is_integer(d)
File : /Users/philaris/code/mycgal/Number_types/include/CGAL/GMP/Gmpz_type.h
Line : 102
Explanation: Gmpz constructed from non-integer double value
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:34 +02:00
Panagiotis Cheilaris
20a6206a03
fix for compute_pps nonendp vertical
...
Fix for input ppsnonendpver.cin:
p 20 0
p 60 0
s 0 -80 0 80
p 40 40
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:33 +02:00
Panagiotis Cheilaris
e479f3fa33
sqrt new compute_pps nonendp h/v
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:33 +02:00
Panagiotis Cheilaris
3d8489cf6b
remove unused variable qpar in ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:33 +02:00
Panagiotis Cheilaris
66eaf13e0c
ring compute_pps nonendp h/v case
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:33 +02:00
Panagiotis Cheilaris
a786a5e235
horseg_y_coord and verseg_x_coord functions
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:33 +02:00
Panagiotis Cheilaris
84a2a701ff
are_in_same_open_halfspace_of assertion in ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:33 +02:00
Panagiotis Cheilaris
e74c1fa436
add are_in_same_open_halfspace_of for assertions
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:33 +02:00
Panagiotis Cheilaris
f24867858b
sqrt new compute_pps_endp
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:33 +02:00
Panagiotis Cheilaris
26c967b0db
vertex ring compute_pps_endp
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:32 +02:00
Panagiotis Cheilaris
03a66ee5e1
warning fix in hv Vertex_conflict_C2.h
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:32 +02:00
Panagiotis Cheilaris
52c6e3138a
use variables in ring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:32 +02:00
Panagiotis Cheilaris
5ce9700141
more changes for warning suppression
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:32 +02:00
Panagiotis Cheilaris
137898e952
remove Voronoi_vertex_ring_C2.h variable warnings
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:32 +02:00
Panagiotis Cheilaris
2135db7159
remove dista, distb warnings
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:32 +02:00
Panagiotis Cheilaris
0b0653a36e
remove dy pointer warning
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:32 +02:00
Panagiotis Cheilaris
a41c1b105b
remove qref related warnings
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:32 +02:00
Panagiotis Cheilaris
96cdb0e91d
remove closest point warning from some compilers
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:32 +02:00
Panagiotis Cheilaris
c908153a6f
remove has_lseg_neg_slope and simplify logic
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:31 +02:00
Panagiotis Cheilaris
188f7bdfa8
f_i and g_i warning fixes (also with assertions)
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:31 +02:00
Panagiotis Cheilaris
112983a440
corrected is_nop, is_pon, etc. assertions
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:31 +02:00
Panagiotis Cheilaris
af246ba5d8
put some assertion code into debug code
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:31 +02:00
Panagiotis Cheilaris
624a3d071e
put first_found_f2 in assertions
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:31 +02:00
Panagiotis Cheilaris
1bbc871009
fix typo fi -> g_i
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:31 +02:00
Panagiotis Cheilaris
dc8c6cf0f1
remove unused type definition
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:31 +02:00
Panagiotis Cheilaris
f6741c6a04
change some CGAL_SDG_DEBUG to CGAL_assertion_code
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:31 +02:00
Panagiotis Cheilaris
3329b73e13
put some bool computations in debug mode only
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:30 +02:00
Panagiotis Cheilaris
17ba6e5507
remove site computation warnings
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:30 +02:00
Panagiotis Cheilaris
75f53e7007
put is_q_ssrc etc. in assertion code
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:30 +02:00
Panagiotis Cheilaris
fd1f51e987
remove warning for have_common_qr
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:30 +02:00
Panagiotis Cheilaris
fb53c58677
remove warnings with num counters
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:30 +02:00
Panagiotis Cheilaris
ac34b778de
removed unused sv1 and sv2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:30 +02:00
Panagiotis Cheilaris
33061ecee2
use sitev only in verbose mode
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:30 +02:00
Panagiotis Cheilaris
1db79df71c
remove unused but set variable sss1
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:30 +02:00
Panagiotis Cheilaris
87027f2125
g2 and esym put in assertions to suppress warnings
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:30 +02:00
Panagiotis Cheilaris
e5247dda4c
removed too-strong assertions in infinite edge cf
...
This fixes an assertion failure for the input vbc1a.cin:
s 60 20 60 220
p 40 160
p 30 50
p 40 50
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:29 +02:00
Panagiotis Cheilaris
c14f3cd711
CGAL_SDG_VERY_VERBOSE used in printing diagram
...
Print the SDG Linf diagram if CGAL_SDG_VERY_VERBOSE is defined.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:29 +02:00
Panagiotis Cheilaris
5e66a3f262
access outgoing direction through function
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:29 +02:00
Panagiotis Cheilaris
cc3c33d569
use the line optimization for parallel segments
...
Use the line optimization when computing the bisector of two
parallel segments.
This also fixes a bug for inputs of the following form:
s 100 20 0 20
s 0 80 100 80
s 30 40 30 60
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:29 +02:00
Panagiotis Cheilaris
cc2c3e69d0
support line optimization in first intersection
...
Addition of is_line_optimization boolean member variable in object
of class Polychainline_2. Suppose this variable of an obect is set
to true. If this object is tried for an intersection with another
Polychainline object pcl, using the function
first_intersection_point_with, then instead the function
line_first_intersection_point_with is used.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:29 +02:00
Panagiotis Cheilaris
ff949fd5f7
show debug message for compute_sss in vring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:29 +02:00
Panagiotis Cheilaris
cbf199c252
bug fix in debug message for a bisector
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:29 +02:00
Panagiotis Cheilaris
38330bc91f
show in debug message hom. point ip
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:29 +02:00
Panagiotis Cheilaris
71f4e6f9e7
oscandidate fix in vertex conflict pss predicate
...
The oscandidate fix was not in the incircle_pss predicate, but it was
in the incircle_sps predicate.
This fixes a bug for the following input (br60parplus.cin):
p 50 0
s 0 0 200 -30
s 0 0 -50 150
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:28 +02:00
Panagiotis Cheilaris
47b229322c
sdg-voronoi-edges-exact example in CMakeLists.txt
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:28 +02:00
Panagiotis Cheilaris
dfe343b15c
example with exact computation for SDG Linf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:28 +02:00
Panagiotis Cheilaris
8a344da8ea
assertion tests in sdg-voronoi-edges example
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:28 +02:00
Panagiotis Cheilaris
e47b40bcfe
vring PPS case fix from vsqr code
...
This fixes exact computation for inputs like parpar2.cin:
s -250 50 -50 -150
p -100 -50
p -60 -50
p -150 50
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:28 +02:00
Panagiotis Cheilaris
cd550e1609
check for candidates in SSS in vring
...
This corrects exact computations for inputs like br61.cin:
s 0 0 200 -30
s 0 100 100 100
s 0 100 0 0
s 0 0 50 0
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:28 +02:00
Panagiotis Cheilaris
eb9d901ebb
prepare refinement for incircle_p SSS
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:28 +02:00
Panagiotis Cheilaris
a103ffaef9
test in vring for LARGER point retval
...
Now, exact computation is correct with input like br80pt.cin:
s 10 120 60 20
s 30 110 100 40
p 60 40
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:28 +02:00
Panagiotis Cheilaris
50ad76dcd2
adapt part of pss vsqr code to vring
...
This fixes exact computation for input br61vpqr.cin:
s 0 0 200 -30
s 0 100 0 0
p 50 0
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:28 +02:00
Panagiotis Cheilaris
5ec2694760
adapt some PPS vsqr code to vring
...
This fixes input 2a1badaless3noint.cin for exact number types:
s 0 0 200 -30
s 0 0 -50 150
p 0 100
p 100 100
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:27 +02:00
Panagiotis Cheilaris
8ad9d9a709
comment out too-strong assertion from vsqr
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:27 +02:00
Panagiotis Cheilaris
86326fd03e
count and show number of neighbors
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:27 +02:00
Panagiotis Cheilaris
761f6f720b
removal of too-strong assertion in iecf
...
This is a fix for the following input (r2minpt.cin):
s -91 36 36 87
p -23 4
p -17 37
p -17 40
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:27 +02:00
Panagiotis Cheilaris
14c220e670
fix of debug message (q->r)
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:27 +02:00
Panagiotis Cheilaris
65fdf43fd1
in vsqr check for same_slope_at_corner
...
Avoid computing a predicate for the support line of a query segment,
if that segment has a common endpoint with another segment and this
endpoint also defines the vertex and also the two segments have the
same slope. In that case, the sl value should be ZERO.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:27 +02:00
Panagiotis Cheilaris
4d8b3c020f
show sl value in debug message
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:27 +02:00
Panagiotis Cheilaris
6132650bd6
have_same_slope predicate
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:27 +02:00
Panagiotis Cheilaris
287612533d
choose segment direction with distance
...
Use the most distant point to choose segment direction in
the bisector of two segments computation.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:26 +02:00
Panagiotis Cheilaris
9208ebfbd7
return SMALLER in linf_refine, only for h/v lines
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:26 +02:00
Panagiotis Cheilaris
b65c265d51
set on oriented boundary, when endpoint
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:26 +02:00
Panagiotis Cheilaris
b086dfd879
show cmplabsxy value in debug
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:26 +02:00
Panagiotis Cheilaris
9ff68f92ce
show sl in a debug message
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:26 +02:00
Panagiotis Cheilaris
926f5ec0ca
change type of numpts_in_pqr to unsigned int
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:26 +02:00
Panagiotis Cheilaris
ef23e1a490
validity test simplification
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:26 +02:00
Panagiotis Cheilaris
1f5df0aad8
if endpoint of segment, then ON_ORIENTED_BOUNDARY
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:26 +02:00
Panagiotis Cheilaris
2d852f3e31
SDG Linf insertion function from SDG L2
...
These new insert functions are from the SDG L2 code and will be
useful for the test_sdg_new_range_api test for the SDG Linf code.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:26 +02:00
Panagiotis Cheilaris
dc55fd82f2
ipescript ipe2plg converts ipe to plg format
...
The script ipe2plg converts all paths and points
in the first page of the ipe file given as the command
line argument to the polygon .plg format of CGAL.
The result is printed to the standard output.
Use redirection to save to a .plg file.
The file ipe2plg.lua has to be put in the appropriate
place, e.g., ~/.ipe/scripts/ and here is an example use:
ipescript ipe2plg test1.ipe > test1.plg
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:25 +02:00
Panagiotis Cheilaris
057f581e83
insert_point_on_segment correct neighbors
...
This fixes the computation of neighbors for
insert_point_on_segment and is the same as the
insert_exact_point_on_segment fix.
Here are some inputs that are affected.
(5sqin.cin)
s 0 0 0 100
s 0 100 100 100
s 100 100 100 0
s 0 0 100 0
s -100 50 150 50
(lala3.cin)
s 1 2 3 2
s 13 25 13 25
s 27 24 54 24
s 43 31 43 35
s 41 51 71 51
s 57 93 57 141
s 75 117 96 117
s 143 95 143 143
s 81 162 117 162
s 101 171 101 211
s 189 156 222 156
s 219 123 219 219
s 121 199 199 199
s 229 159 229 229
s 156 186 246 186
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:25 +02:00
Panagiotis Cheilaris
4060e41f69
insert_point_on_segment neighbor assertion
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:25 +02:00
Panagiotis Cheilaris
d67b1987f7
check correct number splitting site neighbors
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:25 +02:00
Panagiotis Cheilaris
c734497e6e
insert_exact_point_on_segment correct connection
...
I might have to do the same with insert_point_on_segment.
This fixes a bug in the validity check of diammid1.cin:
s -200 0 0 200
s 0 -200 200 0
s -200 0 0 -200
s 0 200 200 0
p 100 100
p -100 -100
p 100 -100
p -100 100
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:25 +02:00
Panagiotis Cheilaris
05289ca9b9
set otherf and f_i
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:25 +02:00
Panagiotis Cheilaris
dac4146698
debug show otherf, f_i, otherg, g_i
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:25 +02:00
Panagiotis Cheilaris
b4cae70cce
debug message about flips_nop and flips_pon
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:24 +02:00
Panagiotis Cheilaris
a5d6cafd79
strong check of easy degenaracies
...
This fixes a bug in validity check of ipe10gperm.cin:
s 10 120 60 20
s 30 110 100 40
s 60 40 70 60
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:24 +02:00
Panagiotis Cheilaris
2abab31e98
return zero for equivalent points
...
This avoids a ping-pong effect in the PSSP case.
It fixes the validity check of the following input br50noseg.cin:
s -50 -20 0 +30
s 0 +30 +50 -20
p -20 0
p +20 0
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:24 +02:00
Panagiotis Cheilaris
c56a0a004d
in PSSP case check fast: t endpoint of hv segment
...
This is to fix validity checks of inputs like (rx8m8var.cin):
s -11 82 -11 4
p 58 60
p 89 1
p -11 16
s -11 16 89 1
This fixes the validity check of point t = p -11 82.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:24 +02:00
Panagiotis Cheilaris
25c8765c5e
print message for r too
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:24 +02:00
Panagiotis Cheilaris
8cb21ad305
better debug message in vring (show segments)
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:24 +02:00
Panagiotis Cheilaris
86294a01b2
in PSSP case check fast: t is endpoint of segments
...
This is to fix validity checks of inputs like (rx8m8var.cin):
s -11 82 -11 4
p 58 60
p 89 1
p -11 16
s -11 16 89 1
This fixes point t = p -11 16, but I still have to fix
point t = p -11 82.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:24 +02:00
Panagiotis Cheilaris
2edced7122
format better debugging messages
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:24 +02:00
Panagiotis Cheilaris
5af17c6a3e
removal of two too strong assertions
...
The following inputs had problems before this fix:
(s2.cin)
s -100 50 200 -100
p 0 100
p 0 150
p 0 0
(s2hor.cin)
s -100 50 200 -100
p 100 0
p 150 0
p 0 0
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:24 +02:00
Panagiotis Cheilaris
5ffb9e29dc
use of new tie breaking predicates
...
Many changes to support the tie breaking predicates
in the implementation and the declaration part of
the algorithm class.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:23 +02:00
Panagiotis Cheilaris
1980d9d31b
tie breaking versions of oriented_side predicates
...
They have an additional point dummy argument in class
Oriented_side_C2.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:23 +02:00
Panagiotis Cheilaris
ce499e0e4b
compute f0_no, f0_op, f0_po, f0_on in split
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:23 +02:00
Panagiotis Cheilaris
b7b6e13a91
remove tie-breakers in Oriented_side_C2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:23 +02:00
Panagiotis Cheilaris
9e638f78b7
validity check fix for vring code
...
This fixes validity checking for spl1.cin input (and others):
s -100 110 200 80
s 200 80 -110 -190
p 0 0
p 0 100
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:23 +02:00
Panagiotis Cheilaris
dd3c65ccb3
inside sides point checking and fix for validity
...
I added point_inside_touching_sides_v function
in vsqrnew code, which is an adaptation of the
respective vring code.
This fixes, among other things, the validity checking
of input ppswedge.cin:
s -200 -200 0 0
s -200 200 0 0
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:23 +02:00
Panagiotis Cheilaris
b6ae8e5e7e
check also for hqref of segment
...
The check for point t against a segment s is too
strong at the moment. I have to implement a predicate
similar to point_inside_touching_sides of the ring code.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:23 +02:00
Panagiotis Cheilaris
6bf9993ef4
remove a return zero just after checking point p
...
Before this fix, the point t was not tested at all with
segments q or r.
This fixes a bug for input (v4nox.cin):
s 100 100 300 300
s -100 110 200 80
p 0 150
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:23 +02:00
Panagiotis Cheilaris
c859b91a72
check point_inside_touching_sides
...
If point t is inside any of the two sides of the square
that touch the touching corner of a segment s in p, q, r,
then return negative.
Use helper function point_inside_touching_sides.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:22 +02:00
Panagiotis Cheilaris
f02dc5e1c3
compute positive or negative slope 45 degree lines
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:22 +02:00
Panagiotis Cheilaris
49c42babc5
debig message for zero return value in q: segment
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:22 +02:00
Panagiotis Cheilaris
7385566aa8
tie-breaker for finite vertex Oriented_side_C2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:22 +02:00
Panagiotis Cheilaris
ac272f4e67
rename proj_of_infv to testpnt in Oriented_side_C2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:22 +02:00
Panagiotis Cheilaris
6b24bd98ad
debug: show inf Oriented_side zero override
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:22 +02:00
Panagiotis Cheilaris
a592ff776b
count nop and pon zeros in find_faces_to_split
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:22 +02:00
Panagiotis Cheilaris
6771413f74
move os0_fc_start setting just after os setting
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:22 +02:00
Panagiotis Cheilaris
b260448f11
debug: print results at end of find_faces_to_split
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:22 +02:00
Panagiotis Cheilaris
f443754b00
first found f1 or f2 assertions
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:21 +02:00
Panagiotis Cheilaris
d513c40258
new face_output function in impl SDG Linf class
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:21 +02:00
Panagiotis Cheilaris
7dcc367d36
assertions on f1_0, f2_0 for splitting
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:21 +02:00
Panagiotis Cheilaris
9878e2f566
fix in pqrt when t is on same side as p
...
In pqrt, if points p and t are on the same side of
the square, if t is further in the tie break, then
return POSITIVE.
This is a bug fix for this input (1asegverp2nocrminus.cin):
s 0 100 200 80
p 0 60
p 0 80
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:21 +02:00
Panagiotis Cheilaris
352b3c47f0
debug: show when diffdvpx=diffdvtx
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:21 +02:00
Panagiotis Cheilaris
f81ca24f1b
endpoint of segment code completion
...
case of predicate pqrt of type PPSP:
if new point t is on the same side of line pq
as the other endpoint of r, then NEGATIVE, else POSITIVE.
This fixes inputs of the following form (zppsp1.cin):
s -100 50 0 0
p 100 0
p 0 100
With the fix, point p 0 0 has as neighbors both
p 100 0 and p 0 100. Before, p 0 100 was not a neighbor.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:21 +02:00
Panagiotis Cheilaris
e3a376ebab
assertion of PPS in r non-hv with endp case
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:21 +02:00
Panagiotis Cheilaris
aefe08b079
new case for non-hv r with endpoint p or q
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:21 +02:00
Panagiotis Cheilaris
2e93da418e
parallel parabolae code only if segment is free
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:20 +02:00
Panagiotis Cheilaris
b834b906f2
move endpoint of hor/ver segment inside refinement
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:20 +02:00
Panagiotis Cheilaris
691462d730
segment p implies segment q in incircle_p
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:20 +02:00
Panagiotis Cheilaris
2278574d75
r is segment anyway in incircle_p with type
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:20 +02:00
Panagiotis Cheilaris
f825285753
typo fixed (missing << operator)
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:20 +02:00
Panagiotis Cheilaris
610af56d2d
assertions and debugging for endpoints
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:20 +02:00
Panagiotis Cheilaris
48a4eb85b8
check also if q is endpoint of r
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:20 +02:00
Panagiotis Cheilaris
6cd66c47fb
debug message for return of zero
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:20 +02:00
Panagiotis Cheilaris
8d8474bd81
make flipf and flipg always false
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:20 +02:00
Panagiotis Cheilaris
f5b3ca021f
back to simple Oriented_side_C2 predicate
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:19 +02:00
Panagiotis Cheilaris
dd6182f47f
do the whole cycle if fc_start gas os=0
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:19 +02:00
Panagiotis Cheilaris
ee6cac0392
print neighbors in verbose SDG output
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:19 +02:00
Panagiotis Cheilaris
36e5229170
look for f1_0 and f2_0 in main impl loop
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:19 +02:00
Panagiotis Cheilaris
6501d264d9
check if f1 or f2 is found first
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:19 +02:00