CGAL 6.2 - 2D Snap Rounding
Loading...
Searching...
No Matches
Vertical slab snap rounding

Classes and functions to round segments or polygons using vertical slab SR method.

Classes

struct  CGAL::Double_grid_snap_rounding_traits_2< InputKernel, ExactKernel, BaseTraits >
 The class Double_grid_snap_rounding_traits_2<InputKernel, ExactKernel, BaseTraits> is a model of the VerticalSlabSnapRoundingTraits_2 concept. More...
 
struct  CGAL::Float_grid_snap_rounding_traits_2< InputKernel, ExactKernel, BaseTraits >
 The class Float_grid_snap_rounding_traits_2<InputKernel, ExactKernel, BaseTraits> is a model of the VerticalSlabSnapRoundingTraits_2 concept. More...
 
struct  CGAL::Integer_grid_snap_rounding_traits_2< InputKernel, ExactKernel, BaseTraits >
 The class Integer_grid_snap_rounding_traits_2<InputKernel, ExactKernel, BaseTraits> is a model of the VerticalSlabSnapRoundingTraits_2 concept. More...
 

Functions

template<class SegmentRange , class OutputPolylineIterator , class NamedParameters = parameters::Default_named_parameters>
OutputPolylineIterator CGAL::vertical_slab_snap_rounding_2 (const SegmentRange &segments, OutputPolylineIterator out, const NamedParameters &np=parameters::default_values())
 subdivides and rounds a range of segments so that they are pairwise disjoint in their interiors.
 
template<class SegmentRange , class OutputSegmentIterator , class NamedParameters = parameters::Default_named_parameters>
OutputSegmentIterator CGAL::vertical_slab_snap_rounding_2 (const SegmentRange &segments, OutputSegmentIterator out, const NamedParameters &np=parameters::default_values())
 subdivides and rounds a range of segments so that they are pairwise disjoint in their interiors.
 
template<class PolygonRange , class OutputPolygonIterator , class NamedParameters = parameters::Default_named_parameters>
OutputPolygonIterator CGAL::vertical_slab_snap_rounding_2 (const PolygonRange &polygons, OutputPolygonIterator out, const NamedParameters &np=parameters::default_values())
 subdivides and rounds a range of polygons so that their boundary segments are pairwise disjoint in their interiors.
 

Function Documentation

◆ vertical_slab_snap_rounding_2() [1/3]

template<class PolygonRange , class OutputPolygonIterator , class NamedParameters = parameters::Default_named_parameters>
OutputPolygonIterator CGAL::vertical_slab_snap_rounding_2 ( const PolygonRange &  polygons,
OutputPolygonIterator  out,
const NamedParameters &  np = parameters::default_values() 
)

#include <CGAL/vertical_slab_snap_rounding_2.h>

subdivides and rounds a range of polygons so that their boundary segments are pairwise disjoint in their interiors.

If the input polygons are disjoint, the output polygons remain non-overlapping, although they may share vertices or edges. Each output polygon is free of self-intersections but may present pinched sections.

Template Parameters
PolygonRangemodel of a ConstRange whose iterator is model of ForwardIterator and whose value_type is model of CGAL::Polygon_2.
OutputPolygonIteratormodel of OutputIterator holding CGAL::Polygon_2
NamedParametersa sequence of Named Parameters
Parameters
polygonsthe range of input polygons
outthe output inserter
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
Warning
a convex input polygon might no longer be convex after rounding.

◆ vertical_slab_snap_rounding_2() [2/3]

template<class SegmentRange , class OutputPolylineIterator , class NamedParameters = parameters::Default_named_parameters>
OutputPolylineIterator CGAL::vertical_slab_snap_rounding_2 ( const SegmentRange &  segments,
OutputPolylineIterator  out,
const NamedParameters &  np = parameters::default_values() 
)

#include <CGAL/vertical_slab_snap_rounding_2.h>

subdivides and rounds a range of segments so that they are pairwise disjoint in their interiors.

The output is a sequence of polylines, where each polyline corresponds to an input segment.

Template Parameters
SegmentRangemodel of a ConstRange whose iterator is model of ForwardIterator and whose value_type is geom_traits::Segment_2, where the type of geom_traits is detailed by np::geom_traits.
OutputPolylineIteratormodel of OutputIterator defining a container_type, where container_type::value_type must be a type that provides a push_back(Point_2) function.
NamedParametersa sequence of Named Parameters
Parameters
segmentsthe input segment range
outthe output inserter
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters

◆ vertical_slab_snap_rounding_2() [3/3]

template<class SegmentRange , class OutputSegmentIterator , class NamedParameters = parameters::Default_named_parameters>
OutputSegmentIterator CGAL::vertical_slab_snap_rounding_2 ( const SegmentRange &  segments,
OutputSegmentIterator  out,
const NamedParameters &  np = parameters::default_values() 
)

#include <CGAL/vertical_slab_snap_rounding_2.h>

subdivides and rounds a range of segments so that they are pairwise disjoint in their interiors.

The output is a sequence of segments.

Template Parameters
SegmentRangemodel of a ConstRange whose iterator is model of ForwardIterator and whose value_type is geom_traits::Segment_2, where the type of geom_traits is detailed by np::geom_traits.
OutputSegmentIteratormodel of OutputIterator defining a container_type, where container_type::value_type is geom_traits::Segment_2.
NamedParametersa sequence of Named Parameters
Parameters
segmentsthe input segment range
outthe output inserter
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters