CGAL 5.4 - 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);
Template Parameters
UsePolylinesdetermines 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 Type2
1Polygon_2 Polygon_2
2Polygon_2 Polygon_with_holes_2
3Polygon_with_holes_2 Polygon_2
4Polygon_with_holes_2 Polygon_with_holes_2
5General_polygon_2 General_polygon_2
6General_polygon_2 General_polygon_with_holes_2
7General_polygon_with_holes_2General_polygon_2
8General_polygon_with_holes_2General_polygon_with_holes_2
Parameters
pthe input point.
pgnthe input polygon.
pgn1,pgn2the input polygons.
traitsan optional traits object.
See also
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Function Documentation

◆ oriented_side() [1/28]

template<typename Kernel , typename Container >
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.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.

◆ oriented_side() [2/28]

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() 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Template Parameters
UsePolylinesdetermines 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.
Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.

◆ oriented_side() [3/28]

template<typename Kernel , typename Container >
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.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.

◆ oriented_side() [4/28]

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() 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Template Parameters
UsePolylinesdetermines 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.
Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.

◆ oriented_side() [5/28]

template<typename Kernel , typename Container >
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.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.

◆ oriented_side() [6/28]

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() 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Template Parameters
UsePolylinesdetermines 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.
Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.

◆ oriented_side() [7/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.

◆ oriented_side() [8/28]

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() 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Template Parameters
UsePolylinesdetermines 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.
Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.

◆ oriented_side() [9/28]

template<typename ArrTraits >
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.

Parameters
pgn11st the input polygon.
pgn2the 2nd input polygon.
Precondition
ArrTraits must be a model of the concept ArrangementDirectionalXMonotoneTraits_2.

◆ oriented_side() [10/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.
Precondition
ArrTraits must be a model of the concept ArrangementDirectionalXMonotoneTraits_2.

◆ oriented_side() [11/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.
Precondition
ArrTraits must be a model of the concept ArrangementDirectionalXMonotoneTraits_2.

◆ oriented_side() [12/28]

template<typename Polygon >
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.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.

◆ oriented_side() [13/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.
traitsa traits object.
Precondition
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [14/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.
traitsa traits object.
Precondition
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [15/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.
traitsa traits object.
Precondition
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [16/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.
traitsa traits object.
Precondition
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [17/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.
traitsa traits object.
Precondition
ArrTraits must be a model of the concept ArrangementDirectionalXMonotoneTraits_2.
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [18/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.
traitsa traits object.
Precondition
ArrTraits must be a model of the concept ArrangementDirectionalXMonotoneTraits_2.
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [19/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.
traitsa traits object.
Precondition
ArrTraits must be a model of the concept ArrangementDirectionalXMonotoneTraits_2.
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [20/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of two polygons.

Parameters
pgn1the 1st input polygon.
pgn2the 2nd input polygon.
traitsa traits object.
Precondition
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [21/28]

template<typename Kernel , typename Container >
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.

Parameters
pthe input point.
pgnthe input polygon.

◆ oriented_side() [22/28]

template<typename Kernel , typename Container >
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.

Parameters
pthe input point.
pgnthe input polygon.

◆ oriented_side() [23/28]

template<typename ArrTraits >
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.

Parameters
pthe input point.
pgnthe input polygon.
Precondition
ArrTraits must be a model of the concept ArrangementDirectionalXMonotoneTraits_2.

◆ oriented_side() [24/28]

template<typename Polygon >
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.

Parameters
pthe input point.
pgnthe input polygon.

◆ oriented_side() [25/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of a point and a polygon.

Parameters
pthe input point.
pgnthe input polygon.
traitsa traits object.
Precondition
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [26/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of a point and a polygon.

Parameters
pthe input point.
pgnthe input polygon.
traitsa traits object.
Precondition
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [27/28]

template<typename ArrTraits , typename GpsTraits >
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.

Parameters
pthe input point.
pgnthe input polygon.
traitsa traits object.
Precondition
ArrTraits must be a model of the concept ArrangementDirectionalXMonotoneTraits_2.
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.

◆ oriented_side() [28/28]

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 
)

#include <CGAL/Boolean_set_operations_2.h>

computes the relative position of a point and a polygon.

Parameters
pthe input point.
pgnthe input polygon.
traitsa traits object.
Precondition
GpsTraits must be a model of the concept GeneralPolygonSetTraits_2.