BWAPI
Public Member Functions | Protected Types | Protected Attributes
Arr_geodesic_arc_on_sphere_3< T_Kernel > Class Template Reference

#include <Arr_geodesic_arc_on_sphere_traits_2.h>

Inheritance diagram for Arr_geodesic_arc_on_sphere_3< T_Kernel >:
Inheritance graph
[legend]
Collaboration diagram for Arr_geodesic_arc_on_sphere_3< T_Kernel >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Arr_geodesic_arc_on_sphere_3 ()
 Arr_geodesic_arc_on_sphere_3 (const Arr_geodesic_arc_on_sphere_3 &other)
 Arr_geodesic_arc_on_sphere_3 (const Arr_extended_direction_3 &src, const Arr_extended_direction_3 &trg, const Direction_3 &normal, bool is_x_monotone, bool is_vertical, bool is_directed_right, bool is_full=false, bool is_degenerate=false, bool is_empty=false)
 Arr_geodesic_arc_on_sphere_3 (const Arr_extended_direction_3 &source, const Arr_extended_direction_3 &target)
 Arr_geodesic_arc_on_sphere_3 (const Arr_extended_direction_3 &source, const Arr_extended_direction_3 &target, const Direction_3 &normal)
 Arr_geodesic_arc_on_sphere_3 (const Direction_3 &normal)
bool is_x_monotone () const
void set_is_x_monotone (bool flag)

Protected Types

typedef T_Kernel Kernel
typedef
Arr_x_monotone_geodesic_arc_on_sphere_3
< Kernel
Base
typedef Base::Plane_3 Plane_3
typedef Base::Direction_3 Direction_3
typedef Base::Direction_2 Direction_2
typedef
CGAL::Arr_extended_direction_3
< Kernel
Arr_extended_direction_3

Protected Attributes

bool m_is_x_monotone

Detailed Description

template<typename T_Kernel>
class Arr_geodesic_arc_on_sphere_3< T_Kernel >

A representation of a general great circular arc embedded on a sphere, used by the Arr_geodesic_arc_on_sphere_traits_2 traits-class An arc is uniqely represented by a plane p, and two endpoints the source s and the target t, which lie in the plane p. The points of the arc are the locus of points visited when moving from the source s toward the target t on the plane p in counterclockwise direction along the circle defined by s and t.


Member Typedef Documentation

template<typename T_Kernel >
typedef CGAL::Arr_extended_direction_3<Kernel> Arr_geodesic_arc_on_sphere_3< T_Kernel >::Arr_extended_direction_3 [protected]
template<typename T_Kernel >
typedef Arr_x_monotone_geodesic_arc_on_sphere_3<Kernel> Arr_geodesic_arc_on_sphere_3< T_Kernel >::Base [protected]
template<typename T_Kernel >
typedef Base::Direction_2 Arr_geodesic_arc_on_sphere_3< T_Kernel >::Direction_2 [protected]
template<typename T_Kernel >
typedef Base::Direction_3 Arr_geodesic_arc_on_sphere_3< T_Kernel >::Direction_3 [protected]
template<typename T_Kernel >
typedef T_Kernel Arr_geodesic_arc_on_sphere_3< T_Kernel >::Kernel [protected]
template<typename T_Kernel >
typedef Base::Plane_3 Arr_geodesic_arc_on_sphere_3< T_Kernel >::Plane_3 [protected]

Constructor & Destructor Documentation

template<typename T_Kernel >
Arr_geodesic_arc_on_sphere_3< T_Kernel >::Arr_geodesic_arc_on_sphere_3 ( ) [inline]

Default constructor - constructs an empty arc

template<typename T_Kernel >
Arr_geodesic_arc_on_sphere_3< T_Kernel >::Arr_geodesic_arc_on_sphere_3 ( const Arr_geodesic_arc_on_sphere_3< T_Kernel > &  other) [inline]

Copy constructor

Parameters:
otherthe other arc
template<typename T_Kernel >
Arr_geodesic_arc_on_sphere_3< T_Kernel >::Arr_geodesic_arc_on_sphere_3 ( const Arr_extended_direction_3 src,
const Arr_extended_direction_3 trg,
const Direction_3 normal,
bool  is_x_monotone,
bool  is_vertical,
bool  is_directed_right,
bool  is_full = false,
bool  is_degenerate = false,
bool  is_empty = false 
) [inline]

Constructor

Parameters:
srcthe source point of the arc
trgthe target point of the arc
normalthe normal to the plane that contains the arc
is_x_monotoneis arc x-monotone ?
is_verticalis the arc vertical ?
is_directed_rightis the arc directed from left to right?
is_fullis the arc a full (great) circle?
is_degenerateis the arc degenerate (single point)?
Precondition:
plane contains the origin
plane contains src
plane contains trg

Here is the call graph for this function:

template<typename T_Kernel >
Arr_geodesic_arc_on_sphere_3< T_Kernel >::Arr_geodesic_arc_on_sphere_3 ( const Arr_extended_direction_3 source,
const Arr_extended_direction_3 target 
) [inline]

Construct a spherical_arc from two endpoint directions. It is assumed that the arc is the one with the smaller angle among the two. 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:
sourcethe source point.
targetthe target point.
Precondition:
the source and target cannot be equal.
the source and target cannot be the opoosite of each other.

Here is the call graph for this function:

template<typename T_Kernel >
Arr_geodesic_arc_on_sphere_3< T_Kernel >::Arr_geodesic_arc_on_sphere_3 ( const Arr_extended_direction_3 source,
const Arr_extended_direction_3 target,
const Direction_3 normal 
) [inline]

Construct a spherical_arc from two endpoint directions contained in a plane.

Parameters:
planethe containing plane.
sourcethe source-point direction.
targetthe target-point direction.
Precondition:
plane contain the origin
Both endpoints lie on the given plane.

Here is the call graph for this function:

template<typename T_Kernel >
Arr_geodesic_arc_on_sphere_3< T_Kernel >::Arr_geodesic_arc_on_sphere_3 ( const Direction_3 normal) [inline]

Construct a full spherical_arc from a plane.

Parameters:
planethe containing plane.

Here is the call graph for this function:


Member Function Documentation

template<typename T_Kernel >
bool Arr_geodesic_arc_on_sphere_3< T_Kernel >::is_x_monotone ( ) const [inline]

Indicates whether the arc is x-monotone

Returns:
true if the arc is x-monotone; false otherwise

Here is the caller graph for this function:

template<typename T_Kernel >
void Arr_geodesic_arc_on_sphere_3< T_Kernel >::set_is_x_monotone ( bool  flag) [inline]

Set the flag that indicates whether the arc is x-monotone

Parameters:
flagindicates whether the arc is x-monotone

Here is the caller graph for this function:


Member Data Documentation

template<typename T_Kernel >
bool Arr_geodesic_arc_on_sphere_3< T_Kernel >::m_is_x_monotone [protected]

Indicates whether the arc is x-monotone


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines