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>
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>
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>
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>
Here is a way to activate verbose debug messages from command line:
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-DCGAL_SDG_VERBOSE" .
To go back to no verbose messages, use:
cmake -DCMAKE_BUILD_TYPE="Release" -DCMAKE_CXX_FLAGS="" .
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.
I have put some assertions that will probably stop
the code, when the initial retval is ON_ORIENTED_BOUNDARY
(= ZERO) and we are not in the special case I fixed, where
the splitting point on the segment has same a special coordinate
with the point A in {s1, s2} and the segment in {s1, s2} has not
A as an endpoint.
When t is point,
We handle the following problematic inputs:
s 0 0 100 10
s 0 40 100 50
p 50 20
p 50 10
if p and t lies on the same side of the square touching p,q,r
The vertex conflict should return POSITIVE.
t is point
p,q,r is PSS type
if p is point
and if p and t lies on the same side of the square touching
p,q,r then return positive, otherwise return zero
examples to run:
(now we can give option -h for sdg_hv)
./print-sdg
Default file from the code and general sdg will be printed
./print-sdg -h
Default file and sdg_hv
./print-sdg *.cin
works for *.cin and prints general sdg
./print-sdg *.cin -h
./print-sdg -h *.cin
works for *.cin and prints sdg_hv