Commit Graph

700 Commits

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