CGAL 6.1.2 - 2D Segment Delaunay Graphs: SegmentDelaunayGraphStorageSite_2 Concept Reference

CGAL 6.1.2 - 2D Segment Delaunay Graphs

Loading...
Searching...
No Matches
List of all members
SegmentDelaunayGraphStorageSite_2 Concept Reference
Reference Manual » 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
  `CopyConstructible`
  `Assignable`
  `DefaultConstructible`

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< typenameSite_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.
SegmentDelaunayGraphStorageSite_2 | construct_storage_site_2 (Point_handle hp1, Point_handle hp2)
| Constructs a storage site from two point handles.
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.
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.
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.

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

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

## Member Function Documentation

## ◆ construct_storage_site_2() [1/5]

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

## ◆ construct_storage_site_2() [2/5]

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

## ◆ construct_storage_site_2() [3/5]

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.

## ◆ construct_storage_site_2() [4/5]

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

## ◆ construct_storage_site_2() [5/5]

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.

## ◆ crossing_site()

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

## ◆ is_input() [1/2]

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.

## ◆ is_input() [2/2]

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()

Point_handle SegmentDelaunayGraphStorageSite_2::point | ( |  | ) |

Returns a handle associated with the represented point.

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

## ◆ source_of_crossing_site()

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

## ◆ source_of_supporting_site() [1/2]

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

## ◆ source_of_supporting_site() [2/2]

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

## ◆ source_site()

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

## ◆ supporting_site() [1/2]

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

## ◆ supporting_site() [2/2]

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

## ◆ target_of_crossing_site()

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

## ◆ target_of_supporting_site() [1/2]

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

## ◆ target_of_supporting_site() [2/2]

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

## ◆ target_site()

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