\( \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.8 - 2D Segment Delaunay Graphs

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

## Definition

The concept `SegmentDelaunayGraphStorageSite_2` provides the requirements for the storage sites of a segment Delaunay graph. The storage sites are sites that are used to store the information of a site in a more compact form (that uses less storage). This is achieved by storing handles to points instead of points.

Refines:

  `DefaultConstructible`

  `CopyConstructible`

  `Assignable`

Has Models:
  `CGAL::Segment_Delaunay_graph_storage_site_2<Gt>`

See Also
  `SegmentDelaunayGraphTraits_2`
  `CGAL::Segment_Delaunay_graph_site_2<K>`
  `CGAL::Segment_Delaunay_graph_storage_site_2<Gt>`
  `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 | Site_2
| The site type.
typedef std::set< typename Site_2::Point_2 >::iterator | Point_handle
| The type for a handle to a point.

## Creation
In addition to the default and copy constructors, the following static methods should be available for constructing sites:
SegmentDelaunayGraphStorageSite_2 | construct_storage_site_2 (Point_handle hp)
| Constructs a storage site from a point handle. More...
SegmentDelaunayGraphStorageSite_2 | construct_storage_site_2 (Point_handle hp1, Point_handle hp2)
| Constructs a storage site from two point handles. More...
SegmentDelaunayGraphStorageSite_2 | construct_storage_site_2 (Point_handle hp1, Point_handle hp2, Point_handle hq1, Point_handle hq2)
| Constructs a storage site from four point handles. More...
SegmentDelaunayGraphStorageSite_2 | construct_storage_site_2 (Point_handle hp1, Point_handle hp2, Point_handle hq1, Point_handle hq2, bool b)
| Constructs a site from four point handles and a Boolean. More...
SegmentDelaunayGraphStorageSite_2 | construct_storage_site_2 (Point_handle hp1, Point_handle hp2, Point_handle hq1, Point_handle hq2, Point_handle hr1, Point_handle hr2)
| Constructs a storage site from six point handles. More...

## Predicates
bool | is_defined ()
| Returns `true` if the storage site represents a valid point or segment.
bool | is_point ()
| Returns `true` if the storage site represents a point.
bool | is_segment ()
| Returns `true` if the storage site represents a segment.
bool | is_input ()
| Returns `true` if the storage 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 corresponding site is an input point. More...

## Access Functions
SegmentDelaunayGraphStorageSite_2 | supporting_site ()
| Returns a storage site object representing the segment that supports the segment represented by the storage site. More...
SegmentDelaunayGraphStorageSite_2 | source_site ()
| Returns a storage site that represents the first endpoint of the represented segment. More...
SegmentDelaunayGraphStorageSite_2 | target_site ()
| Returns a storage site that represents the second endpoint of the represented segment. More...
SegmentDelaunayGraphStorageSite_2 | supporting_site (unsigned int i)
| Returns a storage site object representing the `i`-th segment that supports the point of intersection represented by the storage site. More...
SegmentDelaunayGraphStorageSite_2 | crossing_site (unsigned int i)
| Returns a storage 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...
Site_2 | site ()
| Returns the site represented by the storage site.
Point_handle | point ()
| Returns a handle associated with the represented point. More...
Point_handle | source_of_supporting_site ()
| Returns a handle to the source point of the supporting site of the this site. More...
Point_handle | target_of_supporting_site ()
| Returns a handle to the target point of the supporting site of the this site. More...
Point_handle | source_of_supporting_site (unsigned int i)
| Returns a handle to the source point of the `i`-th supporting site of the this site. More...
Point_handle | target_of_supporting_site (unsigned int i)
| Returns a handle to the target point of the `i`-th supporting site of the this site. More...
Point_handle | source_of_crossing_site (unsigned int i)
| Returns a handle to the source point of the `i`-th crossing site of the this site. More...
Point_handle | target_of_crossing_site (unsigned int i)
| Returns a handle to the target point of the `i`-th supporting site of the this site. More...

## Member Function Documentation

SegmentDelaunayGraphStorageSite_2 SegmentDelaunayGraphStorageSite_2::construct_storage_site_2 | ( | Point_handle | hp) |  |

Constructs a storage site from a point handle.

The storage site represents the point associated with the point handle `hp`.

SegmentDelaunayGraphStorageSite_2 SegmentDelaunayGraphStorageSite_2::construct_storage_site_2 | ( | Point_handle | hp1,
|  | Point_handle | hp2
| ) |  |

Constructs a storage site from two point handles.

The storage site represents the segment the endpoints of which are the points associated with the point handles `hp1` and `hp2`.

SegmentDelaunayGraphStorageSite_2 SegmentDelaunayGraphStorageSite_2::construct_storage_site_2 | ( | Point_handle | hp1,
|  | Point_handle | hp2,
|  | Point_handle | hq1,
|  | Point_handle | hq2
| ) |  |

Constructs a storage site from four point handles.

The storage site represents the point of intersection of the segments the endpoints of which are the points associated with the point handles `hp1`, `hp2` and `hq1` and `hq2`, respectively.

SegmentDelaunayGraphStorageSite_2 SegmentDelaunayGraphStorageSite_2::construct_storage_site_2 | ( | Point_handle | hp1,
|  | Point_handle | hp2,
|  | Point_handle | hq1,
|  | Point_handle | hq2,
|  | bool | b
| ) |  |

Constructs a site from four point handles and a Boolean.

The storage site represents a segment. If `b` is `true`, the first endpoint of the segment is the point associated with the handle `hp1` and the second endpoint is the point of intersection of the segments the endpoints of which are the point associated with the point handles `hp1`, `hp2` and `hq1`, `hq2`, respectively. If `b` is `false`, the first endpoint of the represented segment is the one mentioned above, whereas the second endpoint if the point associated with the point handle `hp2`.

SegmentDelaunayGraphStorageSite_2 SegmentDelaunayGraphStorageSite_2::construct_storage_site_2 | ( | Point_handle | hp1,
|  | Point_handle | hp2,
|  | Point_handle | hq1,
|  | Point_handle | hq2,
|  | Point_handle | hr1,
|  | Point_handle | hr2
| ) |  |

Constructs a storage site from six point handles.

The storage site represents of segment the endpoints of which are points of intersection of two pairs of segments, the endpoints of which are `hp1`, `hp2`/`hq1`, `hq2` and `hp1`, `hp2`/`hr1`, `hr2`, respectively.

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

Returns a storage 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.

The returned storage site represents a site, both endpoints of which are input points.

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

bool SegmentDelaunayGraphStorageSite_2::is_input | ( | ) |  |

Returns `true` if the storage 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 SegmentDelaunayGraphStorageSite_2::is_input | ( | unsigned int | i) |  |

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

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

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

Point_handle SegmentDelaunayGraphStorageSite_2::point | ( | ) |  |

Returns a handle associated with the represented point.

Precondition
  `is_point()` and `is_input()` must both be `true`.

Point_handle SegmentDelaunayGraphStorageSite_2::source_of_crossing_site | ( | unsigned int | i) |  |

Returns a handle to 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_handle SegmentDelaunayGraphStorageSite_2::source_of_supporting_site | ( | ) |  |

Returns a handle to the source point of the supporting site of the this site.

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

Point_handle SegmentDelaunayGraphStorageSite_2::source_of_supporting_site | ( | unsigned int | i) |  |

Returns a handle to 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`.

SegmentDelaunayGraphStorageSite_2 SegmentDelaunayGraphStorageSite_2::source_site | ( | ) |  |

Returns a storage site that represents the first endpoint of the represented segment.

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

SegmentDelaunayGraphStorageSite_2 SegmentDelaunayGraphStorageSite_2::supporting_site | ( | ) |  |

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

The returned storage site represents a site, both endpoints of which are input points.

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

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

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

The returned storage site represents a site, both endpoints of which are input points.

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

Point_handle SegmentDelaunayGraphStorageSite_2::target_of_crossing_site | ( | unsigned int | i) |  |

Returns a handle to 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_handle SegmentDelaunayGraphStorageSite_2::target_of_supporting_site | ( | ) |  |

Returns a handle to the target point of the supporting site of the this site.

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

Point_handle SegmentDelaunayGraphStorageSite_2::target_of_supporting_site | ( | unsigned int | i) |  |

Returns a handle to 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`.

SegmentDelaunayGraphStorageSite_2 SegmentDelaunayGraphStorageSite_2::target_site | ( | ) |  |

Returns a storage site that represents the second endpoint of the represented segment.

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