📄 global_functions_2.h
字号:
// 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.//// $URL: svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.3-branch/Kernel_23/include/CGAL/Kernel/global_functions_2.h $// $Id: global_functions_2.h 34893 2006-10-24 05:24:31Z spion $// //// 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 >booloperator==(const Point_2<K> &p, const Origin& o){ return p == Point_2<K>(o);}template < class K >booloperator!=(const Point_2<K> &p, const Origin& o){ return p != Point_2<K>(o);}template < 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 Triangle_2<K> &t){ return CGALi::centroid(t, 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){ return CGALi::circumcenter(p, q, 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_squared_distance(const Point_2<K>& p, const Point_2<K>& q, const typename K::FT& d2){ return CGALi::compare_squared_distance(p, q, d2, 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 >inlineComparison_result
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -