From 206a6b09c9495826bfa426cc2016c5a449fd3c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Tue, 6 Jan 2015 16:40:20 +0100 Subject: [PATCH] add missing concept --- .../Concepts/SelfIntersectionTraits.h | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/SelfIntersectionTraits.h diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/SelfIntersectionTraits.h b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/SelfIntersectionTraits.h new file mode 100644 index 00000000000..e0bed20bab8 --- /dev/null +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/SelfIntersectionTraits.h @@ -0,0 +1,33 @@ +/// \ingroup PkgPolygonMeshProcessingConcepts +/// \cgalConcept +/// +/// Geometric traits concept for the functions `self_intersect` +class SelfIntersectionTraits{ +public: + /// @name Geometric Types + /// @{ + /// 3D point type + typedef unspecified_type Point_3; + /// 3D triangle type + typedef unspecified_type Triangle_3; + /// 3D segment type + typedef unspecified_type Segment_3; + /// @} + + /// @name Functors + /// @{ + /// Functor constructing triangles. It provides `Triangle_3 operator() const(const Point_3&, const Point_3&, const Point_3&) + typedef unspecified_type Construct_triangle_3; + /// Functor constructing segments. It provides `Segment_3 operator() const(const Point_3&, const Point_3&) + typedef unspecified_type Construct_segment_3; + /// Functor testing intersections between triangles and segment. It provides `bool operator() const (const Triangle_3&, const Segment_3&)` and `bool operator() const (const Triangle_3&, const Triangle_3&)` + typedef unspecified_type Do_intersect_3; + /// @} + + /// @name Functions + /// @{ + Construct_triangle_3 construct_triangle_3_object() const; + Construct_segment_3 construct_segment_3_object() const; + Do_intersect_3 do_intersect_3_object() const; + /// @} +};