CGAL 5.6 - 2D Arrangements

Functions

template<typename GeometryTraits , typename TopologyTraits , typename PointLocation >
Arrangement_on_surface_with_history_2< GeometryTraits, TopologyTraits >::Curve_handle CGAL::insert (Arrangement_on_surface_with_history_2< GeometryTraits, TopologyTraits > &arr, const typename Traits::Curve_2 &c, const PointLocation &pl=walk_pl)
 Inserts the given curve c into the arrangement with history arr, and returns a handle to the inserted curve. More...
 
template<typename GeometryTraits , typename TopologyTraits , typename InputIterator >
void CGAL::insert (Arrangement_on_surface_with_history_2< GeometryTraits, TopologyTraits > &arr, InputIterator first, InputIterator last)
 Aggregately inserts the curves in the range [first,last) into the arrangement with history arr using the sweep-line framework. More...
 
template<typename Traits , typename Dcel , typename PointLocation >
Arrangement_with_history_2< Traits, Dcel >::Curve_handle CGAL::insert (Arrangement_with_history_2< Traits, Dcel > &arr, const typename Traits::Curve_2 &c, const PointLocation &pl=walk_pl)
 Inserts the given curve c into the arrangement with history arr, and returns a handle to the inserted curve. More...
 
template<typename Traits , typename Dcel , typename InputIterator >
void CGAL::insert (Arrangement_with_history_2< Traits, Dcel > &arr, InputIterator first, InputIterator last)
 Aggregately inserts the curves in the range [first,last) into the arrangement with history arr using the sweep-line framework. More...
 
template<typename Traits , typename Dcel , typename Curve , typename PointLocation >
void CGAL::insert (Arrangement_2< Traits, Dcel > &arr, const Curve &c, const PointLocation &pl=walk_pl)
 % inserts one or more curves or \( x\)-monotone curves into a given arrangement, where no restrictions are imposed on the inserted curves. More...
 
template<typename Traits , typename Dcel >
void CGAL::insert (Arrangement_2< Traits, Dcel > &arr, const typename Traits::X_monotone_curve_2 &xc, typename Arr_point_location_result< Arrangement_2< Traits, Dcel > >::type obj)
 Inserts the \( x\)-monotone (only) curve xc into the arrangement arr. More...
 
template<typename Traits , typename Dcel , class InputIterator >
void CGAL::insert (Arrangement_2< Traits, Dcel > &arr, InputIterator first, InputIterator last)
 Aggregately inserts the curves or \( x\)-monotone curves in the range [first,last) into the arrangement arr using the sweep-line framework. More...
 
template<typename GeometryTraits , typename TopologyTraits , typename Curve , typename PointLocation >
void CGAL::insert (Arrangement_on_surface_2< GeometryTraits, TopologyTraits > &arr, const Curve &c, const PointLocation &pl=walk_pl)
 The function insert inserts one or more curves or \( x\)-monotone curves into a given arrangement, where no restrictions are imposed on the inserted curves. More...
 
template<typename GeometryTraits , typename TopologyTraits >
void CGAL::insert (Arrangement_on_surface_2< GeometryTraits, TopologyTraits > &arr, const typename Traits::X_monotone_curve_2 &xc, typename Arr_point_location_result< Arrangement_on_surface_2< GeometryTraits, TopologyTraits > >::type obj)
 Inserts the \( x\)-monotone (only) curve xc into the arrangement arr. More...
 
template<typename GeometryTraits , typename TopologyTraits , typename InputIterator >
void CGAL::insert (Arrangement_on_surface_2< GeometryTraits, TopologyTraits > &arr, InputIterator first, InputIterator last)
 Aggregately inserts the curves or \( x\)-monotone curves in the range [first,last) into the arrangement arr using the sweep-line framework. More...
 

Function Documentation

◆ insert() [1/10]

template<typename Traits , typename Dcel , typename PointLocation >
Arrangement_with_history_2<Traits, Dcel>::Curve_handle CGAL::insert ( Arrangement_with_history_2< Traits, Dcel > &  arr,
const typename Traits::Curve_2 &  c,
const PointLocation &  pl = walk_pl 
)

#include <CGAL/Arrangement_with_history_2.h>

Inserts the given curve c into the arrangement with history arr, and returns a handle to the inserted curve.

c is subdivided into \( x\)-monotone subcurves (and perhaps isolated points). Each subcurve is in turn inserted into the arrangement by locating its left endpoint and computing its zone until reaching the right endpoint.

The given point-location object pl is used to locate the left endpoints of the \( x\)-monotone curves. By default, the function uses the "walk along line" point-location strategy - namely an instance of the class Arr_walk_along_line_point_location<Arrangement_2<Traits,Dcel> >.

Precondition
If provided, pl is attached to the given arrangement arr.

◆ insert() [2/10]

template<typename Traits , typename Dcel , typename InputIterator >
void CGAL::insert ( Arrangement_with_history_2< Traits, Dcel > &  arr,
InputIterator  first,
InputIterator  last 
)

#include <CGAL/Arrangement_with_history_2.h>

Aggregately inserts the curves in the range [first,last) into the arrangement with history arr using the sweep-line framework.

Parameters
arrthe target arrangement with history.
firstthe iterator to the first element in the range of curves.
lastthe past-the-end iterator of the range of curves.

◆ insert() [3/10]

template<typename Traits , typename Dcel , typename Curve , typename PointLocation >
void CGAL::insert ( Arrangement_2< Traits, Dcel > &  arr,
const Curve &  c,
const PointLocation &  pl = walk_pl 
)

#include <CGAL/Arrangement_2.h>

% inserts one or more curves or \( x\)-monotone curves into a given arrangement, where no restrictions are imposed on the inserted curves.

If an inserted curve is not \( x\)-monotone curve, it is subdivided into \( x\)-monotone subcurves (and perhaps isolated points), which are inserted into the arrangement.

Requirements

  • If the curve is \( x\)-monotone curve then The instantiated Traits class must model the ArrangementXMonotoneTraits_2 concept. In case that the curve is not \( x\)-monotone then the instantiated Traits class must model the ArrangementTraits_2 concept. That is, it should define the Curve_2 type, and support its subdivision into \( x\)-monotone subcurves (and perhaps isolated points).
  • The point-location object pl, must model the ArrangementPointLocation_2 concept.

Inserts the given curve c into the arrangement arr. c is subdivided into \( x\)-monotone subcurves (and perhaps isolated points). Each subcurve is in turn inserted into the arrangement by locating its left endpoint and computing its zone until reaching the right endpoint.

The given point-location object pl is used to locate the left endpoints of the \( x\)-monotone curves. By default, the function uses the "walk along line" point-location strategy - namely an instance of the class Arr_walk_along_line_point_location<Arrangement_2<Traits,Dcel> >.

Precondition
If provided, pl must be attached to the given arrangement arr.
Examples:
Arrangement_on_surface_2/aggregated_insertion.cpp, Arrangement_on_surface_2/algebraic_curves.cpp, Arrangement_on_surface_2/algebraic_segments.cpp, Arrangement_on_surface_2/Bezier_curves.cpp, Arrangement_on_surface_2/bgl_dual_adapter.cpp, Arrangement_on_surface_2/bgl_primal_adapter.cpp, Arrangement_on_surface_2/bounded_vertical_decomposition.cpp, Arrangement_on_surface_2/circles.cpp, Arrangement_on_surface_2/circular_arcs.cpp, Arrangement_on_surface_2/conic_multiplicities.cpp, Arrangement_on_surface_2/conics.cpp, Arrangement_on_surface_2/consolidated_curve_data.cpp, Arrangement_on_surface_2/curve_history.cpp, Arrangement_on_surface_2/dcel_extension.cpp, Arrangement_on_surface_2/dcel_extension_io.cpp, Arrangement_on_surface_2/draw_arr.cpp, Arrangement_on_surface_2/dual_lines.cpp, Arrangement_on_surface_2/dual_with_data.cpp, Arrangement_on_surface_2/edge_manipulation_curve_history.cpp, Arrangement_on_surface_2/ellipses.cpp, Arrangement_on_surface_2/face_extension.cpp, Arrangement_on_surface_2/generic_curve_data.cpp, Arrangement_on_surface_2/global_insertion.cpp, Arrangement_on_surface_2/global_removal.cpp, Arrangement_on_surface_2/hyperbolas.cpp, Arrangement_on_surface_2/incremental_insertion.cpp, Arrangement_on_surface_2/io_curve_history.cpp, Arrangement_on_surface_2/linear_conics.cpp, Arrangement_on_surface_2/observer.cpp, Arrangement_on_surface_2/overlay_color.cpp, Arrangement_on_surface_2/overlay_unbounded.cpp, Arrangement_on_surface_2/parabolas.cpp, Arrangement_on_surface_2/polylines.cpp, Arrangement_on_surface_2/predefined_kernel.cpp, Arrangement_on_surface_2/rational_functions.cpp, Arrangement_on_surface_2/spherical_insert.cpp, and Arrangement_on_surface_2/unbounded_rational_functions.cpp.

◆ insert() [4/10]

template<typename Traits , typename Dcel >
void CGAL::insert ( Arrangement_2< Traits, Dcel > &  arr,
const typename Traits::X_monotone_curve_2 &  xc,
typename Arr_point_location_result< Arrangement_2< Traits, Dcel > >::type  obj 
)

#include <CGAL/Arrangement_2.h>

Inserts the \( x\)-monotone (only) curve xc into the arrangement arr.

The object obj, which wraps a Vertex_const_handle, a Halfedge_const_handle, or a Face_const_handle, represents the location of xc's left endpoint in the arrangement. The zone of xc is computed starting from the feature represented by obj. As in the case above, the zone computation terminates, when the right endpoint is reached. Thus, point-location is not required.

◆ insert() [5/10]

template<typename Traits , typename Dcel , class InputIterator >
void CGAL::insert ( Arrangement_2< Traits, Dcel > &  arr,
InputIterator  first,
InputIterator  last 
)

#include <CGAL/Arrangement_2.h>

Aggregately inserts the curves or \( x\)-monotone curves in the range [first,last) into the arrangement arr using the sweep-line framework.

Parameters
arrthe target arrangement.
firstthe iterator to the first element in the range of curves.
lastthe past-the-end iterator of the range of curves.

◆ insert() [6/10]

template<typename GeometryTraits , typename TopologyTraits , typename PointLocation >
Arrangement_on_surface_with_history_2<GeometryTraits, TopologyTraits>::Curve_handle CGAL::insert ( Arrangement_on_surface_with_history_2< GeometryTraits, TopologyTraits > &  arr,
const typename Traits::Curve_2 &  c,
const PointLocation &  pl = walk_pl 
)

#include <CGAL/Arrangement_on_surface_with_history_2.h>

Inserts the given curve c into the arrangement with history arr, and returns a handle to the inserted curve.

c is subdivided into \( x\)-monotone subcurves (and perhaps isolated points). Each subcurve is in turn inserted into the arrangement by locating its left endpoint and computing its zone until reaching the right endpoint.

The given point-location object pl is used to locate the left endpoints of the \( x\)-monotone curves. By default, the function uses the "walk along line" point-location strategy - namely an instance of the class Arr_walk_along_line_point_location<Arrangement_2<Traits,Dcel> >.

Precondition
If provided, pl is attached to the given arrangement arr.

◆ insert() [7/10]

template<typename GeometryTraits , typename TopologyTraits , typename InputIterator >
void CGAL::insert ( Arrangement_on_surface_with_history_2< GeometryTraits, TopologyTraits > &  arr,
InputIterator  first,
InputIterator  last 
)

#include <CGAL/Arrangement_on_surface_with_history_2.h>

Aggregately inserts the curves in the range [first,last) into the arrangement with history arr using the sweep-line framework.

Parameters
arrthe target arrangement with history.
firstthe iterator to the first element in the range of curves.
lastthe past-the-end iterator of the range of curves.

◆ insert() [8/10]

template<typename GeometryTraits , typename TopologyTraits , typename Curve , typename PointLocation >
void CGAL::insert ( Arrangement_on_surface_2< GeometryTraits, TopologyTraits > &  arr,
const Curve &  c,
const PointLocation &  pl = walk_pl 
)

#include <CGAL/Arrangement_on_surface_2.h>

The function insert inserts one or more curves or \( x\)-monotone curves into a given arrangement, where no restrictions are imposed on the inserted curves.

If an inserted curve is not \( x\)-monotone curve, it is subdivided into \( x\)-monotone subcurves (and perhaps isolated points), which are inserted into the arrangement.

Requirements

  • If the curve is \( x\)-monotone curve then The instantiated Traits class must model the ArrangementXMonotoneTraits_2 concept. In case that the curve is not \( x\)-monotone then the instantiated Traits class must model the ArrangementTraits_2 concept. That is, it should define the Curve_2 type, and support its subdivision into \( x\)-monotone subcurves (and perhaps isolated points).
  • The point-location object pl, must model the ArrangementPointLocation_2 concept.

Inserts the given curve c into the arrangement arr. c is subdivided into \( x\)-monotone subcurves (and perhaps isolated points). Each subcurve is in turn inserted into the arrangement by locating its left endpoint and computing its zone until reaching the right endpoint.

The given point-location object pl is used to locate the left endpoints of the \( x\)-monotone curves. By default, the function uses the "walk along line" point-location strategy - namely an instance of the class Arr_walk_along_line_point_location<Arrangement_on_surface_2<GeometryTraits, TopologyTraits> >.

Precondition
If provided, pl must be attached to the given arrangement arr.

◆ insert() [9/10]

template<typename GeometryTraits , typename TopologyTraits >
void CGAL::insert ( Arrangement_on_surface_2< GeometryTraits, TopologyTraits > &  arr,
const typename Traits::X_monotone_curve_2 &  xc,
typename Arr_point_location_result< Arrangement_on_surface_2< GeometryTraits, TopologyTraits > >::type  obj 
)

#include <CGAL/Arrangement_on_surface_2.h>

Inserts the \( x\)-monotone (only) curve xc into the arrangement arr.

The object obj, which wraps a Vertex_const_handle, a Halfedge_const_handle, or a Face_const_handle, represents the location of xc's left endpoint in the arrangement. The zone of xc is computed starting from the feature represented by obj. As in the case above, the zone computation terminates, when the right endpoint is reached. Thus, point-location is not required.

◆ insert() [10/10]

template<typename GeometryTraits , typename TopologyTraits , typename InputIterator >
void CGAL::insert ( Arrangement_on_surface_2< GeometryTraits, TopologyTraits > &  arr,
InputIterator  first,
InputIterator  last 
)

#include <CGAL/Arrangement_on_surface_2.h>

Aggregately inserts the curves or \( x\)-monotone curves in the range [first,last) into the arrangement arr using the sweep-line framework.

Parameters
arrthe target arrangement.
firstthe iterator to the first element in the range of curves.
lastthe past-the-end iterator of the range of curves.