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