CGAL 6.0 - 2D Arrangements
Loading...
Searching...
No Matches
CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::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 >::X_monotone_curve_2

The X_monotone_curve_2 class nested within the traits is used to represent an \(x\)-monotone geodesic arc on the a sphere centered at the origin.

The pre-image of an \(x\)-monotone geodesic arc does not intersect the identified left and right sides of the boundary of the parameter space.

Is model of
Assignable
DefaultConstructible
CopyConstructible

Types

typedef Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::Point_2 Point_2
 

Creation

 X_monotone_curve_2 (const Point_2 &source, const Point_2 &target, const Direction_3 &normal, bool is_vertical, bool is_directed_right, bool is_full=false, bool is_degenerate=false, bool is_empty=false)
 Constructs an \(x\)-monotone geodesic arc.
 
 X_monotone_curve_2 (const Point_2 &source, const Point_2 &target, const Direction_3 &normal)
 Construct an \(x\)-monotone geodesic arc.
 
 X_monotone_curve_2 (const Point_2 &point, const Direction_3 &normal)
 Construct a full great-circle.
 

Operations

void set_source (const Point_2 &source)
 Sets the source endpoint.
 
void set_target (const Point_2 &target)
 Sets the target endpoint.
 
void set_normal (const Direction_3 &normal)
 Sets the normal of the underlying plane.
 
void set_is_vertical (bool flag)
 Sets the flag that indicates whether the arc is vertical.
 
void set_is_directed_right (bool flag)
 Sets the flag that indicates whether the direction of the arc pre-image in the parameter space is from left to right.
 
void set_is_full (bool flag)
 Sets the flag that indicates whether the arc is a full great circle.
 
void set_is_degenerate (bool flag)
 Sets the flag that indicates whether the arc degenerates to a point.
 
void set_is_empty (bool flag)
 Sets the flag that indicates whether the arc is empty.
 
const Point_2source () const
 Obtains the source point.
 
const Point_2target () const
 Obtains the target point.
 
const Direction_3normal () const
 Obtains the normal to the containing plane.
 
const Point_2left () const
 Obtains the (lexicographically) left endpoint direction.
 
const Point_2right () const
 Obtains the (lexicographically) right endpoint.
 
bool is_vertical () const
 Determines whether the arc is vertical.
 
bool is_directed_right () const
 Determines whether the arc is directed lexicographically from left to right.
 
bool is_full () const
 Determines whether the arc is a great circle.
 
bool is_degenerate () const
 Determines whether the arc is degenerate.
 
bool is_empty () const
 Determines whether the arc is empty.
 
bool is_meridian () const
 Determines whether the arc is a meridian.
 

Constructor & Destructor Documentation

◆ X_monotone_curve_2() [1/3]

template<typename Kernel , typename X , typename Y >
CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::X_monotone_curve_2::X_monotone_curve_2 ( const Point_2 source,
const Point_2 target,
const Direction_3 normal,
bool  is_vertical,
bool  is_directed_right,
bool  is_full = false,
bool  is_degenerate = false,
bool  is_empty = false 
)

Constructs an \(x\)-monotone geodesic arc.

Parameters
[in]sourcethe source point of the arc.
[in]targetthe target point of the arc.
[in]normalthe normal of the plane that contains the arc.
[in]is_verticalis the arc vertical ?
[in]is_directed_rightis the arc directed from left to right?
[in]is_fullis the arc a full great circle?
[in]is_degenerateis the arc degenerate (single point)?
[in]is_emptyis the arc empty?
Precondition
Both endpoints lie on the given plane.

◆ X_monotone_curve_2() [2/3]

template<typename Kernel , typename X , typename Y >
CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::X_monotone_curve_2::X_monotone_curve_2 ( const Point_2 source,
const Point_2 target,
const Direction_3 normal 
)

Construct an \(x\)-monotone geodesic arc.

Parameters
[in]normalthe normal of the plane containing the arc.
[in]sourcethe source-point direction.
[in]targetthe target-point direction.
Precondition
Both endpoints lie on the given plane.

◆ X_monotone_curve_2() [3/3]

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

Construct a full great-circle.

Parameters
[in]pointthe endpoint of the full great-circle.
[in]normalthe normal of the plane containing the arc.
Precondition
the point lies on the given plane.
the point pre-image lies on the identified left and right sides of the boundary of the parameter space.

Member Function Documentation

◆ set_is_degenerate()

template<typename Kernel , typename X , typename Y >
void CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::X_monotone_curve_2::set_is_degenerate ( bool  flag)

Sets the flag that indicates whether the arc degenerates to a point.

Parameters
[in]flagindicates whether the arc degenerates to a point.

◆ set_is_directed_right()

template<typename Kernel , typename X , typename Y >
void CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::X_monotone_curve_2::set_is_directed_right ( bool  flag)

Sets the flag that indicates whether the direction of the arc pre-image in the parameter space is from left to right.

Parameters
flagindicates whether the arc pre-image in the parameter space is from left to right.

◆ set_is_empty()

template<typename Kernel , typename X , typename Y >
void CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::X_monotone_curve_2::set_is_empty ( bool  flag)

Sets the flag that indicates whether the arc is empty.

Parameters
[in]flagindicates whether the arc is empty.

◆ set_is_full()

template<typename Kernel , typename X , typename Y >
void CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::X_monotone_curve_2::set_is_full ( bool  flag)

Sets the flag that indicates whether the arc is a full great circle.

Parameters
[in]flagindicates whether the arc is a full great circle.

◆ set_is_vertical()

template<typename Kernel , typename X , typename Y >
void CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::X_monotone_curve_2::set_is_vertical ( bool  flag)

Sets the flag that indicates whether the arc is vertical.

Parameters
[in]flagindicates whether the arc pre-image in the parameter space is vertical.

◆ set_normal()

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

Sets the normal of the underlying plane.

Parameters
[in]normalthe updated normal of the underlying plane.

◆ set_source()

template<typename Kernel , typename X , typename Y >
void CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::X_monotone_curve_2::set_source ( const Point_2 source)

Sets the source endpoint.

Parameters
[in]sourcethe updated source endpoint.

◆ set_target()

template<typename Kernel , typename X , typename Y >
void CGAL::Arr_geodesic_arc_on_sphere_traits_2< Kernel, X, Y >::X_monotone_curve_2::set_target ( const Point_2 target)

Sets the target endpoint.

Parameters
[in]targetthe updated target endpoint.