- 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:
GT::FT - Default: FT(1.)
|
CGAL 6.2 - 2D Snap Rounding
|
Optional parameters of the functions of this package are implemented as Named Parameters. The page Named Parameters describes their usage.
CGAL::vertical_slab_snap_rounding_2()CGAL::Double_grid_snap_rounding_traits_2CGAL::Float_grid_snap_rounding_traits_2CGAL::Integer_grid_snap_rounding_traits_2Modules | |
| Concepts | |
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... | |
| class | CGAL::Hot_pixel_snap_rounding_traits_2< BaseKernel > |
The class Hot_pixel_snap_rounding_traits_2<Kernel> is a model of the HotPixelSnapRoundingTraits_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::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 (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. | |
| template<class Traits , class InputIterator , class OutputContainer > | |
| void | CGAL::snap_rounding_2 (InputIterator begin, InputIterator end, OutputContainer &output_container, typename Traits::NT pixel_size, bool do_isr=true, bool int_output=true, unsigned int number_of_kd_trees=1) |
| template<class SegmentRange , class OutputPolylineIterator , class NamedParameters = parameters::Default_named_parameters> | |
| OutputPolylineIterator | CGAL::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::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::snap_rounding_2 (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. | |
| 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 (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. | |
| 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 range of polylines, where each polyline corresponds to an input segment.
| SegmentRange | a range of Kernel::Segment_2, model of Range. Its iterator type is InputIterator. |
| OutputPolylineIterator | model of OutputIterator holding Polyline. Polyline must be a type that provides a push_back(Point_2) function. |
| NamedParameters | a sequence of Named Parameters |
| segments | the input segment range |
| out | the output inserter |
| np | an optional sequence of Named Parameters among the ones listed below |
| |
| |
| |
|
| 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 range of segments.
| SegmentRange | a range of Kernel::Segment_2, model of Range. Its iterator type is InputIterator. |
| OutputSegmentIterator | model of OutputIterator holding Kernel::Segment_2 |
| NamedParameters | a sequence of Named Parameters |
| segments | the input segment range |
| out | the output inserter |
| np | an optional sequence of Named Parameters among the ones listed below |
| |
| |
| |
|
| OutputPolygonIterator CGAL::hot_pixel_snap_rounding_2 | ( | 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.
| PolygonRange | a range of CGAL::Polygon_2, model of Range. Its iterator type is InputIterator. |
| OutputPolygonIterator | model of OutputIterator holding CGAL::Polygon_2 |
| NamedParameters | a sequence of Named Parameters |
| polygons | the range of input polygons |
| out | the output inserter |
| np | an optional sequence of Named Parameters among the ones listed below |
| |
| |
| |
|
| OutputPolylineIterator CGAL::snap_rounding_2 | ( | const SegmentRange & | segments, |
| OutputPolylineIterator | out, | ||
| const NamedParameters & | np = parameters::default_values() |
||
| ) |
#include <CGAL/Snap_rounding_2.h>
subdivides and rounds a range of segments so that they are pairwise disjoint in their interiors.
The output is a range of polylines, where each polyline corresponds to an input segment.
calls the function CGAL::vertical_slab_snap_rounding_2() or CGAL::hot_pixel_snap_rounding_2() depending if geom_traits is model of VerticalSlabSnapRoundingTraits_2 or HotPixelSnapRoundingTraits_2.
| SegmentRange | a range of Kernel::Segment_2, model of Range. Its iterator type is InputIterator. |
| OutputPolylineIterator | model of OutputIterator holding Polyline. Polyline must be a type that provides a push_back(Point_2) function. |
| NamedParameters | a sequence of Named Parameters |
| segments | the input segment range |
| out | the output inserter |
| np | an optional sequence of Named Parameters including the one listed below |
|
| OutputSegmentIterator CGAL::snap_rounding_2 | ( | const SegmentRange & | segments, |
| OutputSegmentIterator | out, | ||
| const NamedParameters & | np = parameters::default_values() |
||
| ) |
#include <CGAL/Snap_rounding_2.h>
subdivides and rounds a range of segments so that they are pairwise disjoint in their interiors.
The output is a range of segments.
calls the function CGAL::vertical_slab_snap_rounding_2() or CGAL::hot_pixel_snap_rounding_2() depending if the parameter geom_traits is model of VerticalSlabSnapRoundingTraits_2 or HotPixelSnapRoundingTraits_2.
| SegmentRange | a range of Kernel::Segment_2, model of Range. Its iterator type is InputIterator. |
| OutputSegmentIterator | model of OutputIterator holding Kernel::Segment_2 |
| NamedParameters | a sequence of Named Parameters |
| segments | the input segment range |
| out | the output inserter |
| np | an optional sequence of Named Parameters including the one listed below |
|
| void CGAL::snap_rounding_2 | ( | InputIterator | begin, |
| InputIterator | end, | ||
| OutputContainer & | output_container, | ||
| typename Traits::NT | pixel_size, | ||
| bool | do_isr = true, |
||
| bool | int_output = true, |
||
| unsigned int | number_of_kd_trees = 1 |
||
| ) |
#include <CGAL/Snap_rounding_2.h>
CGAL::snap_rounding_2() or CGAL::hot_pixel_snap_rounding_2()| Traits | must be a model of HotPixelSnapRoundingTraits_2. |
| InputIterator | must be an iterator with value type Traits::Segment_2. |
| OutputContainer | must be a container with a method push_back(const OutputContainer::value_type& c), where OutputContainer::value_type must be a container with a method push_back(const Traits::Point_2& p) |
| begin,end | The first two parameters denote the iterator range of the input segments. |
| output_container | is a reference to a container of the output polylines. Since a polyline is composed of a sequence of points, a polyline is a container itself. |
| do_isr | The fifth parameter determines whether to apply ISR or SR. |
| pixel_size | The fourth parameter denotes the pixel size w. The plane will be tiled with square pixels of width w such that the origin is the center of a pixel. pixel_size must have a positive value. |
| int_output | If set to true, the output coordinates are expressed in the integer grid (pixel indices). Otherwise, they are given in the input coordinate system. |
| number_of_kd_trees | The seventh parameter is briefly described later on this page; for a detailed description see [3]. |
| OutputPolygonIterator CGAL::snap_rounding_2 | ( | PolygonRange & | polygons, |
| OutputPolygonIterator | out, | ||
| const NamedParameters & | np = parameters::default_values() |
||
| ) |
#include <CGAL/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.
Per default, this function rounds on double precision coordinates using CGAL::vertical_slab_snap_rounding_2(). Other rounding schemes or methods can be used by providing a geom_traits that is model of VerticalSlabSnapRoundingTraits_2 or HotPixelSnapRoundingTraits_2.
| PolygonRange | a range of CGAL::Polygon_2, model of Range. Its iterator type is InputIterator. |
| OutputPolygonIterator | model of OutputIterator holding CGAL::Polygon_2 |
| NamedParameters | a sequence of Named Parameters |
| polygons | the range of input polygons |
| out | the output inserter |
| np | an optional sequence of Named Parameters including the one listed below |
|
| 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 range of polylines, where each polyline corresponds to an input segment.
| SegmentRange | a range of Kernel::Segment_2, model of Range. Its iterator type is InputIterator. |
| OutputPolylineIterator | model of OutputIterator holding Polyline. Polyline must be a type that provides a push_back(Point_2) function. |
| NamedParameters | a sequence of Named Parameters |
| segments | the input segment range |
| out | the output inserter |
| np | an optional sequence of Named Parameters among the ones listed below |
|
| 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 range of segments.
| SegmentRange | a range of Kernel::Segment_2, model of Range. Its iterator type is InputIterator. |
| OutputSegmentIterator | model of OutputIterator holding Kernel::Segment_2 |
| NamedParameters | a sequence of Named Parameters |
| segments | the input segment range |
| out | the output inserter |
| np | an optional sequence of Named Parameters among the ones listed below |
|
| OutputPolygonIterator CGAL::vertical_slab_snap_rounding_2 | ( | 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.
| PolygonRange | a range of CGAL::Polygon_2, model of Range. Its iterator type is InputIterator. |
| OutputPolygonIterator | model of OutputIterator holding CGAL::Polygon_2 |
| NamedParameters | a sequence of Named Parameters |
| polygons | the range of input polygons |
| out | the output inserter |
| np | an optional sequence of Named Parameters among the ones listed below |
|