Function

CGAL::symmetric_difference

Definition

#include <CGAL/Boolean_set_operations_2.h>

OutputIterator intersection ( Type1 p1, Type2 p2, OutputIterator oi)
Each one of these functions computes the symmetric difference between two given polygons p1 and p2, and inserts the resulting polygons with holes into an output container through the output iterator oi. The value type of the OutputIterator is either Polygon_with_holes_2 or General_polygon_with_holes_2.

Arg 1 typeArg 2 type
Polygon_2Polygon_2
Polygon_2Polygon_with_holes_2
Polygon_with_holes_2Polygon_2
Polygon_with_holes_2Polygon_with_holes_2
General_polygon_2General_polygon_2
General_polygon_2General_polygon_with_holes_2
General_polygon_with_holes_2General_polygon_2
General_polygon_with_holes_2General_polygon_with_holes_2

template <class Kernel, class Container, class OutputIterator>
OutputIterator
symmetric_difference ( Polygon_2<Kernel, Container> p1,
Polygon_2<Kernel, Container> p2,
OutputIterator oi)
template <class Kernel, class Container, class OutputIterator>
OutputIterator
symmetric_difference ( Polygon_2<Kernel, Container> p1,
Polygon_with_holes_2<Kernel, Container> p2,
OutputIterator oi)
template <class Kernel, class Container, class OutputIterator>
OutputIterator
symmetric_difference ( Polygon_with_holes_2<Kernel, Container> p1,
Polygon_2<Kernel, Container> p2,
OutputIterator oi)
template <class Kernel, class Container, class OutputIterator>
OutputIterator
symmetric_difference ( Polygon_with_holes_2<Kernel, Container> p1,
Polygon_with_holes_2<Kernel, Container> p2,
OutputIterator oi)
template <class Traits, class OutputIterator>
OutputIterator
symmetric_difference ( General_polygon_2<Traits> p1,
General_polygon_2<Traits> p2,
OutputIterator oi)
template <class Traits, class OutputIterator>
OutputIterator
symmetric_difference ( General_polygon_with_holes_2<General_polygon_2<Traits> > p1,
General_polygon_2<Traits> p2,
OutputIterator oi)
template <class Traits, class OutputIterator>
OutputIterator
symmetric_difference ( General_polygon_2<Traits> p1,
General_polygon_with_holes_2<General_polygon_2<Traits> > p2,
OutputIterator oi)
template <class Polygon, class OutputIterator>
OutputIterator
symmetric_difference ( General_polygon_with_holes_2<Polygon> p1,
General_polygon_with_holes_2<Polygon> p2,
OutputIterator oi)

template <class InputIterator, class OutputIterator>
OutputIterator symmetric_difference ( InputIterator begin, InputIterator end, OutputIterator oi)
Computes the symmetric difference of the general polygons (or general polygons with holes) in the given range. A point is contained in the symmetric difference, if and only if it is contained in odd number of input polygons. (The value type of the input iterator is used to distinguish between the two.) The result, represented by a set of general polygon with holes, is inserted into an output container through a given output iterator oi. The output iterator is returned. The value type of the OutputIterator is Traits::Polygon_with_holes_2.

template <class InputIterator1, class InputIterator2, class OutputIterator>
OutputIterator
symmetric_difference ( InputIterator1 pgn_begin1,
InputIterator1 pgn_end1,
InputIterator2 pgn_begin2,
InputIterator2 pgn_end2,
OutputIterator oi)
Computes the union of the general polygons and general polygons with holes in the given two ranges. A point is contained in the symmetric difference, if and only if it is contained in odd number of input polygons. The result, represented by a set of general polygon with holes, is inserted into an output container through a given output iterator oi. The output iterator is returned. The value type of the OutputIterator is Traits::Polygon_with_holes_2.

See Also

CGAL::do_intersect
CGAL::intersection
CGAL::join
CGAL::difference