global_functions_2.h

来自「CGAL is a collaborative effort of severa」· C头文件 代码 · 共 844 行 · 第 1/2 页

H
844
字号
// Copyright (c) 2003-2004  Utrecht University (The Netherlands),// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),// and Tel-Aviv University (Israel).  All rights reserved.//// This file is part of CGAL (www.cgal.org); you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public License as// published by the Free Software Foundation; version 2.1 of the License.// See the file LICENSE.LGPL 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.//// $Source: /CVSROOT/CGAL/Packages/Kernel_23/include/CGAL/Kernel/global_functions_2.h,v $// $Revision: 1.20 $ $Date: 2004/09/14 13:59:10 $// $Name:  $//// Author(s)     : Sylvain Pion #ifndef CGAL_KERNEL_GLOBAL_FUNCTIONS_2_H#define CGAL_KERNEL_GLOBAL_FUNCTIONS_2_H// Generic functions taking "user classes" as parameters, calling the// internal functions (in *_internal*.h, namespace CGALi) taking a kernel as// additional parameter, which themselves call the corresponding kernel// functors.#include <CGAL/user_classes.h>#include <CGAL/Kernel/global_functions_internal_2.h>#include <CGAL/Kernel/mpl.h>CGAL_BEGIN_NAMESPACEtemplate < class K >inlineAngleangle(const Point_2<K> &p,      const Point_2<K> &q,      const Point_2<K> &r){  return CGALi::angle(p, q, r, K());}template < class K >inlineboolare_ordered_along_line(const Point_2<K> &p,                       const Point_2<K> &q,                       const Point_2<K> &r){  return CGALi::are_ordered_along_line(p, q, r, K());}template < class K >inlineboolare_strictly_ordered_along_line(const Point_2<K> &p,                                const Point_2<K> &q,                                const Point_2<K> &r){  return CGALi::are_strictly_ordered_along_line(p, q, r, K());}template < class K >inlinetypename K::FTarea(const Point_2<K> &p, const Point_2<K> &q, const Point_2<K> &r){  return CGALi::area(p, q, r, K());}template <typename K>inlinetypename K::Line_2bisector(const Point_2<K> &p, const Point_2<K> &q){  return CGALi::bisector(p, q, K());}template <typename K>inlinetypename K::Line_2bisector(const Line_2<K> &l1, const Line_2<K> &l2){  return CGALi::bisector(l1, l2, K());}template < class K >inlinetypename K::Point_2centroid(const Point_2<K> &p,         const Point_2<K> &q,         const Point_2<K> &r){  return CGALi::centroid(p, q, r, K());}template < class K >inlinetypename K::Point_2centroid(const Point_2<K> &p,         const Point_2<K> &q,         const Point_2<K> &r,         const Point_2<K> &s){  return CGALi::centroid(p, q, r, s, K());}template < class K >inlinetypename K::Point_2circumcenter(const Point_2<K> &p,             const Point_2<K> &q,             const Point_2<K> &r){  return CGALi::circumcenter(p, q, r, K());}template < class K >inlinetypename K::Point_2circumcenter(const Triangle_2<K> &t){  return CGALi::circumcenter(t, K());}template < class K >inlineboolcollinear(const Point_2<K> &p, const Point_2<K> &q, const Point_2<K> &r){  return CGALi::collinear(p, q, r, K());}template < class K >inlineboolcollinear_are_ordered_along_line(const Point_2<K> &p,                                 const Point_2<K> &q,                                 const Point_2<K> &r){  return CGALi::collinear_are_ordered_along_line(p, q, r, K());}template < class K >inlineboolcollinear_are_strictly_ordered_along_line(const Point_2<K> &p,                                          const Point_2<K> &q,                                          const Point_2<K> &r){  return CGALi::collinear_are_strictly_ordered_along_line(p, q, r, K());}template < typename K >inlineComparison_resultcompare_angle_with_x_axis(const Direction_2<K>& d1,                          const Direction_2<K>& d2){  return CGALi::compare_angle_with_x_axis(d1, d2, K());}template <class K >inlineComparison_resultcompare_distance_to_point(const Point_2<K>& p,                          const Point_2<K>& q,                          const Point_2<K>& r){  return CGALi::compare_distance_to_point(p, q, r, K());}template <class K>inlineComparison_resultcompare_signed_distance_to_line(const Point_2<K>& p,				const Point_2<K>& q,				const Point_2<K>& r,				const Point_2<K>& s){  return CGALi::compare_signed_distance_to_line(p, q, r, s, K());}template <class K>inlineComparison_resultcompare_signed_distance_to_line(const Line_2<K>& l,				const Point_2<K>& p,				const Point_2<K>& q){  return CGALi::compare_signed_distance_to_line(l, p, q, K());}/* FIXME : Undocumented, obsolete...template < class K >inlineComparison_resultcompare_lexicographically_xy(const Point_2<K> &p,                             const Point_2<K> &q){  return K().compare_xy_2_object()(p, q);}*/template < class K >inlineComparison_resultcompare_slopes(const Line_2<K> &l1, const Line_2<K> &l2){  return CGALi::compare_slopes(l1, l2, K());}template < class K >inlineComparison_resultcompare_slopes(const Segment_2<K> &s1, const Segment_2<K> &s2){  return CGALi::compare_slopes(s1, s2, K());}template < class K >inlineComparison_resultcompare_x(const Point_2<K> &p, const Point_2<K> &q){  return CGALi::compare_x(p, q, K());}template < class K >inlineComparison_resultcompare_x(const Point_2<K>& p,          const Line_2<K>& l1,          const Line_2<K>& l2){  return CGALi::compare_x(p, l1, l2, K());}template < class K >inlineComparison_resultcompare_x(const Line_2<K> &l,          const Line_2<K> &h1,          const Line_2<K> &h2){  return CGALi::compare_x(l, h1, h2, K());}template < class K >inlineComparison_resultcompare_x(const Line_2<K> &l1,          const Line_2<K> &h1,          const Line_2<K> &l2,          const Line_2<K> &h2){  return CGALi::compare_x(l1, h1, l2, h2, K());}template < class K >inlineComparison_resultcompare_x_at_y(const Point_2<K>& p, const Line_2<K>& h){  return CGALi::compare_x_at_y(p, h, K());}/* Undocumentedtemplate < class K >inlineComparison_resultcompare_x_at_y(const Point_2<K>& p, const Segment_2<K>& s){  return CGALi::compare_x_at_y(p, s, K());}*/template < class K >inlineComparison_resultcompare_x_at_y(const Point_2<K> &p,               const Line_2<K> &h1,               const Line_2<K> &h2){  return CGALi::compare_x_at_y(p, h1, h2, K());}template < class K >inlineComparison_resultcompare_x_at_y(const Line_2<K> &l1,               const Line_2<K> &l2,               const Line_2<K> &h){  return CGALi::compare_x_at_y(l1, l2, h, K());}template < class K >inlineComparison_resultcompare_x_at_y(const Line_2<K> &l1,               const Line_2<K> &l2,               const Line_2<K> &h1,               const Line_2<K> &h2){  return CGALi::compare_x_at_y(l1, l2, h1, h2, K());}template < class K >inlineComparison_resultcompare_xy(const Point_2<K> &p, const Point_2<K> &q){  return CGALi::compare_xy(p, q, K());}template < class K >inlineComparison_resultcompare_y(const Point_2<K> &p, const Point_2<K> &q){  return CGALi::compare_y(p, q, K());}template < class K >inlineComparison_resultcompare_y(const Point_2<K> &p,          const Line_2<K> &l1,          const Line_2<K> &l2){  return CGALi::compare_y(p, l1, l2, K());}template < class K >inlineComparison_resultcompare_y(const Line_2<K> &l1,          const Line_2<K> &l2,          const Line_2<K> &h1,          const Line_2<K> &h2){  return CGALi::compare_y(l1, l2, h1, h2, K());}template < class K >inlineComparison_resultcompare_y(const Line_2<K> &l,          const Line_2<K> &h1,          const Line_2<K> &h2){  return CGALi::compare_y(l, h1, h2, K());}template < class K >inlineComparison_resultcompare_y_at_x(const Point_2<K> &p, const Segment_2<K> &s){  return CGALi::compare_y_at_x(p, s, K());}template < class K >inlineComparison_resultcompare_y_at_x(const Point_2<K> &p,               const Segment_2<K> &s1,               const Segment_2<K> &s2){  return CGALi::compare_y_at_x(p, s1, s2, K());}template < class K >inlineComparison_resultcompare_y_at_x(const Point_2<K> &p, const Line_2<K> &h){  return CGALi::compare_y_at_x(p, h, K());}  template < class K >inlineComparison_resultcompare_y_at_x(const Point_2<K> &p,               const Line_2<K> &h1,               const Line_2<K> &h2){  return CGALi::compare_y_at_x(p, h1, h2, K());}template < class K >inlineComparison_resultcompare_y_at_x(const Line_2<K> &l1,               const Line_2<K> &l2,               const Line_2<K> &h){  return CGALi::compare_y_at_x(l1, l2, h, K());}template < class K >inlineComparison_resultcompare_y_at_x(const Line_2<K> &l1,               const Line_2<K> &l2,               const Line_2<K> &h1,               const Line_2<K> &h2){  return CGALi::compare_y_at_x(l1, l2, h1, h2, K());}template <class K>inlineboolhas_larger_distance_to_point(const Point_2<K>& p,			     const Point_2<K>& q,

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?