Concept

StraightSkeletonHalfedge_2

Definition

The concept StraightSkeletonHalfedge_2 describes the requirements for the halfedge type of the StraightSkeleton_2 concept. It is a refinement of the HalfedgeDSHalfedge concept. The StraightSkeletonHalfedge_2 concept requires no geometric embedding at all. The only geometric embedding used by the Straight Skeleton Data Structure are the 2D points in the contour and skeleton vertices. However, for any halfedge, there is a 2D segment implicitly given by its source and target vertices.

Refines

HalfedgeDSHalfedge

Creation

StraightSkeletonHalfedge_2 h;
Default Constructor.


StraightSkeletonHalfedge_2 h ( int id);
Constructs a halfedge with ID id.
It is the links to other halfedges what determines if this is a contour edge, a contour-skeleton edge or an inner-skeleton edge.

Access Functions

Halfedge_handle h.defining_contour_edge ()
Halfedge_const_handle h.defining_contour_edge () const If this is a bisector halfedge, returns a handle to the inward-facing (non-border) contour halfedge corresponding to the defining contour edge which is to its left; if this is a contour halfedge, returns a handle to itself if is_border() is false, or to its opposite if it is true.

Queries

bool h.is_bisector () const Returns true iff this is a bisector (or skeleton) halfedge (i.e. is not a contour halfedge).
bool h.is_inner_bisector () const Returns true iff this is a bisector and is inner (i.e. is not incident upon a contour vertex).

Has Models

CGAL::Straight_skeleton_halfedge_2<Refs>.

See Also

StraightSkeleton_2
StraightSkeletonHalfedge_2
CGAL::Straight_skeleton_vertex_base_2<Refs,Point,FT>
CGAL::Straight_skeleton_halfedge_base_2<Refs>