CGAL 5.2 - 2D Arrangements
CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::Construct_x_monotone_curve_2 Class Reference

#include <CGAL/Arr_geodesic_arc_on_sphere_traits_2.h>

Definition

template<typename Kernel, typename X, typename Y>
class CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::Construct_x_monotone_curve_2

Construction functor of \(x\)-monotone geodesic arcs.

Is Model Of:

Assignable

CopyConstructible

AdaptableUnaryFunction

AdaptableBinaryFunction

AdaptableTernaryFunction

Types

typedef Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::Point_2 Point_2
 
typedef Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::X_monotone_curve_2 result_type
 
typedef Kernel::Direction_3 Direction_3
 
typedef Direction_3 argument_type
 
typedef Point_2 first_argument_type
 
typedef Point_2 second_argument_type
 
typedef Direction_3 third_argument_type
 

Operations

X_monotone_curve_2 operator() (const Point_2 &p, const Point_2 &q)
 Construct the minor geodesic arc from two endpoints. More...
 
X_monotone_curve_2 operator() (const Direction_3 &normal)
 Construct a full great circle from a normal to a plane. More...
 
X_monotone_curve_2 operator() (const Point_2 &p, const Point_2 &q, const Direction_3 &normal)
 Construct a geodesic arc from two endpoints contained in a plane. More...
 

Member Function Documentation

◆ operator()() [1/3]

template<typename Kernel , typename X , typename Y >
X_monotone_curve_2 CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::Construct_x_monotone_curve_2::operator() ( const Point_2 p,
const Point_2 q 
)

Construct the minor geodesic arc from two endpoints.

The minor arc is the one with the smaller angle among the two geodesic arcs with the given endpoints.

  1. Find out whether the arc is x-monotone.
  2. If it is x-monotone, 2.1 Find out whether it is vertical, and 2.2 whether the target is larger than the source (directed right). The arc is vertical, iff
  1. one of its endpoint direction pierces a pole, or
  2. the projections onto the xy-plane coincide.
    Parameters
    [in]pthe first endpoint.
    [in]qthe second endpoint.
    Precondition
    p and q must not coincide.
    p and q cannot be antipodal.

◆ operator()() [2/3]

template<typename Kernel , typename X , typename Y >
X_monotone_curve_2 CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::Construct_x_monotone_curve_2::operator() ( const Direction_3 normal)

Construct a full great circle from a normal to a plane.

Parameters
normalthe normal to the plane containing the great circle.
Precondition
the plane is not vertical.

◆ operator()() [3/3]

template<typename Kernel , typename X , typename Y >
X_monotone_curve_2 CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::Construct_x_monotone_curve_2::operator() ( const Point_2 p,
const Point_2 q,
const Direction_3 normal 
)

Construct a geodesic arc from two endpoints contained in a plane.

Parameters
[in]pthe first endpoint.
[in]qthe second endpoint.
[in]normalthe normal to the plane containing the arc.
Precondition
Both endpoint lie on the given plane.
Both endpoint lie on the given plane.