mirror of https://github.com/CGAL/cgal
global functions in a single file
This commit is contained in:
parent
1b0405a85b
commit
a379bd57d4
|
|
@ -1287,6 +1287,7 @@ Circular_kernel_2/doc_tex/Circular_kernel_2_ref/global_functions.tex -text
|
|||
Circular_kernel_2/examples/Circular_kernel_2/functor_has_on_2.cpp -text
|
||||
Circular_kernel_2/include/CGAL/Circular_kernel_intersections.h -text
|
||||
Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/interface_macros.h -text
|
||||
Circular_kernel_2/include/CGAL/global_functions_circular_kernel_2.h -text
|
||||
Circular_kernel_3/changes -text
|
||||
Circular_kernel_3/demo/Circular_kernel_3/images/button_axis.gif -text svneol=unset#image/gif
|
||||
Circular_kernel_3/demo/Circular_kernel_3/images/button_light.gif -text svneol=unset#image/gif
|
||||
|
|
|
|||
|
|
@ -0,0 +1,240 @@
|
|||
// Copyright (c) 2003-2008 INRIA Sophia-Antipolis (France).
|
||||
// All rights reserved.
|
||||
//
|
||||
// This file is part of CGAL (www.cgal.org); you may redistribute it under
|
||||
// the terms of the Q Public License version 1.0.
|
||||
// See the file LICENSE.QPL distributed with CGAL.
|
||||
//
|
||||
// Licensees holding a valid commercial license may use this file in
|
||||
// accordance with the commercial license agreement provided with the software.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// $URL: svn+ssh://pmachado@scm.gforge.inria.fr/svn/cgal/trunk/Circular_kernel_2/include/CGAL/global_functions_on_line_arcs_2.h $
|
||||
// $Id: global_functions_on_line_arcs_2.h 45945 2008-10-01 12:25:23Z pmachado $
|
||||
//
|
||||
// Author(s) : Monique Teillaud, Sylvain Pion, Julien Hazebrouck, Pedro Machado
|
||||
|
||||
// Partially supported by the IST Programme of the EU as a Shared-cost
|
||||
// RTD (FET Open) Project under Contract No IST-2000-26473
|
||||
// (ECG - Effective Computational Geometry for Curves and Surfaces)
|
||||
// and a STREP (FET Open) Project under Contract No IST-006413
|
||||
// (ACS -- Algorithms for Complex Shapes)
|
||||
|
||||
|
||||
#ifndef CGAL_CIRCULAR_KERNEL_GLOBAL_FUNCTIONS_CIRCULAR_KERNEL_2_H
|
||||
#define CGAL_CIRCULAR_KERNEL_GLOBAL_FUNCTIONS_CIRCULAR_KERNEL_2_H
|
||||
|
||||
// global functions
|
||||
|
||||
#include <CGAL/Circular_arc_2.h>
|
||||
#include <CGAL/Circular_arc_point_2.h>
|
||||
#include <CGAL/Line_arc_2.h>
|
||||
#include <CGAL/Circular_kernel_2/internal_functions_on_circle_2.h>
|
||||
|
||||
CGAL_BEGIN_NAMESPACE
|
||||
|
||||
template <class CK>
|
||||
Circular_arc_point_2<CK>
|
||||
x_extremal_point(const Circle_2<CK> & c, bool i)
|
||||
{
|
||||
return CircularFunctors::x_extremal_point<CK>(c,i);
|
||||
}
|
||||
|
||||
template <class CK, class OutputIterator>
|
||||
OutputIterator
|
||||
x_extremal_points(const Circle_2<CK> & c, OutputIterator res)
|
||||
{
|
||||
return CircularFunctors::x_extremal_points<CK>(c,res);
|
||||
}
|
||||
|
||||
template <class CK>
|
||||
Circular_arc_point_2<CK>
|
||||
y_extremal_point(const Circle_2<CK> & c, bool i)
|
||||
{
|
||||
return CircularFunctors::y_extremal_point<CK>(c,i);
|
||||
}
|
||||
|
||||
template <class CK, class OutputIterator>
|
||||
OutputIterator
|
||||
y_extremal_points(const Circle_2<CK> & c, OutputIterator res)
|
||||
{
|
||||
return CircularFunctors::y_extremal_points<CK>(c,res);
|
||||
}
|
||||
|
||||
// Not Documented
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_x(const Circular_arc_2<CK> &A1, const bool b1,
|
||||
const Circular_arc_2<CK> &A2, const bool b2)
|
||||
{
|
||||
return CK().compare_x_2_object()(A1, b1, A2, b2);
|
||||
}
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_x(const Circular_arc_point_2<CK> &p, const Circular_arc_point_2<CK> &q)
|
||||
{
|
||||
return CK().compare_x_2_object()(p, q);
|
||||
}
|
||||
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_x(const Circular_arc_point_2<CK> &p, const Point_2<CK> &q)
|
||||
{
|
||||
return CK().compare_x_2_object()(p, q);
|
||||
}
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_x(const Point_2<CK> &p, const Circular_arc_point_2<CK> &q)
|
||||
{
|
||||
return CK().compare_x_2_object()(p, q);
|
||||
}
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_y(const Circular_arc_point_2<CK> &p, const Circular_arc_point_2<CK> &q)
|
||||
{
|
||||
return CK().compare_y_2_object()(p, q);
|
||||
}
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_y(const Circular_arc_point_2<CK> &p, const Point_2<CK> &q)
|
||||
{
|
||||
return CK().compare_y_2_object()(p, q);
|
||||
}
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_y(const Point_2<CK> &p, const Circular_arc_point_2<CK> &q)
|
||||
{
|
||||
return CK().compare_y_2_object()(p, q);
|
||||
}
|
||||
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_xy(const Circular_arc_point_2<CK> &p, const Circular_arc_point_2<CK> &q)
|
||||
{
|
||||
return CK().compare_xy_2_object()(p, q);
|
||||
}
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_xy(const Circular_arc_point_2<CK> &p, const Point_2<CK> &q)
|
||||
{
|
||||
return CK().compare_xy_2_object()(p, q);
|
||||
}
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_xy(const Point_2<CK> &p, const Circular_arc_point_2<CK> &q)
|
||||
{
|
||||
return CK().compare_xy_2_object()(p, q);
|
||||
}
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_y_to_right(const Circular_arc_2<CK> &A1,
|
||||
const Circular_arc_2<CK> &A2,
|
||||
const Circular_arc_point_2<CK> &p)
|
||||
{
|
||||
return CK().compare_y_to_right_2_object()(A1, A2, p);
|
||||
}
|
||||
|
||||
template < class CK >
|
||||
inline
|
||||
bool
|
||||
point_in_x_range(const Circular_arc_2<CK> &A, const Circular_arc_point_2<CK> &p)
|
||||
{
|
||||
return CK().in_x_range_2_object()(A, p);
|
||||
}
|
||||
|
||||
template < class CK >
|
||||
CGAL::Comparison_result
|
||||
compare_y_at_x(const Circular_arc_point_2<CK> &p, const Circular_arc_2<CK> &a)
|
||||
{
|
||||
return CK().compare_y_at_x_2_object()(p, a);
|
||||
}
|
||||
|
||||
template < class CK, class OutputIterator >
|
||||
OutputIterator
|
||||
make_x_monotone(const Circular_arc_2<CK> &A, OutputIterator it)
|
||||
{
|
||||
return CK().make_x_monotone_2_object()(A, it);
|
||||
}
|
||||
|
||||
template < class CK, class OutputIterator >
|
||||
OutputIterator
|
||||
make_xy_monotone(const Circular_arc_2<CK> &A, OutputIterator it)
|
||||
{
|
||||
return CK().make_xy_monotone_2_object()(A, it);
|
||||
}
|
||||
|
||||
template< class CK >
|
||||
inline
|
||||
bool
|
||||
has_on(const Circle_2<CK> &c, const Circular_arc_point_2<CK> &p)
|
||||
{
|
||||
return CK().has_on_2_object()(c, p);
|
||||
}
|
||||
|
||||
// Not Documented
|
||||
template< class CK >
|
||||
inline
|
||||
CGAL::Comparison_result
|
||||
compare_y_to_right(const Line_arc_2<CK> &A1,
|
||||
const Line_arc_2<CK> &A2,
|
||||
const Circular_arc_point_2<CK> &p)
|
||||
{
|
||||
return CK().compare_y_to_right_2_object()(A1, A2, p);
|
||||
}
|
||||
|
||||
template < class CK >
|
||||
inline
|
||||
bool
|
||||
point_in_x_range(const Line_arc_2<CK> &A, const Circular_arc_point_2<CK> &p)
|
||||
{
|
||||
return CK().in_x_range_2_object()(A, p);
|
||||
}
|
||||
|
||||
template < class CK >
|
||||
CGAL::Comparison_result
|
||||
compare_y_at_x(const Circular_arc_point_2<CK> &p, const Line_arc_2<CK> &a)
|
||||
{
|
||||
return CK().compare_y_at_x_2_object()(p, a);
|
||||
}
|
||||
|
||||
// Not Documented
|
||||
template < class CK, class OutputIterator >
|
||||
OutputIterator
|
||||
make_x_monotone(const Line_arc_2<CK> &A, OutputIterator it)
|
||||
{
|
||||
return CK().make_x_monotone_2_object()(A, it);
|
||||
}
|
||||
|
||||
template < class CK, class OutputIterator >
|
||||
OutputIterator
|
||||
make_xy_monotone(const Line_arc_2<CK> &A, OutputIterator it)
|
||||
{
|
||||
return CK().make_xy_monotone_2_object()(A, it);
|
||||
}
|
||||
|
||||
CGAL_END_NAMESPACE
|
||||
|
||||
#endif // CGAL_CIRCULAR_KERNEL_GLOBAL_FUNCTIONS_CIRCULAR_KERNEL_2_H
|
||||
Loading…
Reference in New Issue