Commit Graph

64306 Commits

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