Commit Graph

167 Commits

Author SHA1 Message Date
Andreas Fabri 93d19591da To intersect a Circle_2 means to intersect the boundary 2018-05-30 15:24:50 +01:00
Andreas Fabri a82b920b97 Include <CGAL/double.h> 2018-05-23 09:47:42 +01:00
Andreas Fabri 2f8515067c Add #include for CGAL::abs() 2018-05-22 10:51:39 +01:00
Andreas Fabri 9bfbd567d5 Remove CGAL_NO_INTERSECTION_FUNCTION and functions doing nothing 2018-05-17 14:30:30 +01:00
Andreas Fabri 162241066b Remove CGAL_NO_INTERSECTION_FUNCTION and functions doing nothing 2018-05-17 11:52:58 +01:00
Andreas Fabri e1eacead95 Add #includes of kernel object types 2018-05-09 12:20:11 +01:00
Andreas Fabri e65eba0301 Add #includes 2018-05-04 09:00:09 +02:00
Andreas Fabri 8abfad66ab inline 2018-05-04 09:00:08 +02:00
Andreas Fabri 92dcb7ca48 Reorganize header files 2018-05-04 09:00:08 +02:00
Andreas Fabri 4111e3e20c Reorganize header files 2018-05-04 09:00:07 +02:00
Andreas Fabri 09c7fe1103 move purely internal files 2018-05-04 08:57:57 +02:00
Andreas Fabri ffb13b07d6 Remove some functions added by Maxime 2018-05-04 08:57:57 +02:00
Andreas Fabri 0d3ac75518 Introduce namespace Intersections 2018-05-04 08:57:56 +02:00
Andreas Fabri e783228551 Share code between Iso_cuboid_3/BBox_3 for do_intersect with Ray_3 Nd Segment_3 to profit from static filter 2018-05-04 08:57:52 +02:00
Maxime Gimeno 318e7a7d12 Add missing overloads for Point_3 intersections 2018-05-04 08:56:05 +02:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Andreas Fabri 9cd1b0fd62 We declare the third case default so that there is no fallthrough warning 2016-10-17 13:57:39 +02:00
Laurent Rineau b14da4c496 Merge pull request #1568 from lrineau/Intersection-fix_inter_plane_seg-lrineau
Fix a bug in Intersect_3()(Plane_3, Segment_3)
2016-10-17 10:01:21 +02:00
Laurent Rineau afb8d3693d Fix a bug in Intersect_3()(Plane_3, Segment_3)
That bug has been detected by a warning:
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.10-Ic-16/Intersections_3/TestReport_lrineau_Ubuntu-latest-GCC6-CXX1z.gz
```
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h: In function 'typename CGAL::Intersection_traits<K, typename K::Plane_3, typename K::Segment_3>::result_type CGAL::internal::intersection(const typename K::Plane_3&, const typename K::Segment_3&, const K&) [with K = CGAL::Simple_cartesian<CGAL::Gmpq>]':
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1105:13: warning: this statement may fall through [-Wimplicit-fallthrough]
             }
             ^
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1107:9: note: here
         case ON_NEGATIVE_SIDE:
         ^~~~
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1071:9: warning: this statement may fall through [-Wimplicit-fallthrough]
         switch (target_side) {
         ^~~~~~
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1090:5: note: here
     case ON_NEGATIVE_SIDE:
     ^~~~
```

Now, the incorrect fallthrough is replaced by the return of the empty
set.
2016-10-12 11:20:07 +02:00
Laurent Rineau 51f5697d3d Add missing #include 2016-09-30 15:23:14 +02: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
Sébastien Loriot e1b3a2d582 fix incorrect else 2013-09-25 18:09:42 +02:00
Andreas Fabri 6c547e5663 Mainly added includes 2013-09-13 22:24:30 +02:00
Sébastien Loriot bff4e98d01 fix warnings mainly coming from the merge of the replace object feature branch 2013-06-24 08:44:47 +02:00
Sébastien Loriot 14429d2b8e fix compilation errors 2013-03-14 18:32:14 +01:00
Sébastien Loriot f97d6b8bd9 s/boost::result_of/cpp11::result_of/g 2013-03-14 10:38:13 +01:00
Sébastien Loriot d6905c61be Merge branch 'Kernel-replace_object-pmoeller-old' into Kernel-replace_object-pmoeller
Conflicts:
	AABB_tree/include/CGAL/AABB_tree.h
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Intersections_3/include/CGAL/Intersections_3/intersection_3_1_impl.h
	Kernel_23/doc/Kernel_23/CGAL/intersections.h
	Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h
	STL_Extension/doc/STL_Extension/CGAL/iterator.h
2013-03-14 10:29:31 +01:00
Sébastien Loriot 1ca5410df0 a plane is not a point! 2013-02-09 16:22:51 +01:00
Sébastien Loriot 0b21facc96 we must use the construction object 2013-02-08 09:26:16 +01:00
Philipp Möller 03151d7bb7 intersection_return now also uses result_of 2012-12-10 17:20:36 +01:00
Philipp Möller 4764e5d361 call_test should also use result_of 2012-12-06 17:27:23 +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
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 67fdbf93d1 Prevent spurious warning in the test-suite. Leave the one that is
actually suspicious.
2012-06-22 11:52:14 +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 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
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +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 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 525fe15e9a Internals switched to variant. 2011-07-15 14:13:55 +00:00
Philipp Möller 2f9b36d618 * intersection and do_intersection now pick their appropriate
overloads automatically;

* a test for the availability of all calls has been added
2011-07-12 16:53:49 +00:00
Sébastien Loriot a03f2c88c0 bug fix in tersection of 3D colinear segments.
Update test-suite to test all possible configurations.
2011-05-20 08:52:12 +00:00
Sébastien Loriot a372589e67 intersection can be empty 2011-04-11 08:06:51 +00:00
Sébastien Loriot b2f7df6513 add do_intersect for Ray_3 vs {Line_3,Segment_3,Ray_3}
add intersection for Ray_3 vs {Line_3,Segment_3,Ray_3}
append test to the testsuite

correct a variable name in line vs segment intersection
2010-10-28 15:13:53 +00:00
Sébastien Loriot 458b5136cc add missing symetric function 2010-09-01 10:11:57 +00:00
Sébastien Loriot 1daecf3943 move BBox vs {sphere,plane,triangle} do_intersect from AABB_tree to Intersections_3,
and update accordingly include directives. Update testsuite

remove unneed CMakeLists.txt from AABBtree testsuite

Remove Triangle_3_Plane_3 intersection from AABB_tree (I define it in Intersections_3 some days ago, thus a conflict)
2010-09-01 08:49:24 +00:00
Sébastien Loriot 663099d82d add intersection Triangle_3,Triangle_3
add intersection Plane_3,Triangle_3
update documentation (also for Segment_3,Line_3 and Segment_3,Segment_3)
2010-08-31 13:42:40 +00:00
Sébastien Loriot 6bdfdf8f70 extract from intersection(segment,segment), intersection_collinear_segments
that be used internally.
2010-08-26 09:18:32 +00:00
Sébastien Loriot a5f3b43834 add intersection and do_intersect for segment_3 vs line_3 2010-08-24 13:33:07 +00:00
Sébastien Loriot 4b4f91a5eb add intersection computation and test for segment_3 vs segment_3 2010-08-24 08:28:00 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Michael Hemmer b379564462 mv Bbox_3 intersect with line/ray/segment to bbox_intersection_3.h file,
it must be a template function since it depends on the Kernel
rm Intersections_3/src/CGAL/Bbox_3_intersections.cpp since it is empty
2010-01-28 15:40:48 +00:00
Stéphane Tayeb 9cd2160f03 * Fix previous commit...
* Minor fix: replace COLLINEAR by COPLANAR (4 point orientation predicate result)
2009-11-20 12:36:02 +00:00
Stéphane Tayeb 93c5a15f51 Fix minor bug in intersection(segment,plane): ensure a line is never returned. 2009-11-20 12:05:32 +00:00
Sylvain Pion 8573fe26ce Rename CGALi to internal. 2009-08-24 17:10:04 +00:00
Pedro Machado Manhaes de Castro 60928dd80b fixing warnings 2008-06-09 07:58:50 +00:00
Pedro Machado Manhaes de Castro fdae4d0aec avoiding unecessary warnings 2008-06-06 16:49:06 +00:00
Pedro Machado Manhaes de Castro fc45f43179 Adding Circle_3 object to the Kernel. 2008-06-03 12:17:16 +00:00
Sylvain Pion a90de08bf3 Remove obsolete config flag CGAL_CFG_MATCHING_BUG_4 and its dependency CGAL_WRAP. 2007-08-08 15:15:20 +00:00
Sylvain Pion 3bebf1b352 remove warning 2007-02-28 16:52:55 +00:00
Andreas Fabri 7e401a82f5 minmax fixes 2006-08-18 20:57:55 +00:00
Sylvain Pion cb6639b85a Introduce wmult_hw(), a new abstraction for Homogeneous/Cartesian,
similar to wmult(), for calls .hw() on the last argument
(i.e., does absolutely nothing in the Cartesian case).
2006-08-07 12:34:24 +00:00
Sylvain Pion 0789aa3b4e Style optimization (replace default-ctor+assignment by copy-ctor, etc...) 2006-08-07 11:55:37 +00:00
Sylvain Pion 8070c73bc1 Move <CGAL/intersection_3_1.C> to
<CGAL/Intersections_3/intersection_3_1_impl.h>
2006-05-25 17:44:06 +00:00