Commit Graph

700 Commits

Author SHA1 Message Date
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
Panagiotis Cheilaris e7edff87ca removal of orientation L2 from traits
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:07 +02:00
Panagiotis Cheilaris ab6dcab6ea removal of Orientation_Linf_2 from traits
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:07 +02:00
Panagiotis Cheilaris 02f9c2936a remove orientation Linf from insert_third
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:07 +02:00
Panagiotis Cheilaris 7c1ea15755 rely on vertex_conflict, but also keep orientation
The next step is to completely remove or_linf for insert_third.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:07 +02:00
Panagiotis Cheilaris 2bced7624c debug messages in insert_third
Also, try to see if it is possible to use vertex conflict
instead of the orientation Linf test in insert_third.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:07 +02:00
Panagiotis Cheilaris f3dc72dc9d several fixes and changes in vsqr
The changes fix several bugs.

One choice involves a specific choice of bisectors to
compute the vv of three segments, that gives priority
to axis-parallel segments and segments that have a common
endpoint.

Maybe these changes should be also translated to vring.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:07 +02:00
Panagiotis Cheilaris 5ecff12c56 use vertical and horizontal lines in VC
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:07 +02:00
Panagiotis Cheilaris d82981bf63 compute directly vertical and horizontal lines
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:06 +02:00
Panagiotis Cheilaris 6cfbda477c test star predicate used in vring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:06 +02:00
Panagiotis Cheilaris 78b10e4e90 test star predicate in basic predicates
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:06 +02:00
Panagiotis Cheilaris 04f9f35e95 use if's and not ternary operator
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:06 +02:00
Panagiotis Cheilaris 2cf1af6f39 bug fix for interior of edge conflict
Problem with the following input is fixed now:
~/Dropbox/cgal/demo/Segment_Delaunay_graph_Linf_2/September/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:06 +02:00
Panagiotis Cheilaris e15d08b3b2 debug and whitespace fix in interior cf touch
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:06 +02:00
Panagiotis Cheilaris 22818b25e7 more careful check for candidate oriented side
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:06 +02:00
Panagiotis Cheilaris 9c00ba9d07 3 segments with common point in vring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:06 +02:00
Panagiotis Cheilaris 92acbcd21b for three star segments, return fast common point
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:06 +02:00
Panagiotis Cheilaris f68d486c9e conservative predicate decision for xxxl case
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:05 +02:00
Panagiotis Cheilaris 3c8433be4d debug messages for oriented sides of pqt predicate
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:05 +02:00
Panagiotis Cheilaris b9a5f5a596 predicate for axis-parallel line
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:05 +02:00
Panagiotis Cheilaris 7c3e4e26c3 shortcut for horizontal and vertical sites
New predicates in Basic_predicates_C2.h:
is_site_h_or_v
is_site_horizontal
is_site_vertical

These predicates are used in several files in classes that are derived
from Basic_predicates_C2.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:05 +02:00
Panagiotis Cheilaris a46ddc2d0c faster assertion for horizontal/vertical
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:05 +02:00
Panagiotis Cheilaris a1062ca31c vring debug messages and whitespace fixes
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:05 +02:00
Panagiotis Cheilaris 61dc37337f oriented side more careful tests in vring
This fixes the bug for the input br10.cin:
s -100 110 0 100
s 200 80 -110 -190
p 0 0
s 0 100 200 80

However, it seems we must also check if things
are in the same quadrants.

The bug for input br20.cin is still there:
s -100 130 0 100
s 200 80 -110 -190
p 0 0
s 0 100 200 80

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:05 +02:00
Panagiotis Cheilaris 633b695206 better refinement when p and t are points
This fixes the bug for input:
~/Dropbox/cgal/demo/Segment_Delaunay_graph_Linf_2/September/br10noseg.cin

s -100 110 0 100
s 200 80 -110 -190
p 0 0

In particular, vertex conflict of (M,CM,DE) with F now returns -1,
where M=(0,100), C=(-100,110), D=(200,80), E=(-110,-190), F=(0,0).

Maybe the same fix has to be done for qref.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:05 +02:00
Panagiotis Cheilaris e93f6fad26 debug small changes in incircle_p case
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:04 +02:00
Panagiotis Cheilaris e0db096678 better messages for validity tests
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:04 +02:00
Panagiotis Cheilaris 12e0699884 remove: assertions too strong for validity test
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:04 +02:00
Panagiotis Cheilaris db44c9d742 a small fix in sqrt field new
There was a problem with the following input.

$ cat ~/Dropbox/cgal/demo/Segment_Delaunay_graph_Linf_2/September/br3.cin
s 50 50 100 100
p 50 0
s 0  0 50 50

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:04 +02:00
Panagiotis Cheilaris 1a43cceb91 finite edge cf star case fixed
For A=(0,0), B=(100,0), C=(200,200), D=(200,250),
we had erroneously fecf(BC,A,AB,BD,-1) returning
false. The correct answer is true and it is fixed now.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:04 +02:00
Panagiotis Cheilaris 5254971901 typo fix in positive slope predicate
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:04 +02:00
Panagiotis Cheilaris 2972403ded more debug messages in sqrt field new
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:04 +02:00
Panagiotis Cheilaris 13dfb08085 some more debug messages in constructions
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:04 +02:00
Panagiotis Cheilaris cd1d468acb put a weaker assertion in vertex sqrt
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:04 +02:00
Panagiotis Cheilaris e7a14bbdec finite vertex star conflict fix
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:03 +02:00
Panagiotis Cheilaris 3449186027 vertex at infinity star conflict fix
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:03 +02:00
Panagiotis Cheilaris 2e5c511b82 revert to assertion in infinite edge int. cf.
When q is point, we have the following assertion (again):

bool is_q_tsrc = same_points(q, t.source_site());
bool is_q_ttrg = same_points(q, t.target_site());

CGAL_assertion(not (is_q_tsrc or is_q_ttrg));

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:03 +02:00
Panagiotis Cheilaris 638b727b2c revert back to bisector drawing assertion
It is not possible to draw a bisector ray between
two segments in constructions.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:03 +02:00
Panagiotis Cheilaris 16e28e1b31 check positive slope predicate
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:03 +02:00
Panagiotis Cheilaris 000facc886 support for drawing bisector ray between segments
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:03 +02:00
Panagiotis Cheilaris b583d26409 support for Vector_2 in filtered traits
This is useful for use of Bisector_Linf in constrcutions.
I have also added support for Sign and Boolean.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:03 +02:00
Panagiotis Cheilaris 7c4c88ab13 booleans for endpoints in vertex sqrt
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:03 +02:00
Panagiotis Cheilaris 4c6e33965e whitespace and debug fixes
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:02 +02:00
Panagiotis Cheilaris 51f6ba8853 star segments infinite edge conflict
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:02 +02:00
Panagiotis Cheilaris 5e67873260 infinite conflict involving star segments
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:02 +02:00
Panagiotis Cheilaris 0d83ffa72d linf_refine change also in vertex ring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:02 +02:00
Panagiotis Cheilaris 29d596eb48 refine function only for vertex sqrt
It solves the bug for the following input:

$ cat ~/Dropbox/cgal/demo/Segment_Delaunay_graph_Linf_2/September/5segA2.cins 0 0 0 100
s 0 100 100 100
s 0 0 100 100
p 50 50
p 50 100
s 50 50 50 100

It has to be further tested when the line l comes from a segment t which
is a strict subset of a side of the Linf square related to vertex vv.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:02 +02:00
Panagiotis Cheilaris 0b06882eab whitespace fixes and debug message in sqrtvertex
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:02 +02:00
Panagiotis Cheilaris 28defb9214 remove verbose definition in some examples 2015-06-30 10:31:02 +02:00
Panagiotis Cheilaris 8bab379a0a package_info for Segment_Delaunay_graph_Linf_2 2015-06-30 10:31:02 +02:00
Panagiotis Cheilaris b4236a0f1f renames to be like formal CGAL repository
I have only kept in an include directory at the root
the change in arrangement point location.

This change also requires to use some special local
includes in CMakeLists.txt files. I will do it in a
subsequent commit.
2015-06-30 10:31:01 +02:00