CGAL 4.7 - 2D Straight Skeleton and Polygon Offsetting: CGAL Namespace 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 Straight Skeleton and Polygon Offsetting

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Functions
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 , class C >
std::vector< boost::shared_ptr < Polygon_with_holes_2 < OffsettingK, C > > > | create_exterior_skeleton_and_offset_polygons_with_holes_2 (FT offset, CGAL::Polygon_2< OffsettingK, C > 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 , class C >
std::vector< boost::shared_ptr < Polygon_2< OffsettingK, C > > > | create_interior_skeleton_and_offset_polygons_2 (FT offset, CGAL::Polygon_with_holes< OffsettingK, C > 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 , class C >
std::vector< boost::shared_ptr < Polygon_with_holes_2 < OffsettingK, C > > > | create_interior_skeleton_and_offset_polygons_with_holes_2 (FT offset, CGAL::Polygon_2< OffsettingK, C > 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 , class C >
std::vector< boost::shared_ptr < Polygon_with_holes_2 < OffsettingK, C > > > | create_interior_skeleton_and_offset_polygons_with_holes_2 (FT offset, CGAL::Polygon_with_holes_2< OffsettingK, C > 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 , class C >
boost::shared_ptr < Straight_skeleton_2< K > > | create_interior_straight_skeleton_2 (Polygon_with_holes< K, C > 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...