mirror of https://github.com/CGAL/cgal
Misc fixes for the doc of do_intersect / Intersect combinations (#9075)
# Release Management * Affected package(s): Kernel_23 / Circular|Spherical_kernel * Issue(s) solved (if any): fix #8756 * Feature/Small Feature (if any): - * License and copyright ownership: no change
This commit is contained in:
commit
bec36a30b0
|
|
@ -92,17 +92,17 @@ intersection(const Line_2 <K> &c1, const Line_2 <K> &c2, OutputIterator res)
|
|||
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Circular_arc_2, Circular_arc_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Line_arc_2, Line_arc_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Line_arc_2, Circle_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Circle_2, Line_arc_2)
|
||||
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Circular_arc_2, Circle_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Circle_2, Circular_arc_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Line_arc_2, Circular_arc_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Circular_arc_2, Line_arc_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Line_2, Circular_arc_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Line_2, Line_arc_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Circular_arc_2, Line_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Circular_arc_2, Line_arc_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Line_arc_2, Circular_arc_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Line_arc_2, Circle_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Circle_2, Line_arc_2)
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Line_arc_2, Line_2)
|
||||
|
||||
CGAL_CIRCULAR_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_(Line_2, Line_arc_2)
|
||||
|
||||
} //namespace CGAL
|
||||
|
||||
|
|
|
|||
|
|
@ -156,6 +156,10 @@ template <typename SK>
|
|||
struct SK3_Intersection_traits<SK, typename SK::Sphere_3, typename SK::Sphere_3, typename SK::Plane_3>
|
||||
: SK3_intersect_ternary<SK> {};
|
||||
|
||||
template <typename SK>
|
||||
struct SK3_Intersection_traits<SK, typename SK::Sphere_3, typename SK::Plane_3, typename SK::Sphere_3>
|
||||
: SK3_intersect_ternary<SK> {};
|
||||
|
||||
template <typename SK>
|
||||
struct SK3_Intersection_traits<SK, typename SK::Plane_3, typename SK::Sphere_3, typename SK::Sphere_3>
|
||||
: SK3_intersect_ternary<SK> {};
|
||||
|
|
@ -164,6 +168,10 @@ template <typename SK>
|
|||
struct SK3_Intersection_traits<SK, typename SK::Plane_3, typename SK::Plane_3, typename SK::Sphere_3>
|
||||
: SK3_intersect_ternary<SK> {};
|
||||
|
||||
template <typename SK>
|
||||
struct SK3_Intersection_traits<SK, typename SK::Plane_3, typename SK::Sphere_3, typename SK::Plane_3>
|
||||
: SK3_intersect_ternary<SK> {};
|
||||
|
||||
template <typename SK>
|
||||
struct SK3_Intersection_traits<SK, typename SK::Sphere_3, typename SK::Plane_3, typename SK::Plane_3>
|
||||
: SK3_intersect_ternary<SK> {};
|
||||
|
|
|
|||
|
|
@ -935,8 +935,10 @@ template < class SK > \
|
|||
CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_2(Line_3, Sphere_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_3(Sphere_3, Sphere_3, Sphere_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_3(Sphere_3, Sphere_3, Plane_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_3(Sphere_3, Plane_3, Sphere_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_3(Plane_3, Sphere_3, Sphere_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_3(Plane_3, Plane_3, Sphere_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_3(Plane_3, Sphere_3, Plane_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_3(Sphere_3, Plane_3, Plane_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_2(Circle_3, Plane_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_DO_INTERSECTION_3_2(Plane_3, Circle_3)
|
||||
|
|
@ -1024,6 +1026,12 @@ template < class SK > \
|
|||
const Plane_3 & p, OutputIterator res) const
|
||||
{ return SphericalFunctors::intersect_3<SK> (p,s1,s2,res); }
|
||||
|
||||
template < class OutputIterator >
|
||||
OutputIterator
|
||||
operator()(const Sphere_3 & s1, const Plane_3 & p,
|
||||
const Sphere_3 & s2, OutputIterator res) const
|
||||
{ return SphericalFunctors::intersect_3<SK> (p,s1,s2,res); }
|
||||
|
||||
template < class OutputIterator >
|
||||
OutputIterator
|
||||
operator()(const Plane_3 & p, const Sphere_3 & s1,
|
||||
|
|
@ -1036,6 +1044,12 @@ template < class SK > \
|
|||
const Sphere_3 & s, OutputIterator res) const
|
||||
{ return SphericalFunctors::intersect_3<SK> (p1,p2,s,res); }
|
||||
|
||||
template < class OutputIterator >
|
||||
OutputIterator
|
||||
operator()(const Plane_3 & p1, const Sphere_3 & s,
|
||||
const Plane_3 & p2, OutputIterator res) const
|
||||
{ return SphericalFunctors::intersect_3<SK> (p1,p2,s,res); }
|
||||
|
||||
template < class OutputIterator >
|
||||
OutputIterator
|
||||
operator()(const Sphere_3 & s, const Plane_3 & p1,
|
||||
|
|
|
|||
|
|
@ -71,8 +71,10 @@ CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_JUST_INTERSECTION_2_(Sphere_3, Line_
|
|||
CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_JUST_INTERSECTION_2_(Line_3, Sphere_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_3_(Sphere_3, Sphere_3, Sphere_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_3_(Sphere_3, Sphere_3, Plane_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_3_(Sphere_3, Plane_3, Sphere_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_3_(Plane_3, Sphere_3, Sphere_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_3_(Plane_3, Plane_3, Sphere_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_3_(Plane_3, Sphere_3, Plane_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_3_(Sphere_3, Plane_3, Plane_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_2_(Circle_3, Plane_3)
|
||||
CGAL_SPHERICAL_KERNEL_MACRO_GLOBAL_FUNCTION_INTERSECTION_2_(Plane_3, Circle_3)
|
||||
|
|
|
|||
|
|
@ -928,7 +928,9 @@ void _test_intersection_construct(SK sk) {
|
|||
intersection(s1, s2, pl, std::back_inserter(intersection_1));
|
||||
intersection(s1, s3, pl, std::back_inserter(intersection_2));
|
||||
if(intersection_1.size() == 1) {
|
||||
assert(CGAL::do_intersect(s1, s2, pl));
|
||||
assert(CGAL::do_intersect(pl, s1, s2));
|
||||
assert(CGAL::do_intersect(s1, pl, s2));
|
||||
assert(CGAL::do_intersect(s1, s2, pl));
|
||||
Circle_3 circle;
|
||||
std::pair<Circular_arc_point_3, unsigned> cap;
|
||||
if(assign_variant(circle,intersection_1[0])) {
|
||||
|
|
@ -1006,7 +1008,9 @@ void _test_intersection_construct(SK sk) {
|
|||
theIntersect_3(s1, p1, pl, std::back_inserter(intersection_1));
|
||||
theIntersect_3(s1, p2, pl, std::back_inserter(intersection_2));
|
||||
if(intersection_1.size() == 1) {
|
||||
assert(theDo_intersect_3(s1, p1, pl));
|
||||
assert(theDo_intersect_3(s1, p1, pl));
|
||||
assert(theDo_intersect_3(p1, s1, pl));
|
||||
assert(theDo_intersect_3(p1, pl, s1));
|
||||
Circle_3 circle;
|
||||
std::pair<Circular_arc_point_3, unsigned> cap;
|
||||
if(assign_variant(circle,intersection_1[0])) {
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
#include <CGAL/Iso_rectangle_2.h>
|
||||
#include <CGAL/Intersection_traits_2.h>
|
||||
#include <CGAL/Rational_traits.h>
|
||||
|
||||
namespace CGAL {
|
||||
|
||||
|
|
|
|||
|
|
@ -19,10 +19,14 @@
|
|||
#ifndef CGAL_INTERSECTION_2_H
|
||||
#define CGAL_INTERSECTION_2_H
|
||||
|
||||
#include <CGAL/Intersections_2/Bbox_2_Bbox_2.h>
|
||||
#include <CGAL/Intersections_2/Bbox_2_Circle_2.h>
|
||||
#include <CGAL/Intersections_2/Bbox_2_Iso_rectangle_2.h>
|
||||
#include <CGAL/Intersections_2/Bbox_2_Line_2.h>
|
||||
#include <CGAL/Intersections_2/Bbox_2_Point_2.h>
|
||||
#include <CGAL/Intersections_2/Bbox_2_Ray_2.h>
|
||||
#include <CGAL/Intersections_2/Bbox_2_Segment_2.h>
|
||||
#include <CGAL/Intersections_2/Bbox_2_Triangle_2.h>
|
||||
|
||||
#include <CGAL/Intersections_2/Circle_2_Circle_2.h>
|
||||
#include <CGAL/Intersections_2/Circle_2_Iso_rectangle_2.h>
|
||||
|
|
|
|||
|
|
@ -32,25 +32,22 @@ bounded region, this region is part of the object.
|
|||
|
||||
The types `Type1` and `Type2` can be any of the following:
|
||||
|
||||
- `Point_2<Kernel>`
|
||||
- `Bbox_2`
|
||||
- `Circle_2<Kernel>`
|
||||
- `Iso_rectangle_2<Kernel>`
|
||||
- `Line_2<Kernel>`
|
||||
- `Point_2<Kernel>`
|
||||
- `Ray_2<Kernel>`
|
||||
- `Segment_2<Kernel>`
|
||||
- `Triangle_2<Kernel>`
|
||||
- `Iso_rectangle_2<Kernel>`
|
||||
|
||||
Also, `Type1` and `Type2` can be both of type
|
||||
|
||||
- `Line_2<Kernel>`
|
||||
- `Circle_2<Kernel>`
|
||||
|
||||
In three-dimensional space, the types `Type1` and
|
||||
`Type2` can be any of the following:
|
||||
|
||||
- `Bbox_3`.
|
||||
- `Line_3<Kernel>`
|
||||
- `Point_3<Kernel>`
|
||||
- `Plane_3<Kernel>`
|
||||
- `Line_3<Kernel>`
|
||||
- `Ray_3<Kernel>`
|
||||
- `Segment_3<Kernel>`
|
||||
- `Sphere_3<Kernel>`
|
||||
|
|
@ -192,8 +189,8 @@ the template parameter pack.
|
|||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
Additional overloads are provided for the type `Point_2` combined with any other type with the result type being
|
||||
`std::optional< std::variant< Point_2 > >`.
|
||||
Additional overloads are provided for the type `Point_2` combined with any other type in the table above,
|
||||
with the result type being `std::optional< std::variant< Point_2 > >`.
|
||||
Overloads are also provided for the type `Bbox_2`, for all
|
||||
intersections existing with the type `Iso_rectangle_2`. Note that the return type for `Bbox_2` - `Bbox_2`
|
||||
is `Bbox_2` and not `Iso_rectangle_2`.
|
||||
|
|
@ -350,11 +347,11 @@ the template parameter pack.
|
|||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
Additional overloads are provided for the type `Point_3` combined with any other type with the result type being
|
||||
`std::optional< std::variant< Point_3 > >`. Overloads are also provided for the type `Bbox_3`, for all
|
||||
Additional overloads are provided for the type `Point_3` combined with any other type in the table above,
|
||||
with the result type being `std::optional< std::variant< Point_3 > >`.
|
||||
Overloads are also provided for the type `Bbox_3`, for all
|
||||
intersections existing with the type `Iso_cuboid_3`. Note that the return type for `Bbox_3` - `Bbox_3`
|
||||
is `Bbox_3` and not `Iso_cuboid_3`.
|
||||
|
||||
is `Bbox_3` and not `Iso_cuboid_3`.
|
||||
|
||||
\cgalHeading{Examples}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue