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
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
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
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
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
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
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
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
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
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
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