CGAL 4.7 - 2D Segment Delaunay Graphs: SegmentDelaunayGraphSite_2 Concept Reference

\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.7 - 2D Segment Delaunay Graphs

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
SegmentDelaunayGraphSite_2 Concept Reference
Concepts

## Definition

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

Refines:

  `DefaultConstructible`

  `CopyConstructible`

  `Assignable`

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 are 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. More...
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. More...
bool | is_input (unsigned int i)
| Returns `true` if the `i`-th endpoint of the site is an input point. More...

## Access Functions

Point_2 | point () const
| Returns the point represented by the site `s`. More...
Segment_2 | segment () const
| Returns the segment represented by the site `s`. More...
Point_2 | source () const
| Returns the source endpoint of the segment. More...
Point_2 | target () const
| Returns the target endpoint of the segment. More...
SegmentDelaunayGraphSite_2 | supporting_site ()
| Returns a segment site object representing the segment that supports the segment represented by the site. More...
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. More...
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. More...
SegmentDelaunayGraphSite_2 | source_site ()
| Returns a point site object representing the source point of the site. More...
SegmentDelaunayGraphSite_2 | target_site ()
| Returns a point site object representing the target point of the site. More...
Point_2 | source_of_supporting_site ()
| Returns the source point of the supporting site of the this site. More...
Point_2 | target_of_supporting_site ()
| Returns the target point of the supporting site of the this site. More...
Point_2 | source_of_supporting_site (unsigned int i)
| Returns the source point of the `i`-th supporting site of the this site. More...
Point_2 | target_of_supporting_site (unsigned int i)
| Returns the target point of the `i`-th supporting site of the this site. More...
Point_2 | source_of_crossing_site (unsigned int i)
| Returns the source point of the `i`-th crossing site of the this site. More...
Point_2 | target_of_crossing_site (unsigned int i)
| Returns the target point of the `i`-th supporting site of the this site. More...

## Member Function Documentation

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)`.

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`.

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.

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_2 SegmentDelaunayGraphSite_2::point | ( | ) |  | const

Returns the point represented by the site `s`.

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

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

Returns the segment represented by the site `s`.

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

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`.

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`.

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`.

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`.

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`.

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`.

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`.

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`.

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`.

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`.

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`.

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`.