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
Panagiotis Cheilaris
0608115e11
delete too strong assertions
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:19 +02:00
Panagiotis Cheilaris
56668ce7cf
os0_fc_start boolean checks if first face has os=0
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:19 +02:00
Panagiotis Cheilaris
79fa334068
declaration follows definition in implementation
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:19 +02:00
Panagiotis Cheilaris
2bbef7de4d
more careful splitting of segment in SDG Linf
...
When a point v is inserted in the interior of a segment, we take
more care in computing the sites that are connected with v in the
final SDG. In L2, v is just connected to two sites, but in Linf,
we might have more neighbors.
The change is in the find_faces_to_split function, which also has
two additional parameters flipf, flipg that control whether there
will be new neighbors. This new function is used by
insert_exact_point_on_segment and insert_point_on_segment, which
are also changed to use flipf and flipg.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:18 +02:00
Panagiotis Cheilaris
fb71db9892
put in comment possible LARGER return value
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:18 +02:00
Panagiotis Cheilaris
555c3b60bb
show debug message for inserting endpoints
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:18 +02:00
Panagiotis Cheilaris
deda6268ec
show os of endpoints in debug message
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:18 +02:00
Panagiotis Cheilaris
30c70d7b8a
compute anyway os_trg1 and os_trg2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:18 +02:00
Panagiotis Cheilaris
f1a69ef4bb
show (debug) closest1 in compare_distances_ss
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:18 +02:00
Panagiotis Cheilaris
48297a8106
debug common endpoints in compare_distances_ss
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:18 +02:00
Panagiotis Cheilaris
6e02a1a380
debug message for comparisons in nearest neighbor
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:18 +02:00
Panagiotis Cheilaris
382fb7258e
ipe to cin (lsp) script: print transformed points
...
Use the transformation matrix m = obj:matrix() of an object
(point or segment) to print the relevant points correctly.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:18 +02:00
Panagiotis Cheilaris
b17ed7e521
debug message for compare of segment, point
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:17 +02:00
Panagiotis Cheilaris
2addd7f641
debug show idx in oriented side of bisector
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:17 +02:00
Panagiotis Cheilaris
1bf704caad
more careful splitting of segment in Linf
...
Be more diligent in Oriented_side_C2, when the finite
vertex is on the Linf-perpendicular line lp which is
passing through the splitting point p.
This fixes a problem with the following input:
$ cat ~/Dropbox/cgal/sdg/split/prob3seg.cin
s -172 -263 124 -49
s -109 -2 64 -202
s -117 -39 97 -39
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:17 +02:00
Panagiotis Cheilaris
a6165d4485
whitespace fix in base filtered traits Linf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:17 +02:00
Panagiotis Cheilaris
aa8a13476a
whitespace fix: Linf Oriented_side_of_bisector_C2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:17 +02:00
Panagiotis Cheilaris
e464c3d08b
whitespace, comment removal in SDG Linf predicates
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:17 +02:00
Panagiotis Cheilaris
112ec6ce70
whitespace fix in SDG Linf basic.h
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:17 +02:00
Panagiotis Cheilaris
fcf87099c2
remove unused do_invert variable
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:17 +02:00
Panagiotis Cheilaris
31d9dd1eed
simplification and fix of drawing a bis seg
...
This fixes a drawing bug in the demo with input 3segconstr.cin:
s -268 65 238 71
s 206 -89 -241 -11
s -94 171 -155 -196
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:16 +02:00
Panagiotis Cheilaris
82fb43fcb0
choose constructions from traits if they exist
...
If construction templates for bisectors (line, segment, ray)
exist in the traits, then use them, otherwise, use the L2 traits.
The check is implemented by a type Has_bisector_constructions_type
that might be included in the traits and using the
"Substitution failure is not an error" (SFINAE) principle.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:16 +02:00
Panagiotis Cheilaris
5e335f83bb
put templates in base filtered traits class
...
This is to prepare a generalized algorithm that chooses
construction traits automatically. The choice is controlled
by type Has_bisector_constructions_type. A similar change has
been done with the non-filtered traits too. I also commented out
the old code.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:16 +02:00
Panagiotis Cheilaris
3d1c6ec5c9
put templates in base traits class
...
This is to prepare a generalized algorithm that chooses
construction traits automatically. The choice is controlled
by type Has_bisector_constructions_type. A similar change has
to be done for the filtered traits too. I also commented out
the old code.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:16 +02:00
Panagiotis Cheilaris
3c071e4d50
fix axis-parallel filtered traits to not complain
...
This fix is related to the generalization of the algorithm.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:16 +02:00
Panagiotis Cheilaris
68127c7675
keep half bisector with common endpoint
...
This fixes a bug in the drawing of the following input:
s -12 19 -23 4
s 93 1 -12 19
s 7 -56 -91 36
Probably, a solution with more general bisectors should be also
considered. A similar solution has to probably also be implemented
in the following case for bisector_SS:
the intersection of the two supporting lines of the two segments
is not in the (strict) interior of any of the two segments
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:16 +02:00
Panagiotis Cheilaris
665279a4d2
whitespace and small changes in polychain
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:16 +02:00
Panagiotis Cheilaris
6510a6765d
debug bisector print computed d
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:16 +02:00
Panagiotis Cheilaris
ff8a2ddbaa
debug message for common endpoint bisector_SS case
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:15 +02:00
Panagiotis Cheilaris
83c768c534
special bisector code for common endpoint segments
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:15 +02:00
Panagiotis Cheilaris
5dd642b95b
is_mid_qsrc and is_mid_qtrg variables in bisector
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:15 +02:00
Panagiotis Cheilaris
a2ef6d936b
check if parallel only when no common point in SS
...
This change uses the short-circuit evaluation of if.
It first checks that the two segments have no common
endpoint and only then checks if they are parallel.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:15 +02:00
Panagiotis Cheilaris
2ee4a00a68
move bisector SS computation common points earlier
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:15 +02:00
Panagiotis Cheilaris
a2b4cd7a3f
bisector debug messages in vsqr
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:15 +02:00
Panagiotis Cheilaris
e8c50f93a1
whitespace fixes in benchmarks
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:15 +02:00
Sandeep Kumar Dey
a2f1494102
CMakeLists.txt is updated
...
CMakeLists.txt is updated to include benchmark-linf-hv.cpp
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:15 +02:00
Sandeep Kumar Dey
e43801f342
benchmark-linf-hv.cpp
...
benchmark-linf-hv.cpp is added to check the
runtime for the inputs having only axis parallel segments.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:15 +02:00
Panagiotis Cheilaris
f9e136e0ac
removed a too strong assertion in fecf
...
The following file r4m1knosegless1.cin gave a failed assertion:
p -100 -74
s -89 6 34 -98
p -23 -87
p -48 -91
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:14 +02:00
Panagiotis Cheilaris
08415ef8b7
fix a typo: os -> bs
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:14 +02:00
Panagiotis Cheilaris
da9624c3f2
use only side_of_bs in vring
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:14 +02:00
Panagiotis Cheilaris
f4c1980fa2
remove side_of_os include from vsqrt new
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:14 +02:00
Panagiotis Cheilaris
e6e357be9b
removal of a case that is already included
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:14 +02:00
Panagiotis Cheilaris
111ebae585
use just side of bs in vsqrt new
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:14 +02:00
Panagiotis Cheilaris
ef6b4e207f
query t on side of bounded square
...
I moved a lot of the functionality for deciding the Linf incircle
test for four points to the side of bounded square predicate.
In the case of query point t being on one of the sides of the
bounded square, I use the predicate test1d. Maybe even this can
be optimized, or made even more robust with some more checks.
A bug that is fixed with the current commit is in the following
input:
$ cat ~/Dropbox/cgal/sdg/panos/sqch1a.cin
p -51 -180
p -180 -30
p -180 20
p -7 -180
I also fixed a small bug when expanding both sides of the bounded
square.
The next step is to completely remove the slow "side of oriented
square" test.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:14 +02:00
Panagiotis Cheilaris
11e5198a61
fix in reading points in benchmarks
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:14 +02:00
Panagiotis Cheilaris
f4d79b3504
is_lft_input variables: Side_of_oriented_square_2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:13 +02:00
Panagiotis Cheilaris
f42dfd8cab
pmin, pmax removal from Side_of_bounded_square_2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:13 +02:00
Panagiotis Cheilaris
f8c84e89d8
use lrbt pointers in Side_of_bounded_square_2
...
I also keep the old code, to try some assertions.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:13 +02:00
Panagiotis Cheilaris
738b2c6b36
show px_min, px_max, py_min, py_max debug messages
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:13 +02:00
Panagiotis Cheilaris
6a9cdb1069
make Side_of_bounded_square_2 functions inline
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:13 +02:00
Panagiotis Cheilaris
4817961cd5
debug message for touching sides of t in sidebs
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:13 +02:00
Panagiotis Cheilaris
ea417f4842
use constant half in Side_of_bounded_square_2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:13 +02:00
Panagiotis Cheilaris
4c9681e3fd
shorten long lines in Side_of_bounded_square_2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:13 +02:00
Panagiotis Cheilaris
629f05a8e1
use CGAL::compare in side of bounded square
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:13 +02:00
Panagiotis Cheilaris
dc186b670e
use bounded square first in vsqrtnew
...
For the case PPP for incircle_p, use the bounded side predicate
before the oriented side predicate.
A similar change should probably be done in vring, too.
The oriented side predicate makes a lot of tests that are irrelevant
for a finite PPP vertex.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:12 +02:00
Panagiotis Cheilaris
16d016dd65
benchmarks for Linf and L2 adapted from Menelaos'
...
The benchmarks do not support crossing segmetns.
The input should be fed from stdin and should
be in the the format of "p x y" or "s x1 y1 x2 y2"
per line. Do not give the total number of points
and segments in the first line (this is in contrast
with Menelaos' benchmark expected input).
Example input:
p 20 34
s 10 34 78 1
s 23 18 91 22
Example run:
n=600000 ;
rbox $n D2 s B180 | tail -n $n | awk '{print "p " $1 " " $2 }' |
time benchmark-linf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:12 +02:00
Panagiotis Cheilaris
672a24ed4d
slightly faster Side_of_bounded_square_2
...
Store the result of comparison of t with coordinates
of bottom left and top right point of square.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:12 +02:00
Panagiotis Cheilaris
9458afe15b
removal of side of bounded square include
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:12 +02:00
Panagiotis Cheilaris
27e6b1112b
point computation pushed inside debug
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:12 +02:00
Panagiotis Cheilaris
d34cd07b7d
whitespace fix of Side_of_bounded_square_2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:12 +02:00
Panagiotis Cheilaris
1b8428a998
whitespace fixes in Side_of_oriented_square_2
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:12 +02:00
Sandeep Kumar Dey
68b61ac17a
Assertion is removed
...
CGAL_assertion((l.perpendicular(vpqr).
has_on_negative_side(vqps))or
((compare_x_2(vpqr, vqps) == EQUAL) and
(compare_y_2(vpqr, vqps) == EQUAL)));
Example: This assertion is failed in 4seg.cin
s -196 109 -194 38
s -114 83 -6 83
s -7 67 -110 72
s -110 72 -114 83
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:12 +02:00
Panagiotis Cheilaris
4a8ab6100c
assertion instead of test to make faster
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:12 +02:00
Panagiotis Cheilaris
fb323b1a3c
show more verbose validity messages only in debug
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:11 +02:00
Panagiotis Cheilaris
566c5a3023
removal of sdg benchmarks from examples CMakeLists
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:11 +02:00
Panagiotis Cheilaris
a752730e6a
CMakeLists for benchmarks SDG-Linf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:11 +02:00
Panagiotis Cheilaris
885cb46e4e
typedefs for benchmarks (just copies)
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:11 +02:00
Panagiotis Cheilaris
87768c94e8
move SDG-Linf benchmarks to benchmarks directory
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:11 +02:00
Sandeep Kumar Dey
f7ca406d30
CMakeList is updated to include two new examples
...
sdg-creation-time.cpp
sdg-creation-time-hv.cpp
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:11 +02:00
Sandeep Kumar Dey
f24548376f
Added two examples and updated CMakeList
...
sdg-creation-time.cpp
This example only creates Linf sdg with general Linf traits
sdg-creation-time-hv.cpp
This example creates Linf sdg with Linf traits for axis parallel segments
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:11 +02:00
Panagiotis Cheilaris
23c40d0746
replace boost/random.hpp with rnd number generator
...
This fixes a problem with generating Segment_voronoi_2.moc:
opt/local/include/boost/type_traits/detail/has_binary_operator.hp:50:
Parse error at "BOOST_JOIN"
The problem did not appear before installing boost 1.53 with macports.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:11 +02:00
Panagiotis Cheilaris
f05baeb04c
put debug messages in intersection bis SS
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:11 +02:00
Panagiotis Cheilaris
b05926553e
Bisctor_Linf SS with vectors
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:10 +02:00
Panagiotis Cheilaris
2e42758fcd
intersection of two lines for bisector Linf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:10 +02:00
Panagiotis Cheilaris
3b99f23d99
removal of an assertion on q, t that is too strong
...
In the case when q and t have the same support, the following
assertion is too strong:
CGAL_assertion(
same_points(q.source_site(), t.source_site()) or
same_points(q.source_site(), t.target_site()) or
same_points(q.target_site(), t.source_site()) or
same_points(q.target_site(), t.target_site()) )
This fixes a bug in the input br89.cin:
s 10 120 60 20
s 60 40 70 60
s 30 110 100 40
s 8 56 180 160
Probably, a similar assertion has to be removed that has to do
with r and t.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:10 +02:00
Panagiotis Cheilaris
c23b499a32
convert only visible objects in ipe2cin
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:10 +02:00
Panagiotis Cheilaris
01614f2fd3
fix for touching parabolas PSS case
...
Fix for the following input start2db.cin:
s -250 50 -50 -150
s -100 -50 -60 -50
p -150 50
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:10 +02:00
Panagiotis Cheilaris
943a8edf76
fix for touching parabolas PPS case
...
Fix for the following 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:10 +02:00
Panagiotis Cheilaris
ae2dcf20ea
debug messages for touching parabolae
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:10 +02:00
Panagiotis Cheilaris
99dee9b48e
fecf pqrt parabola case when t is a point
...
I have also added some assertion that false is
returned when t and the point among p and q share
a coordinate.
Bug fix for 1seg2ptproblem.cin input:
s 10 120 60 20
p 60 40
p 70 40
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:10 +02:00
Panagiotis Cheilaris
1851868941
different parabola arcs for pqrt, case segment p
...
This is a bug fix for the following input br82.cin.
s 80 20 240 90
s 170 70 150 80
s 30 10 260 150
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:10 +02:00
Panagiotis Cheilaris
003603bbbe
different parabola arcs for pqrt, case p is point
...
This is a bug fix for the following input br80.cin.
s 10 120 60 20
s 60 40 70 60
s 30 110 100 40
A similar fix is probably required for fecf pqrt case,
when p is segment and q is a point. The fix works when
vertices (p,q,r) and (q,p,inf) are not on different arcs
of the Linf parabola of p and q.
Explanation for arcs:
The Linf-perpendicular line to q that passes through p partitions
the Linf-parabola of p and q in two arcs.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:09 +02:00
Panagiotis Cheilaris
af5fddf9d7
show intersects_segment_interior_inf_wedge_sp call
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:09 +02:00
Panagiotis Cheilaris
6ea3eba71c
whitespace and long lines fix in fecf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:09 +02:00
Panagiotis Cheilaris
223e19b998
ipescript ipe2cin converts ipe to cin format
...
The script ipe2cin converts all segments and points
in the first page of the ipe file given as the command
line argument to the SDG Linf cin format for segments
and points. The result is printed to the standard output.
Use refirection to save to a .cin file.
The file ipe2cin.lua has to be put in the appropriate
place, e.g., ~/.ipe/scripts/ and here is an example use:
ipescript ipe2cin ipe1.ipe > ipe1.cin
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:09 +02:00
Panagiotis Cheilaris
f8de3a3e58
show field or ring in refining debug messages
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:09 +02:00
Panagiotis Cheilaris
870eb5aa99
faster drawing with vertical segment parabola
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:09 +02:00
Panagiotis Cheilaris
1cb71db25d
faster drawing with horizontal segment parabola
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:09 +02:00
Panagiotis Cheilaris
1df026fd56
whitespace, indentation, shorten in constructions
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:09 +02:00
Panagiotis Cheilaris
382d2f75cf
bisector_linf include removal from constructions
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:09 +02:00
Panagiotis Cheilaris
e4a5671296
removal of bisector code that is never executed
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:08 +02:00
Panagiotis Cheilaris
4f96988701
PS non-axis parallel segment simplification
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:08 +02:00
Panagiotis Cheilaris
d91f272140
axis-parallel segments PS bisector linf simpler
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:08 +02:00
Panagiotis Cheilaris
accd69e0ca
removal of irrelevant comments in bisector linf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:08 +02:00
Panagiotis Cheilaris
603f7b00af
whitespace and indentation fixes in bisector linf
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:08 +02:00
Panagiotis Cheilaris
fe89a91776
+1/-1 direction components in PS bisector case
...
At the moment, it is only for non-axis-parallel segments.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:08 +02:00
Panagiotis Cheilaris
41a6e86669
removal of unused oriented_side predicate
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:08 +02:00
Panagiotis Cheilaris
3db7f07c86
remove comments about assertions in split
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:08 +02:00
Panagiotis Cheilaris
40b5ce57fc
make Linf implementation similar to L2
...
Several changes:
Reintroduce assertion for infinite faces in find_faces_to_split.
Use orientation_2_object instead of orientation_L2_2_object
in is_linear_chain.
Make primal agnostic to type of bisector line, ray, and segment.
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:07 +02:00
Panagiotis Cheilaris
663524b51d
construction for bisector segment returns object
...
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:07 +02:00