mirror of https://github.com/CGAL/cgal
40 lines
1.3 KiB
C++
40 lines
1.3 KiB
C++
/// \ingroup PkgPolygonMeshProcessingConcepts
|
|
/// \cgalConcept
|
|
///
|
|
/// Geometric traits concept for the functions `CGAL::self_intersections()` and `CGAL::does_self_intersect()`.
|
|
class PMPSelfIntersectionTraits{
|
|
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 segments.
|
|
/// 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;
|
|
/// @}
|
|
};
|