Laurent Rineau
2cec8e6aca
Merge pull request #2342 from sloriot/Argt-overlap_intersect_at_insertion
...
Reworking the handling of overlaps
2017-12-05 18:27:35 +01:00
Sébastien Loriot
8cdfad0d08
add missing URL and Id tags
2017-11-15 22:58:57 +01:00
Sébastien Loriot
8df4fb911f
add more comments about why we do it incrementaly
2017-11-14 18:23:36 +01:00
Sébastien Loriot
5fbd297a89
remove comments
2017-11-14 18:04:16 +01:00
Efi Fogel
261bd95fc7
Initialize the hint (pointer to the status line) when the curve is removed from the status line
2017-11-14 17:52:15 +02:00
Sébastien Loriot
7aa680c66a
only call _is_right_curve_bigger only when needed
2017-11-14 10:20:58 +01:00
Sébastien Loriot
9dcf23d490
improve is_right_curve_bigger
...
make sure all the curves were in the set of right curve of the event
to compare them, fall back on geometric test if not
2017-11-14 10:18:17 +01:00
Sébastien Loriot
dee84a26e9
avoid creating a new overlapping curve if it has already been created
...
this avoid some mismatch issues in the left events and the status line
2017-11-14 10:14:50 +01:00
Sébastien Loriot
ee57fc2d6c
add SPDX identifier for files under the GPL-3+ license
2017-11-12 10:17:51 +01:00
Efi Fogel
c454e27a2a
Added missing debugging end-of-line
2017-10-02 11:28:09 +03:00
Efi Fogel
f0dd482a28
Fixed spelling
2017-08-30 15:06:21 +03:00
Efi Fogel
76f4de545d
Introduced Subcurve_vector type and used it
2017-08-30 15:01:27 +03:00
Sébastien Loriot
88f85cb438
handle case when the left curve of an event shouldn't be filled ...
...
... as it prevents from detecting it is on an overlapping curve
2017-08-25 16:42:32 +02:00
Sébastien Loriot
458ca21e3b
fix unused variable warning
2017-08-10 10:59:21 +02:00
Sébastien Loriot
a8f5a4c19d
Mainly two changes:
...
- make sure left of an event curves removed by the addition of an overlapping
curve are by an overlapping curve that has them as a leaf. As a consequence
we leave more curves on the left but several can be removed by the addition
of one curve.
Similarly for right curves of an event, the replacement of a curve on the
right is done only when all subcurves are contained by an overlapping curve.
- In case of overlapping of two curves detected when inserting one of the two
curves on the right of an event, it might happen that the current event is
not the left end point of the overlapping curve to be computed. In such
a case, the new overlapping curve will not be added in the current event.
The modification here pass the current event to the intersection function
that will pass it to the overlap creation function so that the overlapping
curve will also be added on the right and on the left of the current event.
2017-08-09 17:58:11 +02:00
Sébastien Loriot
973af4dc31
add missing include directive
2017-08-09 13:27:06 +02:00
Sébastien Loriot
b3435d28c4
replace a curve on the left if the new one contains all ancesters of the old one
2017-06-28 10:16:48 +02:00
Sébastien Loriot
c31e8596a6
add missing END of
2017-06-28 10:15:42 +02:00
Sébastien Loriot
55bb4d208c
a curve no longer needs an event when it is no longer swept
2017-06-27 13:49:07 +02:00
Sébastien Loriot
4b7b5e5a9c
deal with overlapping curves with common ancesters before calling Intersec_2
...
Depending on the arrangement visitors and of the traits class used, it
is assumed in some cases that X_monotone_curves are created without
duplicates (for example some compute the multiplicity of overlap
in Intersect_2 and store the info in X_monotone_curve).
In Boolean Operations, Intersect_2 is overriden and two curves
having a common ancester will never be detected as intersecting
This is WIP, partial overlap is not yet handled fully correctly
2017-06-26 15:38:31 +02:00
Sébastien Loriot
f6412c786e
handle event on boundary when dealing with overlaps
2017-06-26 15:38:31 +02:00
Sébastien Loriot
00bcb717d2
fix detection of overlap on the boundary of the domain
2017-06-26 15:38:31 +02:00
Sébastien Loriot
757d698aa2
really remove the curve from the right...
...
copy-paste error
2017-06-26 15:38:31 +02:00
Sébastien Loriot
e2d380d14f
call update event in all cases (overlap or not)
2017-06-26 15:38:30 +02:00
Sébastien Loriot
c67cd48967
add comment + debug info
2017-06-26 15:38:30 +02:00
Sébastien Loriot
fa0bab4928
update the filtering mecanism of intersections for overlaps
2017-06-26 15:38:30 +02:00
Sébastien Loriot
9d3e77d8c6
split last_curve of overlapping curves on the right of an event if not done
...
This happens when the curve on the left and on the right are different
(thus not split in _handle_left_curves()). This happens when there is an
additional overlapping on the left and this overlapping was detected
with overlapping curves having common ancesters
2017-06-26 15:38:30 +02:00
Sébastien Loriot
a11f1da495
remove commented code and temporary fix
2017-06-26 15:38:30 +02:00
Sébastien Loriot
a4f91b1028
add missing visitor call + always add curve to left
2017-06-26 15:38:29 +02:00
Sébastien Loriot
627b88fc31
generate overlapping curves without duplicates
2017-06-26 15:38:29 +02:00
Sébastien Loriot
7800ac5e4d
fix the order of the right curves after an overlap + add todo about how to create
...
overlapping curves having common input curves
2017-06-26 15:38:29 +02:00
Sébastien Loriot
d1e257f7cf
small fix
2017-06-26 15:38:29 +02:00
Sébastien Loriot
782b6310da
compute all overlap curves in _intersect and handle them in _add_curve_to_right
2017-06-26 15:37:13 +02:00
Sébastien Loriot
a20eb3c748
add debug function to get the number of curves overlapping on a subcurve
2017-06-08 17:34:35 +02:00
Sébastien Loriot
5212bb55a6
fix Core dependancies
2017-02-13 17:16:30 +01:00
Sébastien Loriot
50510c05ea
add include directive for license of all GPL header files
...
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
grep -v Operations_on_polyhedra | \
grep -v Algebraic_kernel_for_circles | \
grep -v Algebraic_kernel_for_spheres | \
grep -v Polyhedron_IO`;
do
echo $i
python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
andrew morton
bfa7aca7c2
Fix spelling of 'matches'
2016-12-17 13:57:54 -07:00
Efi Fogel
f69ae3508a
fixed _add_curve_to_right()
2016-09-30 09:24:25 +02:00
Efi Fogel
d7678c44fb
Cleaned up
2016-09-30 09:24:24 +02:00
Efi Fogel
52292c825c
Enhanced debug messages & Cleaned up
2016-09-30 09:24:24 +02:00
Efi Fogel
748de06a46
Initialized debugging data members
2016-09-30 09:24:24 +02:00
Efi Fogel
72e114fb3f
Enhanced debug messages & Cleaned up
2016-09-30 09:24:24 +02:00
Andreas Fabri
67d72675fe
split packages
2015-08-17 23:46:59 +02:00