\( \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.4 - 2D Straight Skeleton and Polygon Offsetting
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL Namespace Reference

Classes

class  Polygon_offset_builder_2
 The class Polygon_offset_builder_2 encapsulates the construction of inward offset contours of a 2D simple polygon with holes. More...
 
class  Polygon_offset_builder_traits_2
 The class Polygon_offset_builder_traits_2 provides a model for the PolygonOffsetBuilderTraits_2 concept which is the traits class required by the Polygon_offset_builder_2 algorithm class. More...
 
class  Straight_skeleton_2
 The class Straight_skeleton_2 provides a model for the StraightSkeleton_2 concept which is the class type used to represent a straight skeleton. More...
 
class  Dummy_straight_skeleton_builder_2_visitor
 The class Dummy_straight_skeleton_builder_2_visitor provides a model for the StraightSkeletonBuilder_2_Visitor concept which is the visitor type required by the StraightSkeletonBuilder_2 concept. More...
 
class  Straight_skeleton_builder_2
 The class Straight_skeleton_builder_2 encapsulates the construction of the 2D straight skeleton in the interior of a polygon with holes. More...
 
class  Straight_skeleton_builder_traits_2
 The class Straight_skeleton_builder_traits_2 provides a model for the StraightSkeletonBuilderTraits_2 concept which is the traits class required by the Straight_skeleton_builder_2 algorithm class. More...
 
class  Straight_skeleton_converter_2
 The class Straight_skeleton_converter_2 converts a straight skeleton instantiated using certain traits into another straight skeleton instantiated using a different traits. More...
 
class  Straight_skeleton_items_converter_2
 Straight_skeleton_items_converter_2 is a model of the StraightSkeletonItemsConverter_2 concept More...
 
class  Straight_skeleton_face_base_2
 The class Straight_skeleton_face_base_2 provides a model for the StraightSkeletonFace_2 concept which is the face type required by the StraightSkeleton_2 concept. More...
 
class  Straight_skeleton_halfedge_base_2
 The class Straight_skeleton_halfedge_base_2 provides a model for the StraightSkeletonHalfedge_2 concept which is the halfedge type required by the StraightSkeleton_2 concept. More...
 
class  Straight_skeleton_vertex_base_2
 The class Straight_skeleton_vertex_base_2 provides a model for the StraightSkeletonVertex_2 concept which is the vertex type required by the StraightSkeleton_2 concept. More...
 

Functions

template<class K , class InputPolygonPtrIterator , class OutputPolygonWithHolesPtrIterator >
void arrange_offset_polygons_2 (InputPolygonPtrIterator begin, InputPolygonPtrIterator end, OutputPolygonWithHolesPtrIterator out, K const &k)
 The function arrange_offset_polygons_2() arranges the sequence of Polygon_2 objects obtained by create_offset_polygons_2() into Polygon_with_holes_2 objects by determining geometric parent-hole relationships using a simple algorithm based on the particular characteristics of offset polygons. More...
 
template<class InputIterator , class Traits >
boost::optional< typename
Traits::FT > 
compute_outer_frame_margin (InputIterator first, InputIterator beyond, typename Traits::FT offset, Traits const &traits=Default_traits)
 Computes the separation required between a polygon and the outer frame used to obtain an exterior skeleton suitable for the computation of outer offset polygons at a given distance. More...
 
template<class FT , class Polygon , class OffsettingK , class SkeletonK >
std::vector< boost::shared_ptr
< Polygon > > 
create_exterior_skeleton_and_offset_polygons_2 (FT offset, Polygon const &poly, OffsettingK ofk=Exact_predicates_inexact_constructions_kernel, SkeletonK ssk=Exact_predicates_inexact_constructions_kernel)
 returns a container with all the outer offset polygons at distance offset of the 2D polygon poly. More...
 
template<class FT , class OffsettingK , class SkeletonK >
std::vector< boost::shared_ptr
< Polygon_with_holes_2
< OffsettingK > > > 
create_exterior_skeleton_and_offset_polygons_with_holes_2 (FT offset, CGAL::Polygon_2< OffsettingK > poly_with_holes, OffsettingK ofk=Exact_predicates_inexact_constructions_kernel, SkeletonK ssk=Exact_predicates_inexact_constructions_kernel)
 returns a container with all the outer offset polygons with holes at distance offset of the 2D polygon poly. More...
 
template<class FT , class OffsettingK , class SkeletonK >
std::vector< boost::shared_ptr
< Polygon_2< OffsettingK > > > 
create_interior_skeleton_and_offset_polygons_2 (FT offset, CGAL::Polygon_with_holes< OffsettingK > poly_with_holes, OffsettingK ofk=CGAL::Exact_predicates_inexact_constructions_kernel, SkeletonK ssk=CGAL::Exact_predicates_inexact_constructions_kernel)
 returns a container with all the inner offset polygons at distance offset of the 2D polygon with holes poly_with_holes. More...
 
template<class FT , class OffsettingK , class SkeletonK >
std::vector< boost::shared_ptr
< Polygon_with_holes_2
< OffsettingK > > > 
create_interior_skeleton_and_offset_polygons_with_holes_2 (FT offset, CGAL::Polygon_2< OffsettingK > poly, OffsettingK ofk=CGAL::Exact_predicates_inexact_constructions_kernel, SkeletonK ssk=CGAL::Exact_predicates_inexact_constructions_kernel)
 returns a container with all the inner offset polygons with holes at distance offset of the 2D polygon poly. More...
 
template<class FT , class OffsettingK , class SkeletonK >
std::vector< boost::shared_ptr
< Polygon_with_holes_2
< OffsettingK > > > 
create_interior_skeleton_and_offset_polygons_with_holes_2 (FT offset, CGAL::Polygon_with_holes_2< OffsettingK > poly_with_holes, OffsettingK ofk=CGAL::Exact_predicates_inexact_constructions_kernel, SkeletonK ssk=CGAL::Exact_predicates_inexact_constructions_kernel)
 returns a container with all the inner offset polygons with holes at distance offset of the 2D polygon with holes poly_with_holes. More...
 
template<class FT , class PointIterator , class K >
boost::shared_ptr
< Straight_skeleton_2< K > > 
create_exterior_straight_skeleton_2 (FT max_offset, PointIterator vertices_begin, PointIterator vertices_end, K const &k=Exact_predicates_inexact_constructions_kernel)
 The function create_exterior_straight_skeleton_2() creates a straight skeleton in the exterior of a 2D polygon with holes. More...
 
template<class FT , class Polygon , class K >
boost::shared_ptr
< Straight_skeleton_2< K > > 
create_exterior_straight_skeleton_2 (FT max_offset, Polygon P, K const &k=Exact_predicates_inexact_constructions_kernel)
 The function create_exterior_straight_skeleton_2() creates a straight skeleton in the exterior of a 2D polygon with holes. More...
 
template<class Polygon , class FT , class Straight_skeleton , class K >
std::vector< boost::shared_ptr
< Polygon > > 
create_offset_polygons_2 (FT offset, Straight_skeleton const &s,, K const &k=Exact_predicates_inexact_constructions_kernel)
 The function create_offset_polygons_2() creates a straight skeleton in the interior of a 2D polygon with holes. More...
 
template<class PointIterator , class HoleIterator , class K >
boost::shared_ptr
< Straight_skeleton_2< K > > 
create_interior_straight_skeleton_2 (PointIterator outer_contour_vertices_begin, PointIterator outer_contour_vertices_end, HoleIterator holes_begin, HoleIterator holes_end, K const &k=Exact_predicates_inexact_constructions_kernel)
 returns a new Straight_skeleton_2<K> in the interior of the 2D polygon with holes whose outer boundary is given by the point sequence [outer_contour_vertices_begin,outer_contour_vertices_end] and its holes given by [holes_begin,holes_end]. More...
 
template<class PointIterator , class K >
boost::shared_ptr
< Straight_skeleton_2< K > > 
create_interior_straight_skeleton_2 (PointIterator outer_contour_vertices_begin, PointIterator outer_contour_vertices_end, K const &k=Exact_predicates_inexact_constructions_kernel)
 returns a new Straight_skeleton_2<K> in the interior of the 2D polygon whose outer boundary is given by the point sequence [outer_contour_vertices_begin,outer_contour_vertices_end]. More...
 
template<class Polygon , class K >
boost::shared_ptr
< Straight_skeleton_2< K > > 
create_interior_straight_skeleton_2 (Polygon const &outer_contour, K const &k=Exact_predicates_inexact_constructions_kernel)
 returns a new Straight_skeleton_2<K> in the interior of the 2D polygon outer_contour. More...
 
template<class K >
boost::shared_ptr
< Straight_skeleton_2< K > > 
create_interior_straight_skeleton_2 (Polygon_with_holes< K > poly_with_holes, K const &k=Exact_predicates_inexact_constructions_kernel)
 returns a new Straight_skeleton_2<K> in the interior of the 2D polygon with holes poly_with_holes. More...
 
boost::shared_ptr
< Target_skeleton,
Source_skeleton,
Items_converter > 
convert_straight_skeleton_2 (Source_skeleton const &s, Items_converted const &ic=Items_converter())
 Converts a straight skeleton instantiated using certain traits into another straight skeleton instantiated using a different traits. More...