CGAL 6.1 - 2D Regularized Boolean Set-Operations
|
There are several overloaded function templates called Oriented_side()
that compute the relative position of either (i) two polygons or (ii) a point and a polygon. This group of function templates is divided into two subgroups.
Oriented Side of two Polygons
Every function template in the first subgroup accepts two polygons pgn1
and pgn2
. It returns ON_POSITIVE_SIDE
if the two given polygons pgn1
and pgn2
intersect in their interiors, ON_NEGATIVE_SIDE
if pgn1
and pgn2
do not intersect at all, and ON_ORIENTED_BOUNDARY
if pgn1
and pgn2
intersect only in their boundaries.
A function template in this subgroup has one of the two following signatures:
1.1. | Oriented_side oriented_side(const Type1& pgn1, const Type2& pgn2, UsePolylines = Tag_true()); |
1.2. | Oriented_side oriented_side(const Type1& pgn1, const Type2& pgn2); |
2. | Oriented_side oriented_side(const Type1& pgn1, const Type2& pgn2, const GpsTraits& traits); |
Oriented Side of a Point and a Polygon
The functions in the second group accept a point p
and a polygon pgn
. Each function in this group returns ON_POSITIVE_SIDE
if the point p
is in the interior of pgn
, ON_NEGATIVE_SIDE
if p
is in the exterior of pgn
, and ON_ORIENTED_BOUNDARY
if p
is on the boundary of pgn
.
A function in this subgroup has one of the following signatures:
3.1. | Oriented_side oriented_side(const Point_2& p, const Type& pgn, UsePolylines = Tag_true()); |
3.2. | Oriented_side oriented_side(const Point_2& p, const Type& pgn); |
4. | Oriented_side oriented_side(const Point_2& p, const Type& pgn, const GpsTraits& traits); |
UsePolylines | determines whether the boundaries of the input polygons are treated as cyclic sequences of single ( \(x\)-monotone) segments or as cyclic sequences of ( \(x\)-monotone) polylines. If substituted with CGAL::Tag_true , which is the default, the input polygons are converted to general polygons bounded by polylines before the operation is actually performed. If substituted with CGAL::Tag_false , the input polygons are used as is. Refer to Traits Selection for more information. |
Type1
and Type2
of the parameters must be convertible to the types specified in a row in the following table, respectively.Type
must be convertible to either Polygon_2
or Polygon_with_holes_2
.Type
must be convertible to either General_polygon_2
or General_polygon_with_holes_2
.Type
must be convertible to any of the four types above.p | the input point. |
pgn | the input polygon. |
pgn1,pgn2 | the input polygons. |
traits | an optional traits object. |
CGAL::do_intersect()
Functions | |
template<typename Kernel , typename Container > | |
Oriented_side | CGAL::oriented_side (const Polygon_2< Kernel, Container > &pgn1, const Polygon_2< Kernel, Container > &pgn2) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container , typename UsePolylines > | |
Oriented_side | CGAL::oriented_side (const Polygon_2< Kernel, Container > &pgn1, const Polygon_2< Kernel, Container > &pgn2, UsePolylines=Tag_true()) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container > | |
Oriented_side | CGAL::oriented_side (const Polygon_2< Kernel, Container > &pgn1, const Polygon_with_holes_2< Kernel, Container > &pgn2) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container , typename UsePolylines > | |
Oriented_side | CGAL::oriented_side (const Polygon_2< Kernel, Container > &pgn1, const Polygon_with_holes_2< Kernel, Container > &pgn2, UsePolylines=Tag_true()) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container > | |
Oriented_side | CGAL::oriented_side (const Polygon_with_holes_2< Kernel, Container > &pgn1, const Polygon_2< Kernel, Container > &pgn2) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container , typename UsePolylines > | |
Oriented_side | CGAL::oriented_side (const Polygon_with_holes_2< Kernel, Container > &pgn1, const Polygon_2< Kernel, Container > &pgn2, UsePolylines=Tag_true()) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container > | |
Oriented_side | CGAL::oriented_side (const Polygon_with_holes_2< Kernel, Container > &pgn1, const Polygon_with_holes_2< Kernel, Container > &pgn2) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container , typename UsePolylines > | |
Oriented_side | CGAL::oriented_side (const Polygon_with_holes_2< Kernel, Container > &pgn1, const Polygon_with_holes_2< Kernel, Container > &pgn2, UsePolylines=Tag_true()) |
computes the relative position of two polygons. | |
template<typename ArrTraits > | |
Oriented_side | CGAL::oriented_side (const General_polygon_2< ArrTraits > &pgn1, const General_polygon_2< ArrTraits > &pgn2) |
computes the relative position of two polygons. | |
template<typename ArrTraits > | |
Oriented_side | CGAL::oriented_side (const General_polygon_2< ArrTraits > &pgn1, const General_polygon_with_holes_2< General_polygon_2< ArrTraits > > &pgn2) |
computes the relative position of two polygons. | |
template<typename ArrTraits > | |
Oriented_side | CGAL::oriented_side (const General_polygon_with_holes_2< General_polygon_2< ArrTraits > > &pgn1, const General_polygon_2< ArrTraits > &pgn2) |
computes the relative position of two polygons. | |
template<typename Polygon > | |
Oriented_side | CGAL::oriented_side (const General_polygon_with_holes_2< Polygon > &pgn1, const General_polygon_with_holes_2< Polygon > &pgn2) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const Polygon_2< Kernel, Container > &pgn1, const Polygon_2< Kernel, Container > &pgn2, const GpsTraits &traits) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const Polygon_2< Kernel, Container > &pgn1, const Polygon_with_holes_2< Kernel, Container > &pgn2, const GpsTraits &traits) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const Polygon_with_holes_2< Kernel, Container > &pgn1, const Polygon_2< Kernel, Container > &pgn2, const GpsTraits &traits) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const Polygon_with_holes_2< Kernel, Container > &pgn1, const Polygon_with_holes_2< Kernel, Container > &pgn2, const GpsTraits &traits) |
computes the relative position of two polygons. | |
template<typename ArrTraits , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const General_polygon_2< ArrTraits > &pgn1, const General_polygon_2< ArrTraits > &pgn2, const GpsTraits &traits) |
computes the relative position of two polygons. | |
template<typename ArrTraits , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const General_polygon_2< ArrTraits > &pgn1, const General_polygon_with_holes_2< General_polygon_2< ArrTraits > > &pgn2, const GpsTraits &traits) |
computes the relative position of two polygons. | |
template<typename ArrTraits , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const General_polygon_with_holes_2< General_polygon_2< ArrTraits > > &pgn1, const General_polygon_2< ArrTraits > &pgn2, const GpsTraits &traits) |
computes the relative position of two polygons. | |
template<typename Polygon , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const General_polygon_with_holes_2< Polygon > &pgn1, const General_polygon_with_holes_2< Polygon > &pgn2, const GpsTraits &traits) |
computes the relative position of two polygons. | |
template<typename Kernel , typename Container > | |
Oriented_side | CGAL::oriented_side (const Point_2 &p, const Polygon_2< Kernel, Container > &pgn) |
computes the relative position of a point and a polygon. | |
template<typename Kernel , typename Container > | |
Oriented_side | CGAL::oriented_side (const Point_2 &p, const Polygon_with_holes_2< Kernel, Container > &pgn) |
computes the relative position of a point and a polygon. | |
template<typename ArrTraits > | |
Oriented_side | CGAL::oriented_side (const Point_2 &p, const General_polygon_2< ArrTraits > &pgn) |
computes the relative position of a point and a polygon. | |
template<typename Polygon > | |
Oriented_side | CGAL::oriented_side (const Point_2 &p, const General_polygon_with_holes_2< Polygon > &pgn) |
computes the relative position of a point and a polygon. | |
template<typename Kernel , typename Container , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const Point_2 &p, const Polygon_2< Kernel, Container > &pgn, const GpsTraits &traits) |
computes the relative position of a point and a polygon. | |
template<typename Kernel , typename Container , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const Point_2 &p, const Polygon_with_holes_2< Kernel, Container > &pgn, const GpsTraits &traits) |
computes the relative position of a point and a polygon. | |
template<typename ArrTraits , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const Point_2 &p, const General_polygon_2< ArrTraits > &pgn, const GpsTraits &traits) |
computes the relative position of a point and a polygon. | |
template<typename Polygon , typename GpsTraits > | |
Oriented_side | CGAL::oriented_side (const Point_2 &p, const General_polygon_with_holes_2< Polygon > &pgn, const GpsTraits &traits) |
computes the relative position of a point and a polygon. | |
Oriented_side CGAL::oriented_side | ( | const General_polygon_2< ArrTraits > & | pgn1, |
const General_polygon_2< ArrTraits > & | pgn2 | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | 1st the input polygon. |
pgn2 | the 2nd input polygon. |
ArrTraits
must be a model of the concept ArrangementDirectionalXMonotoneTraits_2
. Oriented_side CGAL::oriented_side | ( | const General_polygon_2< ArrTraits > & | pgn1, |
const General_polygon_2< ArrTraits > & | pgn2, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
traits | a traits object. |
ArrTraits
must be a model of the concept ArrangementDirectionalXMonotoneTraits_2
. GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const General_polygon_2< ArrTraits > & | pgn1, |
const General_polygon_with_holes_2< General_polygon_2< ArrTraits > > & | pgn2 | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
ArrTraits
must be a model of the concept ArrangementDirectionalXMonotoneTraits_2
. Oriented_side CGAL::oriented_side | ( | const General_polygon_2< ArrTraits > & | pgn1, |
const General_polygon_with_holes_2< General_polygon_2< ArrTraits > > & | pgn2, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
traits | a traits object. |
ArrTraits
must be a model of the concept ArrangementDirectionalXMonotoneTraits_2
. GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const General_polygon_with_holes_2< General_polygon_2< ArrTraits > > & | pgn1, |
const General_polygon_2< ArrTraits > & | pgn2 | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
ArrTraits
must be a model of the concept ArrangementDirectionalXMonotoneTraits_2
. Oriented_side CGAL::oriented_side | ( | const General_polygon_with_holes_2< General_polygon_2< ArrTraits > > & | pgn1, |
const General_polygon_2< ArrTraits > & | pgn2, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
traits | a traits object. |
ArrTraits
must be a model of the concept ArrangementDirectionalXMonotoneTraits_2
. GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const General_polygon_with_holes_2< Polygon > & | pgn1, |
const General_polygon_with_holes_2< Polygon > & | pgn2 | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
Oriented_side CGAL::oriented_side | ( | const General_polygon_with_holes_2< Polygon > & | pgn1, |
const General_polygon_with_holes_2< Polygon > & | pgn2, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
traits | a traits object. |
GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const Point_2 & | p, |
const General_polygon_2< ArrTraits > & | pgn | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of a point and a polygon.
p | the input point. |
pgn | the input polygon. |
ArrTraits
must be a model of the concept ArrangementDirectionalXMonotoneTraits_2
. Oriented_side CGAL::oriented_side | ( | const Point_2 & | p, |
const General_polygon_2< ArrTraits > & | pgn, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of a point and a polygon.
p | the input point. |
pgn | the input polygon. |
traits | a traits object. |
ArrTraits
must be a model of the concept ArrangementDirectionalXMonotoneTraits_2
. GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const Point_2 & | p, |
const General_polygon_with_holes_2< Polygon > & | pgn | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of a point and a polygon.
p | the input point. |
pgn | the input polygon. |
Oriented_side CGAL::oriented_side | ( | const Point_2 & | p, |
const General_polygon_with_holes_2< Polygon > & | pgn, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of a point and a polygon.
p | the input point. |
pgn | the input polygon. |
traits | a traits object. |
GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const Point_2 & | p, |
const Polygon_2< Kernel, Container > & | pgn | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of a point and a polygon.
p | the input point. |
pgn | the input polygon. |
Oriented_side CGAL::oriented_side | ( | const Point_2 & | p, |
const Polygon_2< Kernel, Container > & | pgn, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of a point and a polygon.
p | the input point. |
pgn | the input polygon. |
traits | a traits object. |
GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const Point_2 & | p, |
const Polygon_with_holes_2< Kernel, Container > & | pgn | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of a point and a polygon.
p | the input point. |
pgn | the input polygon. |
Oriented_side CGAL::oriented_side | ( | const Point_2 & | p, |
const Polygon_with_holes_2< Kernel, Container > & | pgn, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of a point and a polygon.
p | the input point. |
pgn | the input polygon. |
traits | a traits object. |
GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const Polygon_2< Kernel, Container > & | pgn1, |
const Polygon_2< Kernel, Container > & | pgn2 | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
Oriented_side CGAL::oriented_side | ( | const Polygon_2< Kernel, Container > & | pgn1, |
const Polygon_2< Kernel, Container > & | pgn2, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
traits | a traits object. |
GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const Polygon_2< Kernel, Container > & | pgn1, |
const Polygon_2< Kernel, Container > & | pgn2, | ||
UsePolylines | = Tag_true() |
||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
UsePolylines | determines whether the boundaries of pgn1 and pgn2 are treated as cyclic sequences of single ( \(x\)-monotone) segments or as a cyclic sequences of ( \(x\)-monotone) polylines. If substituted with CGAL::Tag_true , which is the default, pgn1 and pgn2 are converted to a general polygons bounded by polylines before the operation is actually performed. Then, the resulting general polygons with holes are converted back to standard polygons with holes. If substituted with CGAL::Tag_false , pgn1 and pgn2 are used as is. Refer to Traits Selection for more information. |
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
Oriented_side CGAL::oriented_side | ( | const Polygon_2< Kernel, Container > & | pgn1, |
const Polygon_with_holes_2< Kernel, Container > & | pgn2 | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
Oriented_side CGAL::oriented_side | ( | const Polygon_2< Kernel, Container > & | pgn1, |
const Polygon_with_holes_2< Kernel, Container > & | pgn2, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
traits | a traits object. |
GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const Polygon_2< Kernel, Container > & | pgn1, |
const Polygon_with_holes_2< Kernel, Container > & | pgn2, | ||
UsePolylines | = Tag_true() |
||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
UsePolylines | determines whether the boundaries of pgn1 and pgn2 are treated as cyclic sequences of single ( \(x\)-monotone) segments or as a cyclic sequences of ( \(x\)-monotone) polylines. If substituted with CGAL::Tag_true , which is the default, pgn1 and pgn2 are converted to a general polygon and a general polygon with holes, respectively, bounded by polylines before the operation is actually performed. Then, the resulting general polygons with holes are converted back to standard polygons with holes. If substituted with CGAL::Tag_false , pgn1 and pgn2 are used as is. Refer to Traits Selection for more information. |
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
Oriented_side CGAL::oriented_side | ( | const Polygon_with_holes_2< Kernel, Container > & | pgn1, |
const Polygon_2< Kernel, Container > & | pgn2 | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
Oriented_side CGAL::oriented_side | ( | const Polygon_with_holes_2< Kernel, Container > & | pgn1, |
const Polygon_2< Kernel, Container > & | pgn2, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
traits | a traits object. |
GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const Polygon_with_holes_2< Kernel, Container > & | pgn1, |
const Polygon_2< Kernel, Container > & | pgn2, | ||
UsePolylines | = Tag_true() |
||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
UsePolylines | determines whether the boundaries of pgn1 and pgn2 are treated as cyclic sequences of single ( \(x\)-monotone) segments or as a cyclic sequences of ( \(x\)-monotone) polylines. If substituted with CGAL::Tag_true , which is the default, pgn1 and pgn2 are converted to a general polygon with holes and a general polygon, respectively, bounded by polylines before the operation is actually performed. Then, the resulting general polygons with holes are converted back to standard polygons with holes. If substituted with CGAL::Tag_false , pgn1 and pgn2 are used as is. Refer to Traits Selection for more information. |
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
Oriented_side CGAL::oriented_side | ( | const Polygon_with_holes_2< Kernel, Container > & | pgn1, |
const Polygon_with_holes_2< Kernel, Container > & | pgn2 | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
Oriented_side CGAL::oriented_side | ( | const Polygon_with_holes_2< Kernel, Container > & | pgn1, |
const Polygon_with_holes_2< Kernel, Container > & | pgn2, | ||
const GpsTraits & | traits | ||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |
traits | a traits object. |
GpsTraits
must be a model of the concept GeneralPolygonSetTraits_2
. Oriented_side CGAL::oriented_side | ( | const Polygon_with_holes_2< Kernel, Container > & | pgn1, |
const Polygon_with_holes_2< Kernel, Container > & | pgn2, | ||
UsePolylines | = Tag_true() |
||
) |
#include <CGAL/Boolean_set_operations_2.h>
computes the relative position of two polygons.
UsePolylines | determines whether the boundaries of pgn1 and pgn2 are treated as cyclic sequences of single ( \(x\)-monotone) segments or as a cyclic sequences of ( \(x\)-monotone) polylines. If substituted with CGAL::Tag_true , which is the default, pgn1 and pgn2 are converted to general polygons with holes, bounded by polylines before the operation is actually performed. Then, the resulting general polygons with holes are converted back to standard polygons with holes. If substituted with CGAL::Tag_false , pgn1 and pgn2 are used as is. Refer to Traits Selection for more information. |
pgn1 | the 1st input polygon. |
pgn2 | the 2nd input polygon. |