CGAL 5.6.3 - 2D Segment Delaunay Graphs

Loading...
Searching...
No Matches
List of all members
SegmentDelaunayGraphSite_2 Concept Reference
2D Segment Delaunay Graphs Reference » Concepts

## Definition

The concept `SegmentDelaunayGraphSite_2` provides the requirements for the sites of a segment Delaunay graph.

Refines
  `CopyConstructible`
  `Assignable`
  `DefaultConstructible`

Has Models:
  `CGAL::Segment_Delaunay_graph_site_2<K>`

See also
  `SegmentDelaunayGraphTraits_2`
  `CGAL::Segment_Delaunay_graph_site_2<K>`
  `CGAL::Segment_Delaunay_graph_traits_2<K,MTag>`
  `CGAL::Segment_Delaunay_graph_traits_without_intersections_2<K,MTag>`
  `CGAL::Segment_Delaunay_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>`
  `CGAL::Segment_Delaunay_graph_filtered_traits_without_intersections_2<CK,CM,EK,EM,FK,FM>`

## Types
typedef unspecified_type | Point_2
| The point type.
typedef unspecified_type | Segment_2
| The segment type.
typedef unspecified_type | FT
| The field number type.
typedef unspecified_type | RT
| The ring number type.

## Creation
In addition to the default and copy constructors the following static methods must be available for constructing sites:
static SegmentDelaunayGraphSite_2 | construct_site_2 (Point_2 p)
| Constructs a site from a point: the site represents the point `p`.
static SegmentDelaunayGraphSite_2 | construct_site_2 (Point_2 p1, Point_2 p2)
| Constructs a site from two points: the site represents the (open) segment `(p1,p2)`.
static SegmentDelaunayGraphSite_2 | construct_site_2 (Point_2 p1, Point_2 p2, Point_2 q1, Point_2 q2)
| Constructs a site from four points: the site represents the point of intersection of the segments `(p1,p2)` and `(q1,q2)`.
static SegmentDelaunayGraphSite_2 | construct_site_2 (Point_2 p1, Point_2 p2, Point_2 q1, Point_2 q2, bool b)
| Constructs a site from four points and a Boolean: the site represents a segment.
static SegmentDelaunayGraphSite_2 | construct_site_2 (Point_2 p1, Point_2 p2, Point_2 q1, Point_2 q2, Point_2 r1, Point_2 r2)
| Constructs a site from six points: the site represents the segment with endpoints the points of intersection of the pairs of segments `(p1,p2)`,`(q1,q2)` and `(p1,p2)`,`(r1,r2)`.

## Predicates
bool | is_defined ()
| Returns `true` if the site represents a valid point or segment.
bool | is_point ()
| Returns `true` if the site represents a point.
bool | is_segment ()
| Returns `true` if the site represents a segment.
bool | is_input ()
| Returns `true` if the site represents an input point or a segment defined by two input points.
bool | is_input (unsigned int i)
| Returns `true` if the `i`-th endpoint of the site is an input point.

## Access Functions
Point_2 | point () const
| Returns the point represented by the site `s`.
Segment_2 | segment () const
| Returns the segment represented by the site `s`.
Point_2 | source () const
| Returns the source endpoint of the segment.
Point_2 | target () const
| Returns the target endpoint of the segment.
SegmentDelaunayGraphSite_2 | supporting_site ()
| Returns a segment site object representing the segment that supports the segment represented by the site.
SegmentDelaunayGraphSite_2 | supporting_site (unsigned int i)
| Returns a segment site object representing the `i`-th segment that supports the point of intersection represented by the site.
SegmentDelaunayGraphSite_2 | crossing_site (unsigned int i)
| Returns a segment site object representing the `i`-th segment that supports the \( i\)-th endpoint of the site which is not the supporting segment of the site.
SegmentDelaunayGraphSite_2 | source_site ()
| Returns a point site object representing the source point of the site.
SegmentDelaunayGraphSite_2 | target_site ()
| Returns a point site object representing the target point of the site.
Point_2 | source_of_supporting_site ()
| Returns the source point of the supporting site of the this site.
Point_2 | target_of_supporting_site ()
| Returns the target point of the supporting site of the this site.
Point_2 | source_of_supporting_site (unsigned int i)
| Returns the source point of the `i`-th supporting site of the this site.
Point_2 | target_of_supporting_site (unsigned int i)
| Returns the target point of the `i`-th supporting site of the this site.
Point_2 | source_of_crossing_site (unsigned int i)
| Returns the source point of the `i`-th crossing site of the this site.
Point_2 | target_of_crossing_site (unsigned int i)
| Returns the target point of the `i`-th supporting site of the this site.

## Member Function Documentation

## ◆ construct_site_2()

static SegmentDelaunayGraphSite_2 SegmentDelaunayGraphSite_2::construct_site_2 | ( | Point_2 | p1,
|  | Point_2 | p2,
|  | Point_2 | q1,
|  | Point_2 | q2,
|  | bool | b
| ) |  |
| static

Constructs a site from four points and a Boolean: the site represents a segment.

If `b` is `true` the endpoints are `p1` and \( p_\times\), otherwise \( p_\times\) and `p2`. \( p_\times\) is the point of intersection of the segments `(p1,p2)`,`(q1,q2)`.

## ◆ crossing_site()

SegmentDelaunayGraphSite_2 SegmentDelaunayGraphSite_2::crossing_site | ( | unsigned int | i | ) |

Returns a segment site object representing the `i`-th segment that supports the \( i\)-th endpoint of the site which is not the supporting segment of the site.

Both endpoints of the returned site are input points.

Precondition
  `i` must be at most \( 1\), `s.is_segment()` must be `true` and `s.is_input(i)` must be `false`.

## ◆ is_input() [1/2]

bool SegmentDelaunayGraphSite_2::is_input | ( |  | ) |

Returns `true` if the site represents an input point or a segment defined by two input points.

Returns `false` if it represents a point of intersection of two segments, or if it represents a segment, at least one endpoint of which is a point of intersection of two segments.

## ◆ is_input() [2/2]

bool SegmentDelaunayGraphSite_2::is_input | ( | unsigned int | i | ) |

Returns `true` if the `i`-th endpoint of the site is an input point.

Returns `false` if the `i`-th endpoint of the site is the intersection of two segments.

Precondition
  `i` must be at most \( 1\), and `s.is_segment()` must be `true`.

## ◆ point()

Point_2 SegmentDelaunayGraphSite_2::point | ( |  | ) | const

Returns the point represented by the site `s`.

Precondition
  `s.is_point()` must be `true`.

## ◆ segment()

Segment_2 SegmentDelaunayGraphSite_2::segment | ( |  | ) | const

Returns the segment represented by the site `s`.

Precondition
  `s.is_segment()` must be `true`.

## ◆ source()

Point_2 SegmentDelaunayGraphSite_2::source | ( |  | ) | const

Returns the source endpoint of the segment.

Note that this method can construct an inexact point if the number type used is inexact.

Precondition
  `s.is_segment()` must be `true`.

## ◆ source_of_crossing_site()

Point_2 SegmentDelaunayGraphSite_2::source_of_crossing_site | ( | unsigned int | i | ) |

Returns the source point of the `i`-th crossing site of the this site.

Precondition
  `is_segment()` must be `true`, `is_input(i)` must be `false` and `i` must either be `0` or `1`.

## ◆ source_of_supporting_site() [1/2]

Point_2 SegmentDelaunayGraphSite_2::source_of_supporting_site | ( |  | ) |

Returns the source point of the supporting site of the this site.

Precondition
  `is_segment()` must be `true`.

## ◆ source_of_supporting_site() [2/2]

Point_2 SegmentDelaunayGraphSite_2::source_of_supporting_site | ( | unsigned int | i | ) |

Returns the source point of the `i`-th supporting site of the this site.

Precondition
  `is_point()` must be `true`, `is_input()` must be `false` and `i` must either be `0` or `1`.

## ◆ source_site()

SegmentDelaunayGraphSite_2 SegmentDelaunayGraphSite_2::source_site | ( |  | ) |

Returns a point site object representing the source point of the site.

Precondition
  `s.is_segment()` must be `true`.

## ◆ supporting_site() [1/2]

SegmentDelaunayGraphSite_2 SegmentDelaunayGraphSite_2::supporting_site | ( |  | ) |

Returns a segment site object representing the segment that supports the segment represented by the site.

Both endpoints of the returned site are input points.

Precondition
  `s.is_segment()` must be `true`.

## ◆ supporting_site() [2/2]

SegmentDelaunayGraphSite_2 SegmentDelaunayGraphSite_2::supporting_site | ( | unsigned int | i | ) |

Returns a segment site object representing the `i`-th segment that supports the point of intersection represented by the site.

Both endpoints of the returned site are input points.

Precondition
  `i` must be at most \( 1\), `s.is_point()` must be `true` and `s.is_input()` must be `false`.

## ◆ target()

Point_2 SegmentDelaunayGraphSite_2::target | ( |  | ) | const

Returns the target endpoint of the segment.

Note that this method can construct an inexact point if the number type used is inexact.

Precondition
  `s.is_segment()` must be `true`.

## ◆ target_of_crossing_site()

Point_2 SegmentDelaunayGraphSite_2::target_of_crossing_site | ( | unsigned int | i | ) |

Returns the target point of the `i`-th supporting site of the this site.

Precondition
  `is_segment()` must be `true`, `is_input(i)` must be `false` and `i` must either be `0` or `1`.

## ◆ target_of_supporting_site() [1/2]

Point_2 SegmentDelaunayGraphSite_2::target_of_supporting_site | ( |  | ) |

Returns the target point of the supporting site of the this site.

Precondition
  `is_segment()` must be `true`.

## ◆ target_of_supporting_site() [2/2]

Point_2 SegmentDelaunayGraphSite_2::target_of_supporting_site | ( | unsigned int | i | ) |

Returns the target point of the `i`-th supporting site of the this site.

Precondition
  `is_point()` must be `true`, `is_input()` must be `false` and `i` must either be `0` or `1`.

## ◆ target_site()

SegmentDelaunayGraphSite_2 SegmentDelaunayGraphSite_2::target_site | ( |  | ) |

Returns a point site object representing the target point of the site.

Precondition
  `s.is_segment()` must be `true`.