Commit Graph

700 Commits

Author SHA1 Message Date
Panagiotis Cheilaris eb17b2a3a2 remove warning: CGAL_USE in sdglinf 2015-06-30 10:32:09 +02:00
Panagiotis Cheilaris bafb11da0c remove warning: now n_faces is unsigned int 2015-06-30 10:32:09 +02:00
Panagiotis Cheilaris 0569628512 rename test programs for sdglinf 2015-06-30 10:32:09 +02:00
Panagiotis Cheilaris 6ab69367f0 rename example programs for sdglinf 2015-06-30 10:32:09 +02:00
Panagiotis Cheilaris dcfeeb3907 remove unused sdglinf example 2015-06-30 10:32:08 +02:00
Panagiotis Cheilaris e92f156943 change word logical operators in sdglinf examples 2015-06-30 10:32:08 +02:00
Panagiotis Cheilaris 341d158a3f change word logical operators in sdglinf include 2015-06-30 10:32:08 +02:00
Panagiotis Cheilaris 2f3f3d0885 remove sdglinf parameter warnings 2015-06-30 10:32:08 +02:00
Panagiotis Cheilaris 66b6dcad84 remove benchmark sdglinf sdg-creation-time-hv.cpp
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:32:08 +02:00
Panagiotis Cheilaris 5ff10e10f6 remove hv from sdglinf benchmark
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:32:08 +02:00
Panagiotis Cheilaris b3f6875f8a remove hv from print-sdg for sdglinf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:32:08 +02:00
Panagiotis Cheilaris c89df09967 remove sdglinf hv include files
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:32:07 +02:00
Panagiotis Cheilaris a2acb0f2d1 sdglinf doc explain traits use 2015-06-30 10:32:07 +02:00
Panagiotis Cheilaris be344982ba sdglinf doc fix: reference fixed 2015-06-30 10:32:07 +02:00
Panagiotis Cheilaris 3c822a8cfd sdglinf doc: explain use of hierarchy in reference 2015-06-30 10:32:07 +02:00
Panagiotis Cheilaris 51203577a7 SDG Linf doc concept fixes 2015-06-30 10:32:07 +02:00
Panagiotis Cheilaris 9601b5b8fb SDG Linf doc: refer to SDG L2 template parameters 2015-06-30 10:32:07 +02:00
Panagiotis Cheilaris a70437ae9c SDG Linf doc: mention deletion of sites 2015-06-30 10:32:07 +02:00
Panagiotis Cheilaris 18a1773a05 SDG Linf: fix insert_points insert_segments link 2015-06-30 10:32:07 +02:00
Panagiotis Cheilaris 9912df2134 SDG Linf doc: add references to SDG L2 manual 2015-06-30 10:32:06 +02:00
Panagiotis Cheilaris fb6473a9eb SDG Linf doc: use cgalCite instead of cite 2015-06-30 10:32:06 +02:00
Panagiotis Cheilaris 797abfe78c add SDG Linf fast examples to doc file 2015-06-30 10:32:06 +02:00
Panagiotis Cheilaris ced0ecac75 fix SDG Linf doc examples 2015-06-30 10:32:06 +02:00
Panagiotis Cheilaris d11883eedc SDG Linf doc: define weakly/strongly intersecting 2015-06-30 10:32:06 +02:00
Sandeep Kumar Dey c6fb2800eb supporting -> support 2015-06-30 10:32:06 +02:00
Sandeep Kumar Dey b4d8fdf823 details, on -> details on 2015-06-30 10:32:06 +02:00
Sandeep Kumar Dey ce64dd604a tries to reuse -> reuses 2015-06-30 10:32:06 +02:00
Sandeep Kumar Dey 047c65b746 removed some text
The details are not of interest to the end user, so we do not elaborate further...
2015-06-30 10:32:06 +02:00
Sandeep Kumar Dey 82abcbda22 are relying -> rely 2015-06-30 10:32:05 +02:00
Panagiotis Cheilaris b2e82cd185 SGD Linf doc: fix capitalization in project name 2015-06-30 10:32:05 +02:00
Panagiotis Cheilaris fe034e85f9 SDG Linf doc: use of Voronoi_diagram_2 2015-06-30 10:32:05 +02:00
Panagiotis Cheilaris a73cc8c387 SDG Linf doc capitalization and uniform titles 2015-06-30 10:32:05 +02:00
Panagiotis Cheilaris 0962b95ec9 correct User Manual reference fot SDG Linf doc 2015-06-30 10:32:05 +02:00
Panagiotis Cheilaris 7d1befea1c move cgalPkgDescriptionEnd earlier in SDG Linf doc 2015-06-30 10:32:05 +02:00
Panagiotis Cheilaris 0870e0a77d fix \tparam in SDG Linf doc and reorganize 2015-06-30 10:32:04 +02:00
Panagiotis Cheilaris 2af6334f22 use space before period after cite in SDG Linf doc 2015-06-30 10:32:04 +02:00
Panagiotis Cheilaris 1ab886c0ab single line SDG Linf package description 2015-06-30 10:32:04 +02:00
Panagiotis Cheilaris 705fc87bc5 single line SDG Linf package authors 2015-06-30 10:32:04 +02:00
Panagiotis Cheilaris 491a0bde67 correctly Bib label for SDG Linf doc 2015-06-30 10:32:04 +02:00
Panagiotis Cheilaris 0470b39924 use \tparam in SDG Linf doc 2015-06-30 10:32:04 +02:00
Panagiotis Cheilaris 74bd1080c4 SDG LInf doc remove some more seealso 2015-06-30 10:32:04 +02:00
Panagiotis Cheilaris 2d82e9d2c8 cite cdgp-icms-2014 in the SDG Linf doc 2015-06-30 10:32:03 +02:00
Panagiotis Cheilaris 5e875e2c38 SDG Linf doc remove \sa from traits 2015-06-30 10:32:02 +02:00
Panagiotis Cheilaris 2d753bdbd7 SDG Linf doc remove \sa from hierarchy 2015-06-30 10:32:02 +02:00
Panagiotis Cheilaris 2878df6b94 SDG Linf doc: remove some \sa from SDGLinf 2015-06-30 10:32:02 +02:00
Panagiotis Cheilaris a5b26739a9 remove SDG Linf traits in see also of concept 2015-06-30 10:32:02 +02:00
Panagiotis Cheilaris e0928ee599 SDG Linf doc: "template class" to "class template" 2015-06-30 10:32:02 +02:00
Sandeep Kumar Dey 474a74ecab .svg files 2015-06-30 10:32:02 +02:00
Sandeep Kumar Dey ce8cb32a2a png is replaced by svg 2015-06-30 10:32:02 +02:00
Sandeep Kumar Dey 7ca5a1d763 svg format for figures 2015-06-30 10:32:02 +02:00
Panagiotis Cheilaris 6e30f8ddc2 change to word infinity in SDG Linf reference 2015-06-30 10:32:01 +02:00
Panagiotis Cheilaris 83ce28ea33 remove demo zip from SDG Linf doc 2015-06-30 10:32:01 +02:00
Panagiotis Cheilaris cd1d3672a7 add algorithm classes for SDG Linf in doc 2015-06-30 10:32:01 +02:00
Panagiotis Cheilaris d146628308 fix links in SegmentDelaunayGraphLinfTraits_2 doc 2015-06-30 10:32:01 +02:00
Panagiotis Cheilaris 0485231689 add documentation dependency of SDG Linf to TDS_2 2015-06-30 10:32:01 +02:00
Panagiotis Cheilaris 69e61d8f73 unicode or tex not supported in SDG Linf title 2015-06-30 10:32:01 +02:00
Panagiotis Cheilaris d7cd59f1d6 use tex style infinity in SDG Linf 2015-06-30 10:32:01 +02:00
Panagiotis Cheilaris 687be44a06 use infinity unicode symbol instead of word 2015-06-30 10:32:01 +02:00
Panagiotis Cheilaris 1d1017800e add algorithms in title of package description 2015-06-30 10:32:01 +02:00
Panagiotis Cheilaris 933661a60d SDG Linf doc changes from Andreas Fabri review 1 2015-06-30 10:32:00 +02:00
Panagiotis Cheilaris 6c5504031f add Voronoi_diagram_2 dependency to SDG Linf doc 2015-06-30 10:32:00 +02:00
Andreas Fabri df318d1ddf put a better \ref 2015-06-30 10:32:00 +02:00
Andreas Fabri eea0ad61cb no need for the word figure 2015-06-30 10:32:00 +02:00
Andreas Fabri 6c583d7fba typo 2015-06-30 10:32:00 +02:00
Andreas Fabri 76c093c190 Capitalize words in \section and \subsection 2015-06-30 10:32:00 +02:00
Andreas Fabri 3253e21c6a fixed some typos and added a dependency 2015-06-30 10:32:00 +02:00
Panagiotis Cheilaris a0de3f0071 SDG Linf hierarchy algorithm documentation 2015-06-30 10:32:00 +02:00
Panagiotis Cheilaris 9ab0c751a8 SDG Linf algorithm documentation 2015-06-30 10:32:00 +02:00
Panagiotis Cheilaris 982f002c64 traits documentation for SDGLinf 2015-06-30 10:31:59 +02:00
Panagiotis Cheilaris 386a18a373 documentation base files for SDGLinf 2015-06-30 10:31:59 +02:00
Panagiotis Cheilaris be6714041e figures for SDGLinf documentation 2015-06-30 10:31:59 +02:00
Panagiotis Cheilaris efd88e48b8 small figure for SDGLinf 2015-06-30 10:31:59 +02:00
Panagiotis Cheilaris 304dc76a36 use a tag for Linf bisector constructions
Instead of the type Has_bisector_constructions_type that relied on
SFINAE for choosing bisectors, use Tag_has_bisector_constructions
tag which is typedef'ed to be Tag_true for Linf traits.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:58 +02:00
Panagiotis Cheilaris b6044ee297 Linf hierarchy copy and assignment
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:58 +02:00
Panagiotis Cheilaris 91cb090fe1 add some constructors for Linf hierarchy
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:58 +02:00
Panagiotis Cheilaris 07ebeea064 derive Linf2 from L2 (hierarchy definitions)
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:57 +02:00
Panagiotis Cheilaris bfc7683db9 Linf2 algorithm implementation changes
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:57 +02:00
Panagiotis Cheilaris 69e65d8e21 use NULL instead of nullptr in Linf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:57 +02:00
Panagiotis Cheilaris 948dba11b3 Segment_Delaunay_graph_Linf_2 copy and assignment
Define copy constructor and assignment operator using
respective base class constructor/operator.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:57 +02:00
Panagiotis Cheilaris 38321dc2c3 point to function, only with intersections
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:57 +02:00
Panagiotis Cheilaris f2386323a4 fix calling insert method from Base
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:57 +02:00
Panagiotis Cheilaris 789fa261c3 setup Linf insert on segment functions
This change requires a change in the base class of the Linf
algorithm to support the insert_point_on_segment_ptr and
insert_exact_point_on_segment_ptr function pointers.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:57 +02:00
Panagiotis Cheilaris a88e1dff7c print face in Linf algorithm definition
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:57 +02:00
Panagiotis Cheilaris bc1155935d add Linf tiebreaker definitions
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:56 +02:00
Panagiotis Cheilaris 69421720e6 add oriented_side_face_tiebreak to implementation
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:56 +02:00
Panagiotis Cheilaris 700d5a14a8 add missing return type of find_faces_to_split
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:56 +02:00
Panagiotis Cheilaris 6a1e7d136c derive Linf2 from L2 (definitions)
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:56 +02:00
Panagiotis Cheilaris 4f78585e42 SDG Linf fast insertion examples
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:56 +02:00
Panagiotis Cheilaris 5ae67aa4db more rare name for former tuple_maker
tuple_maker -> sdg_tuple_maker

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:56 +02:00
Panagiotis Cheilaris 95d83591b0 use CGAL_CFG_NO_CPP0X_TUPLE in SDG Linf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:56 +02:00
Panagiotis Cheilaris 6c022aca96 simplify types for sdg-count-sites.cpp in Linf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:56 +02:00
Panagiotis Cheilaris a8d83a63c8 SDG Linf exact example: use typedef
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:55 +02:00
Panagiotis Cheilaris 540b8ca691 SDG Linf red blue example with typedef
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:55 +02:00
Panagiotis Cheilaris 685acd8379 use typedef in a SDG Linf example
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:55 +02:00
Panagiotis Cheilaris 8de904afd7 put CGAL_SDG_DEBUG definition in SDG Linf basic.h
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:55 +02:00
Panagiotis Cheilaris 893a732d45 do not use linf_radius_pps for efficiency reasons
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:55 +02:00
Panagiotis Cheilaris 9b79f593c2 fix float, ppsp case, choice of refpoint
This fixes a problem that manifests with input n88.cin:

s 23.194048 69.95298  23.186834 69.952034
s 22.381594 70.510712  22.38833 70.519165
s 22.393114 70.519165  22.406164 70.512787

Vertex_conflict (pqrt)=
(p 23.186834 69.952034)
(p 22.38833 70.519165)
(s 22.381594 70.510712 22.38833 70.519165)
(p 22.393114 70.519165) returns 1  or (B, D, CD; E) returns 1,
although it should return -1.

I introduce a new function linf_radius_pps that chooses one
of the two points of the Voronoi vertex based on its proximity
to the argument t of the incircle test.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:55 +02:00
Panagiotis Cheilaris 4620d9c981 use is_on_hv_seg_line also in ring case
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:55 +02:00
Panagiotis Cheilaris 86feec3169 fix two test expected return values
They are related to test points being on the line
of an axis-parallel segment.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:55 +02:00
Panagiotis Cheilaris 3176883552 fix to counterclockwise site order for some tests
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris d496070ad5 fix of expected return values of two tests
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris db389aaf06 fix float, for vertex conflict with point t
This fixes a problem that manifests with input n71.cin:

s 11.979542 63.269928  12.073787 63.172432
s 10.011458 64  10.041777 64
s 11.174461 64  11.17787 64

debug: Vertex_conflict (pqrt)=
  (p 11.979542 63.269928)
  (p 10.041777 64)
  (s 10.011458 64 10.041777 64)
  (p 11.174461 64)
returns -1, or vc(A, D, CD ; E) returns -1 (NEGATIVE),
although it should return POSITIVE (i.e., no conflict).

The fix is using the new is_on_hv_seg_line function, which checks
if the test point is on the line of the axis-parallel segment r.
Function is_on_hv_seg_line is invoked in the easy degeneracies
tests.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris 61964d4fdd priority to band over endpoint of segment
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris ccdf9ef8fd has_positive_slope only for non-axis parallel
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris 9cd7fdf358 use zero_voronoi_area in all fecf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris 98e9366202 fix float, when iecf has zero voronoi area point
This is a problem that manifests with input n52.cin:

s 22.649618 70.68029799999999  22.651001 70.683487
s 22.651001 70.683487  22.654936 70.684631
s 22.654451 70.688507  22.633778 70.683037

debug infinite-edge-int-cf tocheck (q,s,r,t,sgn)=
p 22.651001 70.683487
s 22.651001 70.683487 22.654936 70.684631
s 22.649618 70.680298 22.651001 70.683487
s 22.654451 70.688507 22.633778 70.683037
-1
returns 0

otherwise: iecf (B, BC, AB, DE, -1) returns 0 (false)
although it should return 1 (true)

The fix uses function zero_voronoi_area.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris cf3cc0e109 move zero_voronoi_area to Basic_predicates_C2.h
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris f5d3777bd6 fix float, when fecf has zero voronoi area point
This is a problem that manifests with input n41.cin:

s 23.980547 71.044022  23.96011 71.05307000000001
s 23.96011 71.05307000000001  23.950411 71.05497
s 23.957935 71.07712600000001  23.960318 71.07725499999999
s 23.960318 71.07725499999999  23.984632 71.073189

debug finite-edge-int-cf with (p,q,r,s,t,sgn)= s 23.957935 71.077126 23.960318 71.077255 p 23.96011 71.05307 s 23.980547 71.044022 23.96011 71.05307 s 23.96011 71.05307 23.950411 71.05497 s 23.960318 71.077255 23.984632 71.073189 -1 returns 0 (false)
although it should return 1 (true)

otherwise fecf (DE, B, AB, BC,  EF, -1) returns 0 although it should return 1

The fix uses a new function zero_voronoi_area.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:54 +02:00
Panagiotis Cheilaris e7c96941ce add a comment after a long if in fecf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris de83047224 test for t endpoint of segments in SSS
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris 4d292ccdf1 ring case: endpoint of segments in SSS
check_easy_degeneracies returns POSITIVE and result is used

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris 66df419afb fix for float case: endpoint of segments
Related to input n31.cin:

s 25.966988 70.978706  25.987635 70.97238900000001
s 25.987635 70.97238900000001  26.000231 70.97238900000001
s 26.000231 70.97238900000001  26.015379 70.975082

s A B  s B C  s C D

Vertex_conflict pqrt ( (AB, BC, CD) ; C ) was returning NEGATIVE
and now it returns POSITIVE.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris 8e3be7ce34 some tests for p,q,inf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris e157994ef1 remove computing some lines in (p,q,inf)
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris 1e975ddd9c use cmpx, cmpy together with line check
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris 4fc33a968e new version of intersects_segment_interior_inf_box
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:53 +02:00
Panagiotis Cheilaris bd94d902fe fix for endpoint of axis-parallel segment
Related to input n21.cin:

s 25.914984 70.968903  25.912687 70.97624999999999
s 25.987635 70.97238900000001  26.000231 70.97238900000001

Vertex_conflict (pqrt)=
(p 25.914984 70.968903) (p 26.000231 70.972389)
(s 25.987635 70.972389 26.000231 70.972389)
(p 25.987635 70.972389)

now returns POSITIVE

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris dd74ecd4a1 use right_turn in a incircle_pps predicate
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris 907f1d8b69 fix vertex conflict when t is endpoint of r
This is a fix for field number types, for a vertex conflict
(p,q,r,t) when t is an endpoint of r and t is not axis-parallel.

The problem manifested for input n11.cin:

s 4.7031002 61  4.70013 60.996868
s 4.7356453 61  4.7417111 61.018108
s 4.743824 61.0336  4.7237062 61.037254

(s A B, s C D, s E F)

The vertex conflict predicate (A, CD, F ; C) returned NEGATIVE.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris 2b9c6ad3bd fix p,q,inf vertex conflict when p, q share coord
This fixes a problem when a floating point filtering kernel is
used and the input consists of non-integer numbers. The problem
manifestated with input n2scaled.cin:

s 4.703 61.000  4.700 60.996
s 4.732 60.997  4.735 61.000

(s A B, s C D)

The vertex conflict predicate (A, D, inf ; AB) returned NEGATIVE.
This was because an oriented side predicate for line AD and point
A of segment AB was computed. This predicate does not have to be
run, because we already know that A is an endpoint of AB.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris f2e1e69d5f translate a plg file by the given x, y arguments
Example run:

cat ~/Dropbox/cgal/experiment-gulp/tmhuge.plg | python3.4 ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/plgtranslate.py -81700 -640000 > ~/Dropbox/cgal/experiment-gulp/tmhugetrans.plg

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris 7eafd4d0cc remove redefinition of OrientationLinf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris a93f1694fb put parentheses around some ?-operator arguments
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris 3be5e2e376 differentiate kernel ray and segment
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris 45f3b36509 count_eq >= 0 is always true
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:52 +02:00
Panagiotis Cheilaris d0fa197b70 convert lsp to plg format
Example use:

cat tl2less.cin | python3.4 ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/lsp2plg.py > tl2less.plg

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris 180fb36491 more infinite PPP vertex conflicts tests
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris 070187e8ed ((p, q, inf), t) incircle test
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris 1fb83d66dc initialize inf_i variable
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris cb9b4fbf17 remove variadic templates and bug fixes
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris ecbba3ba92 incirc benchmark with variadic templates
This requires C++11.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris 0d884eebb6 show number of sites in command line in incirc
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris cff7555c67 p, q, r on corners and t on side interior
If p, q, r on corners and t on interior of a side,
then there is a conflict.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris 7b08dec920 minmax also returns points
It seems unavoidable but some of the unnatural coordinates
of the extreme points are needed. For example, the x coordinate
of the bottom point is needed in side of bounded square.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:51 +02:00
Panagiotis Cheilaris eecc11a2a2 avoid comparisons when expanding rectangle
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris a3fa5a8716 use MinMaxTuple as return value of minmax
This might slow things down.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris 3e40227feb minmax function takes three template arguments
This is to prepare a possible passing of coordinates.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris bf63b5b6be speedup in some cases of pppp incircle
Introduction of analyze_smalleq that returns a SmallerEqTuple,
is_L_shaped check and are_at_three_corners check.
Avoid checking some Comparison_result.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris 4382defa9e more carfeul compute_v_if_not_computed for ring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris 34945ef50d add is_v_computed assertions
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris 6c81fdc38b compute vertex in oriented_side of ring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris f619dd32b1 specify infinite vertices in debug messages
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:50 +02:00
Panagiotis Cheilaris 61c4d6fac6 avoid comparisons in exist_two_with_same_y
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris 7ea56eac67 avoid comparisons in exist_two_with_same_x
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris dd4da7d78d move mirror computation inside same coord cases
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris 2cc45a8b98 exist_two_with_same_(x|y) computed from the start
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris ecaa0f8193 assertions on extremity of different coord point
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris db9b3f43bb bounded side extreme points debug message earlier
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris f344d9dfa9 minmax function in side of bounded square
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris 4899e3ff05 remove unused Site_2 type in test
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:49 +02:00
Panagiotis Cheilaris dc951c4695 PPPP same coordinate, opposite side test
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris 208775665e use division by two instead of half in sidebs
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris d981327ea6 do not compute always vertex for incircle ring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris 37f7b0a301 remove half from ring compute_ppp
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris c9f84adee9 PPPP same side and other close test
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris 8f700308b8 PPPP same side and other at corner test
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris dbd8c285ac PPPP two same side and other outside test
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris b677d64bc4 PPPP test same side and same coordinate
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris b06e60ae74 PPPP same interior side points and other between
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:48 +02:00
Panagiotis Cheilaris df42df98f0 PPPP corner points tests
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris 870f05800e pssd5aless2.cin related validity test
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris 342ddb0348 test PSS bdiff=3 point on a side pssd3varxa.cin
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris a080f0c1b8 test PSS bdiff=3 point on a side pssd3a.cin
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris fd1b7e5023 test PSS bdiff=4 corner point pssd4a.cin
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris 6b9e5caab5 test PSS bdiff=2 opposite side pssd2btw3.cin
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris f3ac657c12 tests related to points_inside_touching_sides
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris 789f3e6c91 sss test with one axis-parallel segment
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:47 +02:00
Panagiotis Cheilaris 4e4c4d9fff test for SSS axis-parallel
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Sandeep Kumar Dey 466f82d122 Tests for pps case with vertical segment
Tests for pps case with vertical segment and two points with same y coordinate on the left of seg
12 test cases are inserted for different position of test point t.

Conflicts:
	Segment_Delaunay_graph_Linf_2/test/Segment_Delaunay_graph_Linf_2/test_sdg_traits_2.cpp

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris e45bc4f341 test related to input pssprob1.cin
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Sandeep Kumar Dey d8ba6dd2af incircle test pps
The segment is vertical and the points are on right side of the segment.
And also the points on projection will hit the line segment.
t is chosen at different locations to test incircle property.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris 870d50871b pps tests for points with same coordinates
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris c6ebc066c0 tests related to pssphor1.cin etc.
These are incircle tests related to input pssphor1.cin:

s -100 -50 50 100
s 50 50 100 50
p 0 0

and similar inputs (pssphor2.cin, pssphor3.cin).

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris 3fd556cea1 tests related to br80.cin
Input br80.cin is:
s       10      120     60      20
s       60      40      70      60
s       30      110     100     40

(segments AB, CD, EF, respectively)

The incircle predicates (CD, F, EF, B) and (CD, B, F, EF) should
both return 0 (ZERO).

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris 2454107687 tests for a pss case in 3segstepnosegbef.cin
test_incircle<Gt>(Point_2(0, 100),
                    Segment_2(Point_2(0, 50), Point_2(0, 100)),
                    Segment_2(Point_2(-50, 50), Point_2(50, -50)),
                    Point_2(50, 0),
                    CGAL::NEGATIVE);

  test_incircle<Gt>(Segment_2(Point_2(-50, 50), Point_2(50, -50)),
                    Point_2(0, 100),
                    Segment_2(Point_2(0, 50), Point_2(0, 100)),
                    Point_2(50, 0),
                    CGAL::NEGATIVE);

  test_incircle<Gt>(Segment_2(Point_2(0, 50), Point_2(0, 100)),
                    Segment_2(Point_2(-50, 50), Point_2(50, -50)),
                    Point_2(0, 100),
                    Point_2(50, 0),
                    CGAL::NEGATIVE);

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris 50fc5924fd pss Linf incircle test related to r2minpt.cin
The r2minpt.cin input is as follows:
s -91 36 36 87
p -23 4
p -17 37
p -17 40

The test in test_sdg_traits_2.cpp is as follows:
test_incircle<Gt>(Point_2(-23, 4), Point_2(-17, 37),
                  Segment_2(Point_2(-91, 36), Point_2(36, 87)),
                  Point_2(-17, 40),
                  CGAL::POSITIVE);

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:46 +02:00
Panagiotis Cheilaris 78f510c399 a new traits SDG Linf tester
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris aee5d567cd updated test for Linf (using std::string)
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris c5c82940fb do not allow deletion of sites in Linf test
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris eaa50eba4e SDG Linf testsuite programs and data
The test programs are adapted from the SDG L2 ones.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris be3ef8cfa4 remove another warning for s2 pointer
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris c70fc29971 remove dx warning in Side_of_bounded_square_2.h
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris e87c6b8719 incirc benchmark program
Example use:

type=linf ; iprofiler -o incirc${type} -T 15s -timeprofiler ~/code/geom/Segment_Delaunay_graph_Linf_2/benchmark/Segment_Delaunay_graph_Linf_2/incirc -r 50000000 --${type} 'p 200 -150'  'p 250 50'  'p 50 -50'  'p 300 -50'

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris 41096299e7 add --linf argument to benchmark-gen for symmetry
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris 50ecfb1e13 CMakeLists.txt for benchmark-gen
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris 94d51380ba general benchmark program for both L2 and Linf
Example uses:

time ( cat ~/code/mycgal/Segment_Delaunay_graph_2/benchmark/Segment_Delaunay_graph_2/data/norway.cin | iprofiler -T 11s -o nlinf -timeprofiler ~/code/geom/Segment_Delaunay_graph_Linf_2/benchmark/Segment_Delaunay_graph_Linf_2/benchmark-gen )

time ( cat ~/code/mycgal/Segment_Delaunay_graph_2/benchmark/Segment_Delaunay_graph_2/data/norway.cin | iprofiler -T 10s -o nl2 -timeprofiler ~/code/geom/Segment_Delaunay_graph_Linf_2/benchmark/Segment_Delaunay_graph_Linf_2/benchmark-gen --l2 )

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris f9488b5865 prepare benchmark to support both L2 and Linf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris 8e27388e73 change pref to rref in two comments
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris e75e7498ec fix for a touching non-hv segment
This fixes a bug in the validity test for input pssd5aless2.cin:
p 100 0
s 150 0 50 -100
p 100 100
p -100 100
(A, BC, D, E)

In particular vertex conflict (BC, D, E, A) was returning -1
and now it returns ZERO.

At the same time, we should keep a negative predicate return value
for 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:44 +02:00
Panagiotis Cheilaris 0e3f2d5e3b PSS case bdiff=5 compute_pss_side_p_known
All bisector computations have been removed.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris 451198fe19 rotate counterclockwise by pi/2 an lsp input
Example use:

cat ~/Dropbox/geom/data/pssd3a.cin | python ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/lsprotate90.py > ~/Dropbox/geom/data/pssd3b.cin

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris 61c70120c9 compute_pss_ortho_wedge function for PSS case
This function is called for bdiff in {3,4}.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris cbd9493722 compute_pss_nonhv_consecutive for field
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris 25ae2f53f8 convert from plg to lsp format
Example use:

cat ~/Dropbox/geom/mat/input1.plg | ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/plg2lsp.py | ipescript lsp2ipe vecmask1test.ipe 16 16 0.0625

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris 941c26e7e6 create random lsp input from a set of points
Example use:

n=20 ; bbox=100; rbox ${n} t D2 z B${bbox} | tail -n ${n} | python ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/randsp.py > ~/Dropbox/geom/inp/rx9.cin

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris 6f3adf3e31 convert from lsp to ipe format (ipe lua script)
Example use:

cat ~/Dropbox/geom/mat/input1.plg | ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/plg2lsp.py | ipescript lsp2ipe vecmask1test.ipe 16 16 0.0625

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris d69a143abd convert vertex conflict return values to tests
Example use:

~/code/geom/Segment_Delaunay_graph_Linf_2/examples/Segment_Delaunay_graph_Linf_2/sdg-voronoi-edges-exact ~/Dropbox/geom/data/pssd2btw3.cin | sed -E -e 's/\/1([^0-9])/\1/g' | sed -E -e 's/\/1$//g' | grep 'pqrt.*s.*s.*p.*returns 1' | sort | uniq | grep 'p 200 50' | tail -n 5 | ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/ret2testsp.py --points 1

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris a256ff7100 convert sites from lsp to test format
Example run:

cat ~/Dropbox/geom/data/pssendp1a.cin | python ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/lsp2testsp.py

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris aecf35b0c9 compute_pss_nonhv_consecutive for ring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris 523bbd5475 use points_inside_touching_sides_v for POSITIVE
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00