Commit Graph

190 Commits

Author SHA1 Message Date
Dmitry Anisimov ad813b4cb0 further removed result_of and result 2020-07-30 16:19:02 +02:00
Sébastien Loriot 8b4118912d extra run of the script to remove tabs and trailing whitespaces 2020-03-26 18:58:21 +01:00
Sébastien Loriot fedc29e23c Update branch from master after trailing whitespaces and tabs removal 2020-03-26 18:57:54 +01:00
Sébastien Loriot 0779373835 extra run of the script to remove tabs and trailing whitespaces
right after the  merge of 4.14 release branch

+ manual fix on one line in:
    * Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
    * .travis/generate_travis.sh
2020-03-26 14:16:06 +01:00
Maxime Gimeno fe0d4d0a6e more clean-up 2020-03-19 16:41:59 +01:00
Maxime Gimeno ce4cbe6d06 Fix licenses 2020-03-19 11:41:57 +01:00
Maxime Gimeno 8a6bdd90b3 Fix after review 2020-03-19 11:31:35 +01:00
Maxime Gimeno 0f3305f983 Enhancements after review 2020-01-16 17:20:13 +01:00
Maxime Gimeno 90d2e03fdc Merge remote-tracking branch 'cgal/master' into Intersections_23-Add_missing_intersections-GF 2020-01-15 13:32:11 +01:00
Mael Rouxel-Labbé a5f09f89a6 Partial code cleaning (and fix some typedefs) 2019-10-22 12:36:58 +02:00
Maxime Gimeno e9a0b2d695 Fixes after review 2019-10-21 15:51:36 +02:00
Sébastien Loriot 52164b1fba First pass on removing license notice in header for LGPL files 2019-10-19 15:40:30 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Maxime Gimeno 3c875e8a18 WIP review 2019-10-04 15:30:52 +02:00
Maxime Gimeno 9ede1f3ee7 Specialize the cw test to be more robust if the kernel is not exact 2019-10-03 10:53:28 +02:00
Maxime Gimeno ad3c3d16b7 Use left_turn() instead of custom inefficient function. 2019-10-02 15:24:18 +02:00
Maxime Gimeno 7de9465bbb Optimize for triangle intersections 2019-10-02 15:11:08 +02:00
Maxime Gimeno 245b2211e6 Add a cw test before returning the triangle or polygon result of a triangle/XXX intersection. 2019-07-30 11:50:25 +02:00
Maxime Gimeno 4f796c9ab5 Add missing do_intersect() and associated tests 2019-07-09 11:47:01 +02:00
Maxime Gimeno b9d33c7ffa Fix Conflicts 2019-06-25 13:25:57 +02:00
Laurent Rineau 8535a3c03c Merge branch 'releases/CGAL-4.14-branch'
# Conflicts:
#	Apollonius_graph_2/include/CGAL/Apollonius_graph_2/Apollonius_graph_2_impl.h
#	Convex_hull_3/include/CGAL/convex_hull_3.h
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/face_graph_utils.h
#	Polyhedron/demo/Polyhedron/Plugins/Mesh_3/Mesh_3_plugin_cgal_code.cpp
#	Stream_support/include/CGAL/IO/Color.h
2019-06-20 14:20:37 +02:00
Maxime Gimeno 443f3f636f Add missing intersection_2 and update doc. 2019-06-13 15:49:21 +02:00
Mael Rouxel-Labbé 47b14e656d Fix order of checks to avoid calling back() on an empty vector 2019-05-24 08:14:12 +02:00
Mael Rouxel-Labbé 38afb85b61 Fix broken Bbox_2_ray/line by basing them on Iso_rectangle_2
Removes the intersection(bbox_2, ray/line), but:
- it was broken
- it was undocumented

If it's needed, just use an Iso_rectangle instead.
2019-05-20 10:54:17 +02:00
Mael Rouxel-Labbé ad1fbbd242 Fix Circle_2 -- Bbox_2/Iso_rectangle_2 intersection
Bbox_2 is inherently inexact as it is double-based. Thus, Bbox_2 should
use its conversion to Iso_rectangle_2 (a kernel type) and not the other way
around, otherwise we are doing FT --> double --> FT and losing precision.
2019-05-20 10:06:14 +02:00
Mael Rouxel-Labbé e23d76cfab Cosmetic changes 2019-05-17 14:47:31 +02:00
Mael Rouxel-Labbé 325be3560b Fix Bbox_2 Circle_2 intersection (bbox within circle is not an intersection) 2019-05-17 12:18:22 +02:00
Mael Rouxel-Labbé 36c6c4ca4e Move Circle_2 Iso_rectangle_2 overload to the appropriate function 2019-05-17 12:18:12 +02:00
Mael Rouxel-Labbé ab0ca8a735 Use the intersection traits macro to simplify code (cosmetic change) 2019-05-17 12:15:48 +02:00
Mael Rouxel-Labbé 58c894ed5e Add missing free function for Bbox_2 Point_2 intersection 2019-05-17 12:15:22 +02:00
Mael Rouxel-Labbé 80d1f3f18a Clean a bit Bbox_2_Ray/Line_2 do intersect files (but the code is still wrong) 2019-05-17 12:14:43 +02:00
Mael Rouxel-Labbé e4f7c720c7 Merge branch 'Intersection_2-Fix_Ray_triangle_degenrate_inter-GF' into Intersections_2-Populate_tests-GF 2019-05-16 15:09:23 +02:00
Mael Rouxel-Labbé bf8097dd6f Fix Triangle_2 Iso_rectangle_2 intersection
std::unique does not handle the case where points are identical at the beginning
and the end of the vector
2019-05-16 14:06:46 +02:00
Mael Rouxel-Labbé 90ba79493f Fix Ray_2 Triangle_2 intersection when the intersection is a point 2019-05-16 14:03:30 +02:00
Laurent Rineau 90782d4b7f Revert the merge of two pull-requests that target CGAL-4.14-branch
- Revert "Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF"
- Revert "Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau"
2019-05-14 17:50:45 +02:00
Sébastien Loriot 1d908c1c0b remove code for CGAL_INTERSECTION_VERSION 1 2019-03-29 13:28:32 +01:00
Sébastien Loriot 82c13e6e74 remove cpp11 workaround in kernel related packages 2019-03-29 10:41:50 +01:00
Laurent Rineau fc04ed7609 Fix intersection(Point_2,Point_2)
It seems it was never tested, and never worked.

PR #2792 introduced a compilation error in cgal-swig-bindings, by the
addition of `do_intersect(Point_2,Circle_2)` and
`intersection(Point_2,Circle_2)`:

> /usr/include/CGAL/Kernel/function_objects.h:2954:63: error: call of overloaded ‘do_intersect(const CGAL::Point_2<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >&, const CGAL::Point_2<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >&, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >)’ is ambiguous
>     { return Intersections::internal::do_intersect(t1, t2, K()); }
>                                                               ^

https://travis-ci.org/CGAL/cgal-swig-bindings/jobs/509442278#L4727
2019-03-22 11:28:26 +01:00
Maxime Gimeno bfa12738a6 Une CGAL_assume(false) for the default 2019-02-13 15:18:32 +01:00
Maxime Gimeno 959d65a5ee Also fix a warning in kernel 2019-02-13 13:45:16 +01:00
Andreas Fabri aac8ac4e6b Some changes after Sebastien's review 2018-11-29 15:58:34 +01:00
Sébastien Loriot 057f4eafe7 fix warning + cosmetic changes 2018-11-02 14:17:16 +01:00
Andreas Fabri 93d19591da To intersect a Circle_2 means to intersect the boundary 2018-05-30 15:24:50 +01:00
Andreas Fabri c908ed5fa2 No typename; no need for CGAL:: 2018-05-18 15:46:34 +01:00
Andreas Fabri 31b5d5d3aa Reorder inclusions 2018-05-17 15:27:58 +01:00
Andreas Fabri 05437e0c54 Add several 2D tests and functions 2018-05-17 15:23:04 +01:00
Andreas Fabri 1d12605ef4 Merge headers 2018-05-17 14:53:07 +01:00
Andreas Fabri 162241066b Remove CGAL_NO_INTERSECTION_FUNCTION and functions doing nothing 2018-05-17 11:52:58 +01:00
Andreas Fabri 2a78b7861b fix src 2018-05-04 09:00:11 +02:00
Andreas Fabri 43f8490920 Reorganize Intersections_2 header files 2018-05-04 09:00:10 +02:00
Andreas Fabri c9af36ca6a fix namespace 2018-05-04 09:00:09 +02:00
Andreas Fabri 4111e3e20c Reorganize header files 2018-05-04 09:00:07 +02:00
Andreas Fabri bf55dcd69c Cleanup in Intersections_2 2018-05-04 08:57:57 +02:00
Andreas Fabri 0d3ac75518 Introduce namespace Intersections 2018-05-04 08:57:56 +02:00
Andreas Fabri d26517bd8f more default: 2018-03-08 14:11:02 +00:00
Andreas Fabri 2e14ff9f04 Kernel 2018-01-17 19:59:11 +00:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Laurent Rineau 51f5697d3d Add missing #include 2016-09-30 15:23:14 +02:00
Laurent Rineau 330a0e75a2 Merge pull request #385 from cjamin/CGAL_headers_only-gdamiand_cjamin
CGAL headers only, step 0
2015-10-13 16:37:38 +02:00
Guillaume Damiand cf1c0ea0ca Merge branch 'CGAL_headers_only-gdamiand_cjamin-OLD' into CGAL_headers_only-gdamiand_cjamin 2015-10-01 09:12:55 +02:00
Andreas Fabri a2f954ebf9 Merge branch 'Intersections_3-snippet2example-GF-old' into Intersections_3-snippet2example-GF 2015-09-18 12:56:29 +02:00
Sébastien Loriot 6b0067f7ef fix intersection test in case no vertex is on bounded side 2015-07-29 18:17:27 +02:00
Guillaume Damiand 9c78897ba5 Merge branch 'CGAL_headers_only-gdamiand_cjamin-old' into CGAL_headers_only-gdamiand_cjamin 2015-03-16 14:00:43 +01:00
Andreas Fabri 1f989622e7 replace \code with real examples 2015-02-09 10:54:24 +01:00
Laurent Rineau be079cb5a3 Fix compilation with Boost-1.56 and later
In Boost-1.56 and later, with C++11, boost::optional::operator bool() is
explicit.
2015-01-13 16:21:04 +01:00
Guillaume Damiand e8fe29c79c Ok for the compilation version header only (only for the treated files). 2014-10-31 17:09:48 +01:00
Guillaume Damiand 1182319f5d Redo all the modifs to remove all the cpp files from cgal.
First step where all the XXX.cpp are copied into XXX_impl.h files.
The macro CGAL_HEADER_ONLY allows to know if impl files need to be
included or not into header files; and allow to decide if functions are
in impl files are inline or not.

Next step: process with static variables for the header only version.
2014-10-30 16:05:22 +01:00
Sébastien Loriot 8a24539242 trivial bugfix preventing segfault in case of filter failure
The construction of the line l can fail while the size of the list
has been increased. This would lead to trying to remove an element
never added. The fix simply delay the size increment after the line
construction.

the construction of the line can fail and the new point no
2013-09-27 17:42:26 +02:00
Andreas Fabri 6c547e5663 Mainly added includes 2013-09-13 22:24:30 +02:00
Sébastien Loriot ed8bace765 fix a memory leak in case of filter failure for example
the size of the hand-made linked list was not updated correctly
2013-06-28 17:28:30 +02:00
Sébastien Loriot 496d75c256 update licenses that were incorrect after merging replace object feature branch 2013-06-21 15:06:17 +02:00
Laurent Rineau e80d83500b Fix new warnings in the Object-boost::variant code 2013-06-18 10:54:38 +02:00
Sébastien Loriot 4b603f40ba fix the compilation loop bug with result_of implemented with decltypes
I introduce a dedicated intersection traits and all CK2 member functions
use this traits instead of the general one. That way, the return type
is always correct. The same fix will be done for CK3
2013-03-15 13:21:05 +01:00
Sébastien Loriot f97d6b8bd9 s/boost::result_of/cpp11::result_of/g 2013-03-14 10:38:13 +01:00
Philipp Möller 03151d7bb7 intersection_return now also uses result_of 2012-12-10 17:20:36 +01:00
Philipp Möller a214d62bd6 Integrate boost::variant with Lazy kernels interaction
This requires changing the way Lazy_construction_XXX wrappers are
selected and some code to unpack variants.
2012-12-06 17:27:23 +01:00
Philipp Möller 215ef53720 Intersection_2 fixup 2012-12-05 12:13:10 +01:00
Philipp Möller 96bf28bb01 Triangle_2_Iso_rectangle_2 fixup 2012-12-04 18:37:58 +01:00
Philipp Möller d198458ca7 Merge branch 'origin-gsoc2011-boost_object-pmoeller' into Kernel-replace_object-pmoeller
Conflicts:
	.gitattributes
	AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABB_traits.tex
	AABB_tree/include/CGAL/AABB_traits.h
	AABB_tree/include/CGAL/AABB_tree.h
	AABB_tree/test/AABB_tree/AABB_test_util.h
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_trapezoid_ric_point_location.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/intro.tex
	Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_generator_base.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_random_generator.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_trapezoid_ric_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_walk_along_line_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_trapezoid_ric_point_location.h
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/point_location.cpp
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_circular_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h
	Filtered_kernel/include/CGAL/Lazy.h
	Filtered_kernel/include/CGAL/Lazy_kernel.h
	Intersections_2/include/CGAL/Triangle_2_Iso_rectangle_2_intersection.h
	Intersections_2/test/Intersections_2/test_intersections_2.cpp
	Intersections_3/test/Intersections_3/test_intersections_3.cpp
	Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
	Kernel_23/include/CGAL/Kernel/Type_mapper.h
	Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex
2012-12-04 17:57:53 +01:00
Sébastien Loriot c4b1beb81f *active intersection(Triangle_2,Iso_rectangle_2) already implemented
(with a bug-fix in the implementation)
*add do_intersect_2(Triangle_2,Iso_rectangle_2)
*add test
2012-10-15 09:56:22 +00:00
Laurent Rineau 2cec4e33c3 WARNFIX
Fix the unused parameter Q2 of function intersection_test_edge() in
<CGAL/Triangle_2_Triangle_2_do_intersect.h>.

Fix also a set-by-unused variable in
<CGAL/Intersections_2/Triangle_2_Triangle_2_intersection_impl.h>.
2012-08-06 15:32:55 +00:00
Marc Glisse a758751485 Remove / comment out unused local typedefs. Fix one place where FT was used instead of RT (homogeneous coordinates, probably never compiled). 2012-07-28 06:21:06 +00:00
Philipp Möller 17797b7271 Merge next into this branch. There have been conflicts in the
AABB_tree documentation, Intersections_3 and Arrangement_on_surface_2.

The merge also introduced a regression for a bug fixed in R68387 which
fixed a bug in Triangle_3 Segment_3 intersections. The relevant
testcase is in triangle_other_intersection_test.cpp.
2012-04-24 15:06:19 +00:00
Philipp Möller ee09ef2297 Overloading intersection and do_intersect now work by introducing a better match for every possible function 2011-11-18 14:14:41 +00:00
Philipp Möller 450f438518 IT shortcut not circumvents specifying a kernel making it an actual shortcut and nicer for exposure in APIs 2011-11-10 11:06:26 +00:00
Philipp Möller a4e6d57cff Circular_kernel_2 and Circular_kernel_3 now use CGAL_INTERSECTION_VERSION for backwards compatability 2011-11-09 14:29:46 +00:00
Philipp Möller c2bfb68112 * Now dispatching on Ambient_dimension
* incorporated result_type == Object to remove more ifdefs
2011-11-09 11:35:04 +00:00
Philipp Möller 33430eef68 Intersections_3 now fully uses CGAL_INTERSECTION_VERSION 2011-11-08 17:37:24 +00:00
Philipp Möller 66d08b8d65 Intersections_2 now uses CGAL_INTERSECTION_VERSION for backwards compatibility 2011-11-08 13:55:12 +00:00
Philipp Möller a6f4cb16ae Macro for versioning the intersections and support for both versions in the top level function. 2011-11-08 11:56:57 +00:00
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +00:00
Andreas Fabri cbfe32ce37 Add declspecs for Visual C++ so that we can build dlls 2011-10-05 19:12:23 +00:00
Sébastien Loriot dff6dda8b3 Remove from copyright holder
Freie Universitaet Berlin (Germany), Martin-Luther-University Halle-Wittenberg
(Germany) and RISC Linz (Austria) as they transfer the copyright to other
sites.
2011-09-21 19:46:31 +00:00
Philipp Möller b07e2df018 * Circular_kernel is now Object free, doesn't compile with Lazy yet,
* hack for ternary function
2011-08-25 21:40:12 +00:00
Philipp Möller a1576670e3 Weird remove with subversion 2011-08-25 14:07:29 +00:00
Philipp Möller 5b925d6f6e * Reworked Intersection_traits into a single traits, adjusted
intersections accordingly, turned on IT<....> as return type
* removed result_type from the intersection functors
2011-08-25 10:18:31 +00:00
Philipp Möller 203e5e6f02 Template typo 2011-07-22 00:50:25 +00:00
Philipp Möller fad504838f * Circular_kernel: - Intersections now use variants
- removed most internal uses of Object
* Intersections: more traits, typofix, doc typofix, aliases IT23d
2011-07-20 22:54:03 +00:00
Philipp Möller 12f79a7d1e Object includes and last intersection stragglers 2011-07-18 17:31:20 +00:00