Commit Graph

462 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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 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