Panagiotis Cheilaris
aa1eacbb18
name change in interior of ipelet
2015-06-30 10:30:58 +02:00
Panagiotis Cheilaris
c761d5039b
move sdgap to svdlinf in main ipe directory
2015-06-30 10:30:58 +02:00
Panagiotis Cheilaris
831893a868
make some messages similar in general and hv
2015-06-30 10:30:58 +02:00
Panagiotis Cheilaris
b33e4bde6d
predicates for hv traits
2015-06-30 10:30:58 +02:00
Panagiotis Cheilaris
b47c1603ee
support files for hv traits
2015-06-30 10:30:58 +02:00
Panagiotis Cheilaris
67755ae70f
high level hv traits
2015-06-30 10:30:57 +02:00
Panagiotis Cheilaris
d3cf7dc324
Segment_voronoi_2-hv program source
2015-06-30 10:30:57 +02:00
Panagiotis Cheilaris
259c4167d6
typedefs for SVD Linf hv
2015-06-30 10:30:57 +02:00
Panagiotis Cheilaris
4c36db56e7
two programs in CMakeLists.txt
...
Segment_voronoi_2 and Segment_voronoi_2-hv
2015-06-30 10:30:57 +02:00
Panagiotis Cheilaris
d807c4830f
more subclassing
2015-06-30 10:30:57 +02:00
Panagiotis Cheilaris
6fe808b94b
filtered traits subclassing
...
There is a lot of private parts, so a lot of code
is copied related to SDG L2.
2015-06-30 10:30:57 +02:00
Panagiotis Cheilaris
34d065ca9a
non-trivial subclassing for traits base
2015-06-30 10:30:57 +02:00
Panagiotis Cheilaris
243dc68e94
file with trivial subclassing
2015-06-30 10:30:57 +02:00
Panagiotis Cheilaris
55c622be44
start to use subclassing for SDG Linf
...
A thorough clean up of reused code.
The next step is to do the subclassing.
2015-06-30 10:30:57 +02:00
Panagiotis Cheilaris
d33c26d719
do not use supporting site in split face
2015-06-30 10:30:56 +02:00
Panagiotis Cheilaris
543044f178
fix assertion to also use supporting site
2015-06-30 10:30:56 +02:00
Panagiotis Cheilaris
8b22f0e86d
more debug info in implementation
2015-06-30 10:30:56 +02:00
Panagiotis Cheilaris
b5d2e68d6e
debug message in Oriented_side_C2 for Linf
2015-06-30 10:30:56 +02:00
Panagiotis Cheilaris
ec6b2f6563
always reuturn POSITIVE in a pqt conflict test
2015-06-30 10:30:56 +02:00
Panagiotis Cheilaris
c1ad35d1b9
a different explanation for a pqt conflict
...
When p and q are points and are consecutive on
the convex hull, then a segment t that is horizontal
or vertical and does not have p and q as its endpoints
can not get between p and q in the convex hull BEFORE
t's endpoints.
2015-06-30 10:30:56 +02:00
Sandeep Kumar Dey
2195016681
Vertex_conflict
...
Vertex_conflict(pqt)
pps case,
when the points p, q are not on t,
we should return POSITIVE.
2015-06-30 10:30:56 +02:00
Sandeep Kumar Dey
fc592fe79a
Vertex_conflict pps case
...
Vetex_conflict(pqt) pps case
p is enpt of t or q is endpt ot t
is reverted back.
(
return (o == RIGHT_TURN) ? NEGATIVE : POSITIVE;
)
2015-06-30 10:30:56 +02:00
Sandeep Kumar Dey
05998fd5f4
Vertex_conflict pps case
...
Vertex_conflict(pqt) In pps case:
if p is endpt of t or q is endpt of t
Point_2 pt = is_p_tsrc ? t.target() : t.source();
Orientation o = CGAL::orientation(p.point(), q.point(), pt);
return (o == RIGHT_TURN) ? POSITIVE : NEGATIVE;
We have also added debug messages to check p,q,t and o.
2015-06-30 10:30:55 +02:00
Sandeep Kumar Dey
f8ccc944b8
Removal of compiler warnings
2015-06-30 10:30:55 +02:00
Sandeep Kumar Dey
87cd8321d4
generate non intersecting segments
2015-06-30 10:30:55 +02:00
Panagiotis Cheilaris
17b7ec7ffd
fix for an infinite edge conflict
...
Here is the problematic input:
$ cat ~/Dropbox/cgal/demo/Segment_Delaunay_graph_Linf_2/September/29sept2seg1pt.cin
s -200 -100 200 100
p 200 -50
s 220 90 -130 -90
2015-06-30 10:30:55 +02:00
Sandeep Kumar Dey
1f2a84d650
Generate random axis parallel segments
...
Non intersecting axis parallel segments
2015-06-30 10:30:55 +02:00
Panagiotis Cheilaris
c4bd75e476
addition of skeleton in sdgap ipelet
2015-06-30 10:30:55 +02:00
Sandeep Kumar Dey
f5c277c735
vertex conflict
...
cases removed
Incircle pqt
p or q is segment and is not h or v
Incircle_pps
t is not h or v
Incircle_sps
p is not h or v
Incircle_pss
q is not h or v
2015-06-30 10:30:55 +02:00
Sandeep Kumar Dey
e4d6ce6b7f
inf-edge-conf removed code
...
inf-edge-conf q,s,r,t,sgn
removed case (in all cases it was asserted segment is h or v)
1: when t is not h or v
2: q is not h or v
3: here point q is not endpoint of segment s
CGAL_assertion(sgn == NEGATIVE);
CGAL_assertion(not (s.segment().is_horizontal() or
s.segment().is_vertical() ));
2015-06-30 10:30:55 +02:00
Sandeep Kumar Dey
ef3dbf9a11
Removed assertion segment hor or ver from fec
...
Following code is removed from fec:
fec:p q r t sgn
for sgn = POSITIVE
// p is not endpoint of q
CGAL_assertion( not ( q.segment().is_horizontal() or
q.segment().is_vertical() ) )
p is point and q is segment
same for p segment and q point
fec: p,q,t,sgn
case: one of p, q is segment,
removed the portion of code after cgal assertion of h or v
2015-06-30 10:30:55 +02:00
Panagiotis Cheilaris
68ac53737b
reseting back to general SDG Linf
...
The segment and its endpoint bisector is again a perpendicular
line and not the V-shaped bisector.
2015-06-30 10:30:54 +02:00
Panagiotis Cheilaris
0c428b70f8
better return value reporting
2015-06-30 10:30:54 +02:00
Panagiotis Cheilaris
b51cf2d5dc
make implementation uniform in sdgap and general
2015-06-30 10:30:54 +02:00
Panagiotis Cheilaris
3affbd04b8
make sdgap and general uniform in include/CGAL
2015-06-30 10:30:54 +02:00
Panagiotis Cheilaris
fc2575c0e4
program print-sdg for SDG general Linf
2015-06-30 10:30:54 +02:00
Sandeep Kumar Dey
2c8ffeadbe
PPS case vertex computation
...
The two point have same x or same y coordinate.
h4a.cin and h4b.cin is resolved.
2015-06-30 10:30:54 +02:00
Panagiotis Cheilaris
eb6218ef3d
program that prints SDG L2 details
2015-06-30 10:30:54 +02:00
Panagiotis Cheilaris
124f818c23
Menelaos code with file_output_verbose print
2015-06-30 10:30:54 +02:00
Panagiotis Cheilaris
3365d48d3a
SDG general Linf demo shows verbose output
2015-06-30 10:30:53 +02:00
Panagiotis Cheilaris
004c03020f
support for verbose print in general Linf SDG
2015-06-30 10:30:53 +02:00
Sandeep Kumar Dey
7e59eca349
inf-edge-conf q,s,r,t
...
For t = segment, it is not always false
When q is end point of both r and t,
and s is end point of t, we should return
true.
2015-06-30 10:30:53 +02:00
Sandeep Kumar Dey
08336a5f22
inf-edge-conf
...
when t is segment return false
2015-06-30 10:30:53 +02:00
Sandeep Kumar Dey
c3efe226a6
vertex conflict pqt
...
p is point q is segment and t is segment
when this vertex conf is called it is called with
p segment,q point, t segment
incircle_s sps case
and we have updated the case
when t is segment and t and p has an endpoint,
and q is not on t, then it should return POSITIVE
2015-06-30 10:30:53 +02:00
Panagiotis Cheilaris
1b72a7ffbe
move examples in specific directory
2015-06-30 10:30:53 +02:00
Panagiotis Cheilaris
f40cedfc15
use print verbose function in print-sdg.cpp
2015-06-30 10:30:53 +02:00
Panagiotis Cheilaris
44c708402b
print more detailed edges
...
Print pqrs notation for edge, but only when dimension
is greater than 1.
2015-06-30 10:30:53 +02:00
Sandeep Kumar Dey
e1a87e5165
print voronoi edge
2015-06-30 10:30:53 +02:00
Sandeep Kumar Dey
0a873e6f7d
Do not print inf vertex on convexhull
...
Replaced by a precondition
2015-06-30 10:30:52 +02:00
Sandeep Kumar Dey
96201ec87f
print delaunay edge
...
The two vertices for an edge should be
e.first->vertex(sdg.ccw(e.second)),
e.first->vertex(sdg.cw(e.second))
2015-06-30 10:30:52 +02:00