Classes and functions to round segments or polygons using hot pixel SR method.
template<class SegmentRange , class OutputPolylineIterator , class NamedParameters = parameters::Default_named_parameters>
OutputPolylineIterator CGAL::hot_pixel_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::hot_pixel_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::hot_pixel_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.
◆ hot_pixel_snap_rounding_2() [1/3]
template<class PolygonRange , class OutputPolygonIterator , class NamedParameters = parameters::Default_named_parameters>
OutputPolygonIterator CGAL::hot_pixel_snap_rounding_2
(
const PolygonRange &
polygons ,
OutputPolygonIterator
out ,
const NamedParameters &
np = parameters::default_values ()
)
#include <CGAL/hot_pixel_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
Parameters
polygons the range of input polygons
out the output inserter
np an optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
pixel_size
The size of the pixel. The plane will be tiled with square pixels of that width such that the origin is the center of a pixel.
Type: geom_traits::FT
Default: 1
do_iterative_snap_rounding
determines whether to apply Iterative Snap Rounding, see the user manual for more details.
Type: Boolean
Default: true
use_grid_coordinates
If set to true, the output coordinates are expressed in the integer grid (pixel indices). Otherwise, they are given in the input coordinate system.
Type: Boolean
Default: true
geom_traits
Warning a convex input polygon might no longer be convex after rounding.
◆ hot_pixel_snap_rounding_2() [2/3]
template<class SegmentRange , class OutputPolylineIterator , class NamedParameters = parameters::Default_named_parameters>
OutputPolylineIterator CGAL::hot_pixel_snap_rounding_2
(
const SegmentRange &
segments ,
OutputPolylineIterator
out ,
const NamedParameters &
np = parameters::default_values ()
)
#include <CGAL/hot_pixel_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
SegmentRange model 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.
OutputPolylineIterator model of OutputIterator defining a container_type, where container_type::value_type must be a type that provides a push_back(Point_2) function.
NamedParameters a sequence of Named Parameters
Parameters
segments the input segment range
out the output inserter
np an optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
pixel_size
The size of the pixel. The plane will be tiled with square pixels of that width such that the origin is the center of a pixel.
Type: geom_traits::FT
Default: 1
do_iterative_snap_rounding
determines whether to apply Iterative Snap Rounding, see the user manual for more details.
Type: Boolean
Default: true
use_grid_coordinates
If set to true, the output coordinates are expressed in the integer grid (pixel indices). Otherwise, they are given in the input coordinate system.
Type: Boolean
Default: true
geom_traits
Examples Snap_rounding_2/iterative_snap_rounding.cpp , and Snap_rounding_2/snap_rounding_to_integer.cpp .
◆ hot_pixel_snap_rounding_2() [3/3]
template<class SegmentRange , class OutputSegmentIterator , class NamedParameters = parameters::Default_named_parameters>
OutputSegmentIterator CGAL::hot_pixel_snap_rounding_2
(
const SegmentRange &
segments ,
OutputSegmentIterator
out ,
const NamedParameters &
np = parameters::default_values ()
)
#include <CGAL/hot_pixel_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
SegmentRange model 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.
OutputSegmentIterator model of OutputIterator defining a container_type, where container_type::value_type is geom_traits::Segment_2.
NamedParameters a sequence of Named Parameters
Parameters
segments the input segment range
out the output inserter
np an optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
pixel_size
The size of the pixel. The plane will be tiled with square pixels of that width such that the origin is the center of a pixel.
Type: geom_traits::FT
Default: 1
do_iterative_snap_rounding
determines whether to apply Iterative Snap Rounding, see the user manual for more details.
Type: Boolean
Default: true
use_grid_coordinates
If set to true, the output coordinates are expressed in the integer grid (pixel indices). Otherwise, they are given in the input coordinate system.
Type: Boolean
Default: true
geom_traits