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

Namespaces

 cpp11
 
 IO
 
 Scale_space_reconstruction_3
 
 Shape_detection_3
 
 Surface_mesh_parameterization
 

Classes

class  Aff_transformation_2
 
class  Aff_transformation_3
 
class  Identity_transformation
 
class  Reflection
 
class  Rotation
 
class  Scaling
 
class  Translation
 
class  Bbox_2
 
class  Bbox_3
 
class  Cartesian
 
class  Cartesian_converter
 
class  Circle_2
 
class  Circle_3
 
class  Ambient_dimension
 
class  Dimension_tag
 
class  Dynamic_dimension_tag
 
class  Feature_dimension
 
class  Direction_2
 
class  Direction_3
 
class  Exact_predicates_exact_constructions_kernel
 
class  Exact_predicates_exact_constructions_kernel_with_kth_root
 
class  Exact_predicates_exact_constructions_kernel_with_root_of
 
class  Exact_predicates_exact_constructions_kernel_with_sqrt
 
class  Exact_predicates_inexact_constructions_kernel
 
class  Filtered_kernel_adaptor
 
class  Filtered_kernel
 
class  Filtered_predicate
 
class  Homogeneous
 
class  Homogeneous_converter
 
class  Iso_cuboid_3
 
class  Iso_rectangle_2
 
class  Kernel_traits
 
class  Line_2
 
class  Line_3
 
class  Null_vector
 
class  Origin
 
class  Plane_3
 
class  Point_2
 
class  Point_3
 
class  Projection_traits_xy_3
 
class  Projection_traits_xz_3
 
class  Projection_traits_yz_3
 
class  Ray_2
 
class  Ray_3
 
class  Segment_2
 
class  Segment_3
 
class  Simple_cartesian
 
class  Simple_homogeneous
 
class  Sphere_3
 
class  Tetrahedron_3
 
class  Triangle_2
 
class  Triangle_3
 
class  Vector_2
 
class  Vector_3
 
class  Weighted_point_2
 
class  Weighted_point_3
 
struct  Construct_array
 
class  CC_safe_handle
 
class  Compact_container_base
 
class  Compact_container
 
class  Compact_container_traits
 
class  Compact
 
class  Fast
 
class  Concurrent_compact_container_traits
 
class  Concurrent_compact_container
 
class  Default
 
class  Fourtuple
 
class  Cast_function_object
 
class  Compare_to_less
 
class  Creator_1
 
class  Creator_2
 
class  Creator_3
 
class  Creator_4
 
class  Creator_5
 
class  Creator_uniform_2
 
class  Creator_uniform_3
 
class  Creator_uniform_4
 
class  Creator_uniform_5
 
class  Creator_uniform_6
 
class  Creator_uniform_7
 
class  Creator_uniform_8
 
class  Creator_uniform_9
 
class  Creator_uniform_d
 
class  Dereference
 
class  Get_address
 
class  Identity
 
class  Project_facet
 
class  Project_next
 
class  Project_next_opposite
 
class  Project_normal
 
class  Project_opposite_prev
 
class  Project_plane
 
class  Project_point
 
class  Project_prev
 
class  Project_vertex
 
class  In_place_list_base
 
class  In_place_list
 
class  Const_oneset_iterator
 
class  Counting_iterator
 
class  Dispatch_or_drop_output_iterator
 
class  Dispatch_output_iterator
 
class  Emptyset_iterator
 
class  Filter_iterator
 
class  Insert_iterator
 
class  Inverse_index
 
class  Join_input_iterator_1
 
class  Join_input_iterator_2
 
class  Join_input_iterator_3
 
class  N_step_adaptor
 
class  Oneset_iterator
 
class  Random_access_adaptor
 
class  Random_access_value_adaptor
 
class  Iterator_range
 
class  Location_policy
 
class  Multiset
 
class  Object
 
class  Sixtuple
 
class  Spatial_lock_grid_3
 
class  Boolean_tag
 
struct  Null_functor
 
struct  Sequential_tag
 
struct  Parallel_tag
 
class  Null_tag
 
class  Threetuple
 
class  Twotuple
 
class  Uncertain
 
class  Quadruple
 
class  Triple
 
struct  value_type_traits
 
struct  value_type_traits< std::back_insert_iterator< Container > >
 
struct  value_type_traits< std::insert_iterator< Container > >
 
struct  value_type_traits< std::front_insert_iterator< Container > >
 
class  Algebraic_structure_traits
 
class  Euclidean_ring_tag
 
class  Field_tag
 
class  Field_with_kth_root_tag
 
class  Field_with_root_of_tag
 
class  Field_with_sqrt_tag
 
class  Integral_domain_tag
 
class  Integral_domain_without_division_tag
 
class  Unique_factorization_domain_tag
 
class  Coercion_traits
 
class  Fraction_traits
 
class  Real_embeddable_traits
 
class  Circulator_from_container
 
class  Circulator_from_iterator
 
class  Circulator_traits
 
class  Container_from_circulator
 
struct  Circulator_tag
 
struct  Iterator_tag
 
struct  Forward_circulator_tag
 
struct  Bidirectional_circulator_tag
 
struct  Random_access_circulator_tag
 
struct  Circulator_base
 
struct  Forward_circulator_base
 
struct  Bidirectional_circulator_base
 
struct  Random_access_circulator_base
 
class  Forward_circulator_ptrbase
 
class  Bidirectional_circulator_ptrbase
 
class  Random_access_circulator_ptrbase
 
class  Color
 
class  Input_rep
 
class  Output_rep
 
class  Istream_iterator
 
class  Ostream_iterator
 
class  Verbose_ostream
 
class  HalfedgeDS_const_decorator
 
class  HalfedgeDS_decorator
 
class  HalfedgeDS_default
 
class  HalfedgeDS_face_base
 
class  HalfedgeDS_face_min_base
 
class  HalfedgeDS_halfedge_base
 
class  HalfedgeDS_halfedge_min_base
 
class  HalfedgeDS_items_2
 
class  HalfedgeDS_items_decorator
 
class  HalfedgeDS_list
 
class  HalfedgeDS_min_items
 
class  HalfedgeDS_vector
 
class  HalfedgeDS_vertex_base
 
class  HalfedgeDS_vertex_min_base
 
class  Gps_face_base
 
class  Gps_halfedge_base
 
class  Gps_default_dcel
 
class  General_polygon_2
 
class  General_polygon_set_2
 
class  Gps_circle_segment_traits_2
 
class  Gps_segment_traits_2
 
class  Gps_traits_2
 
class  Polygon_set_2
 
class  Polygon_2
 
class  Polygon_with_holes_2
 
class  General_polygon_with_holes_2
 
class  Protect_FPU_rounding
 
class  Set_ieee_double_precision
 
class  Gmpfi
 
class  Gmpfr
 
class  Gmpq
 
class  Gmpz
 
class  Gmpzf
 
class  Interval_nt
 
class  Lazy_exact_nt
 
class  MP_Float
 
class  Mpzf
 
class  NT_converter
 
class  Number_type_checker
 
class  Quotient
 
class  Rational_traits
 
class  Root_of_traits
 
class  Sqrt_extension
 
class  Is_valid
 
class  Max
 
class  Min
 
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 Polygon , class FT , class StraightSkeleton , class K >
std::vector< boost::shared_ptr
< Polygon > > 
create_offset_polygons_2 (FT offset, StraightSkeleton const &s,, K const &k=Exact_predicates_inexact_constructions_kernel)
 returns a container with the offset polygons at distance offset obtained from the straight skeleton s. 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 Polygon , class HoleIterator , class OffsettingK , class SkeletonK >
std::vector< boost::shared_ptr
< Polygon > > 
create_interior_skeleton_and_offset_polygons_2 (FT offset, Polygon const &outer_boundary, HoleIterator holes_begin, HoleIterator holes_end, 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 whose outer boundary is outer_boundary and its holes are given by [holes_begin,holes_end]. More...
 
template<class FT , class Polygon , class OffsettingK , class SkeletonK >
std::vector< boost::shared_ptr
< Polygon > > 
create_interior_skeleton_and_offset_polygons_2 (FT offset, Polygon const &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 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 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...
 
template<class Target_skeleton , class Source_skeleton , class Items_converter >
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...