|
CGAL 6.0 - 2D Straight Skeleton and Polygon Offsetting
|
The following functions are used to construct the inward or outward straight skeleton of a polygon.
Functions | |
| template<typename PointIterator , typename HoleIterator , typename SsK > | |
| std::shared_ptr< Straight_skeleton_2< SsK > > | CGAL::create_interior_straight_skeleton_2 (PointIterator outer_contour_vertices_begin, PointIterator outer_contour_vertices_end, HoleIterator holes_begin, HoleIterator holes_end, SsK k=CGAL::Exact_predicates_inexact_constructions_kernel()) |
| creates a straight skeleton in the interior of the 2D polygon with holes. | |
| template<typename PointIterator , typename SsK > | |
| std::shared_ptr< Straight_skeleton_2< SsK > > | CGAL::create_interior_straight_skeleton_2 (PointIterator outer_contour_vertices_begin, PointIterator outer_contour_vertices_end, SsK k=CGAL::Exact_predicates_inexact_constructions_kernel()) |
| creates a straight skeleton in the interior of the 2D polygon. | |
| template<typename Polygon , typename SsK > | |
| std::shared_ptr< Straight_skeleton_2< SsK > > | CGAL::create_interior_straight_skeleton_2 (const Polygon &polygon, SsK k=CGAL::Exact_predicates_inexact_constructions_kernel()) |
creates a straight skeleton in the interior of the 2D polygon polygon. | |
| template<typename FT , typename PointIterator , typename SsK > | |
| std::shared_ptr< Straight_skeleton_2< SsK > > | CGAL::create_exterior_straight_skeleton_2 (FT max_offset, PointIterator vertices_begin, PointIterator vertices_end, SsK k=CGAL::Exact_predicates_inexact_constructions_kernel()) |
| creates a straight skeleton in the exterior of a 2D polygon with holes. | |
| template<typename FT , typename Polygon , typename SsK > | |
| std::shared_ptr< Straight_skeleton_2< SsK > > | CGAL::create_exterior_straight_skeleton_2 (FT max_offset, const Polygon &P, SsK k=CGAL::Exact_predicates_inexact_constructions_kernel()) |
| creates a straight skeleton in the exterior of a 2D polygon with holes. | |
| std::shared_ptr< Straight_skeleton_2< SsK > > CGAL::create_exterior_straight_skeleton_2 | ( | FT | max_offset, |
| const Polygon & | P, | ||
| SsK | k = CGAL::Exact_predicates_inexact_constructions_kernel() |
||
| ) |
#include <CGAL/create_straight_skeleton_2.h>
creates a straight skeleton in the exterior of a 2D polygon with holes.
The function returns a straight skeleton in the limited exterior of the 2D polygon P. The skeleton in the limited exterior of P is the skeleton in the interior of a polygon Q with P as its hole and a rectangular frame F as outer boundary. The outer boundary F is constructed by enlarging the bounding box of P a distance d. d is a margin sufficiently large to allow an outer offset at distance max_offset to be obtained from this exterior skeleton, as computed by the function compute_outer_frame_margin().
| SsK | must be a model of Kernel. |
| FT | must be a model of FieldNumberType convertible to SsK::FT. |
| Polygon | must be a model of SequenceContainer with value type InK::Point_2 (e.g. Polygon_2<InK>) or a model of GeneralPolygonWithHoles_2 (e.g. Polygon_with_holes_2<InK>). |
Cartesian_converter is used to convert from InK::Point_2 to SsK::Point_2, if they differ.P is a weakly simple, counterclockwise polygon with clockwise oriented holes. max_offset is positive.| std::shared_ptr< Straight_skeleton_2< SsK > > CGAL::create_exterior_straight_skeleton_2 | ( | FT | max_offset, |
| PointIterator | vertices_begin, | ||
| PointIterator | vertices_end, | ||
| SsK | k = CGAL::Exact_predicates_inexact_constructions_kernel() |
||
| ) |
#include <CGAL/create_straight_skeleton_2.h>
creates a straight skeleton in the exterior of a 2D polygon with holes.
The function returns a straight skeleton in the limited exterior of the 2D polygon P given by the point sequence [vertices_begin,vertices_end[. The skeleton in the limited exterior of P is the skeleton in the interior of a polygon Q with P as its hole and a rectangular frame F as outer boundary. The outer boundary F is constructed by enlarging the bounding box of P a distance d. d is a margin sufficiently large to allow an outer offset at distance max_offset to be obtained from this exterior skeleton, as computed by the function compute_outer_frame_margin().
| SsK | must be a model of Kernel. |
| FT | must be a model of FieldNumberType convertible to SsK::FT. |
| PointIterator | must be a model of InputIterator with value type InK::Point_2. |
Cartesian_converter is used to convert from InK::Point_2 to SsK::Point_2, if they differ.vertices_begin and vertices_end describe a weakly simple polygon that is oriented counterclockwise.| std::shared_ptr< Straight_skeleton_2< SsK > > CGAL::create_interior_straight_skeleton_2 | ( | const Polygon & | polygon, |
| SsK | k = CGAL::Exact_predicates_inexact_constructions_kernel() |
||
| ) |
#include <CGAL/create_straight_skeleton_2.h>
creates a straight skeleton in the interior of the 2D polygon polygon.
CGAL::create_interior_straight_skeleton_2() for each hole.| Polygon | must be a model of SequenceContainer with value type InK::Point_2 (e.g. Polygon_2<InK>) or a model of GeneralPolygonWithHoles_2 (e.g. Polygon_with_holes_2<InK>). |
| SsK | must be a model of Kernel. |
Cartesian_converter is used to convert from InK::Point_2 to SsK::Point_2, if they differ.polygon is a weakly simple, counterclockwise polygon with clockwise oriented holes. | std::shared_ptr< Straight_skeleton_2< SsK > > CGAL::create_interior_straight_skeleton_2 | ( | PointIterator | outer_contour_vertices_begin, |
| PointIterator | outer_contour_vertices_end, | ||
| HoleIterator | holes_begin, | ||
| HoleIterator | holes_end, | ||
| SsK | k = CGAL::Exact_predicates_inexact_constructions_kernel() |
||
| ) |
#include <CGAL/create_straight_skeleton_2.h>
creates a straight skeleton in the interior of the 2D polygon with holes.
The outer boundary of the polygon is given by the point sequence [outer_contour_vertices_begin,outer_contour_vertices_end[ and its holes given by [holes_begin, holes_end[.
| PointIterator | must be a model of InputIterator with value type InK::Point_2. |
| HoleIterator | must be a model of InputIterator with value_type a model of SequenceContainer with value type InK::Point_2. |
| SsK | must be a model of Kernel. |
Cartesian_converter is used to convert from InK::Point_2 to SsK::Point_2, if they differ.[outer_contour_vertices_begin, outer_contour_vertices_end[ describes a weakly simple polygon that is oriented counterclockwise. \pre the range [holes_begin, holes_end[ describes a sequence of weakly simple polygons that are oriented clockwise. | std::shared_ptr< Straight_skeleton_2< SsK > > CGAL::create_interior_straight_skeleton_2 | ( | PointIterator | outer_contour_vertices_begin, |
| PointIterator | outer_contour_vertices_end, | ||
| SsK | k = CGAL::Exact_predicates_inexact_constructions_kernel() |
||
| ) |
#include <CGAL/create_straight_skeleton_2.h>
creates a straight skeleton in the interior of the 2D polygon.
The outer boundary of the polygon is given by the point sequence [outer_contour_vertices_begin,outer_contour_vertices_end[.
| PointIterator | must be a model of InputIterator with value type InK::Point_2. |
| SsK | must be a model of Kernel. |
Cartesian_converter is used to convert from InK::Point_2 to SsK::Point_2, if they differ.[outer_contour_vertices_begin, outer_contour_vertices_end[ describes a weakly simple polygon that is oriented counterclockwise.