From ef71559164142b7d7a267b69c8558e0747de854c Mon Sep 17 00:00:00 2001 From: Sylvain Pion Date: Fri, 11 Apr 2008 19:26:21 +0000 Subject: [PATCH] Remove the Kernel Concept Archetypes. --- .../test/Convex_hull_2/CMakeLists.txt | 1 - .../Convex_hull_2/ka_test_convex_hull_2.cpp | 69 - Installation/CHANGES | 4 + Kernel_23/doc_tex/Kernel_23/kernel_tools.tex | 170 - Kernel_23/doc_tex/Kernel_23/main.tex | 1 - .../Kernel_23_ref/Kernel_archetype.tex | 67 - Kernel_23/doc_tex/Kernel_23_ref/main.tex | 1 - Kernel_23/examples/Kernel_23/CMakeLists.txt | 3 - Kernel_23/examples/Kernel_23/makefile | 12 +- .../examples/Kernel_23/test_delaunay_2.cpp | 24 - .../test_polyhedron_prog_incr_builder.cpp | 50 - ...hedron_prog_incr_builder_own_archetype.cpp | 65 - .../CGAL/Kernel/concept_archetype_functors.h | 3475 ----------------- .../concept_archetype_interface_macros.h | 1086 ------ Kernel_23/include/CGAL/Kernel_archetype.h | 168 - Kernel_23/include/CGAL/concept_archetype_2.h | 244 -- Kernel_23/include/CGAL/concept_archetype_3.h | 288 -- Kernel_23/test/Kernel_23/CMakeLists.txt | 2 - .../Kernel_23/test_kernel_archetype_2.cpp | 45 - .../Kernel_23/test_kernel_archetype_3.cpp | 45 - 20 files changed, 5 insertions(+), 5815 deletions(-) delete mode 100644 Convex_hull_2/test/Convex_hull_2/ka_test_convex_hull_2.cpp delete mode 100644 Kernel_23/doc_tex/Kernel_23/kernel_tools.tex delete mode 100644 Kernel_23/doc_tex/Kernel_23_ref/Kernel_archetype.tex delete mode 100644 Kernel_23/examples/Kernel_23/test_delaunay_2.cpp delete mode 100644 Kernel_23/examples/Kernel_23/test_polyhedron_prog_incr_builder.cpp delete mode 100644 Kernel_23/examples/Kernel_23/test_polyhedron_prog_incr_builder_own_archetype.cpp delete mode 100644 Kernel_23/include/CGAL/Kernel/concept_archetype_functors.h delete mode 100644 Kernel_23/include/CGAL/Kernel/concept_archetype_interface_macros.h delete mode 100644 Kernel_23/include/CGAL/Kernel_archetype.h delete mode 100644 Kernel_23/include/CGAL/concept_archetype_2.h delete mode 100644 Kernel_23/include/CGAL/concept_archetype_3.h delete mode 100644 Kernel_23/test/Kernel_23/test_kernel_archetype_2.cpp delete mode 100644 Kernel_23/test/Kernel_23/test_kernel_archetype_3.cpp diff --git a/Convex_hull_2/test/Convex_hull_2/CMakeLists.txt b/Convex_hull_2/test/Convex_hull_2/CMakeLists.txt index f1a224312a3..489abc7fa09 100644 --- a/Convex_hull_2/test/Convex_hull_2/CMakeLists.txt +++ b/Convex_hull_2/test/Convex_hull_2/CMakeLists.txt @@ -18,6 +18,5 @@ if ( CGAL_FOUND ) create_single_source_cgal_program( ch_test_SC.cpp ) create_single_source_cgal_program( ch_test_SH.cpp ) create_single_source_cgal_program( ch_test_SS.cpp ) - create_single_source_cgal_program( ka_test_convex_hull_2.cpp ) endif() diff --git a/Convex_hull_2/test/Convex_hull_2/ka_test_convex_hull_2.cpp b/Convex_hull_2/test/Convex_hull_2/ka_test_convex_hull_2.cpp deleted file mode 100644 index f28bbbaa67d..00000000000 --- a/Convex_hull_2/test/Convex_hull_2/ka_test_convex_hull_2.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 2003 The CGAL Consortium -// -// -// -// -// -// ---------------------------------------------------------------------------- -// release : -// release_date : -// -// file : ka_test_convex_hull_2.C -// revision : $Id$ -// revision_date : $Date$ -// author(s) : Matthias Baesken -// -// coordinator : MPI, Saarbruecken -// ============================================================================ - - - -/* -test the different convex_hull algorithm implementations -with the kernel archetype ... -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -typedef CGAL::Kernel_archetype K; -typedef K::Point_2 Point_2; - -int main() -{ - std::vector input; - - Point_2 act; - input.push_back(act); - - std::list output; - - K traits; - - CGAL::convex_hull_2(input.begin(), input.end(), std::back_inserter(output), traits); - - CGAL::ch_akl_toussaint(input.begin(), input.end(), std::back_inserter(output), traits); - - CGAL::ch_bykat(input.begin(), input.end(), std::back_inserter(output), traits); - - CGAL::ch_eddy(input.begin(), input.end(), std::back_inserter(output), traits); - - CGAL::ch_graham_andrew(input.begin(), input.end(), std::back_inserter(output), traits); - - CGAL::ch_jarvis(input.begin(), input.end(), std::back_inserter(output), traits); - - CGAL::ch_melkman(input.begin(), input.end(), std::back_inserter(output), traits); - - return 0; -} diff --git a/Installation/CHANGES b/Installation/CHANGES index 0e6f5abbcb2..781e488cc9c 100644 --- a/Installation/CHANGES +++ b/Installation/CHANGES @@ -13,6 +13,10 @@ Additional supported platforms: CMake now replaces install_cgal... +3 Kernels + +The Kernel archetypes provided by the 2D/3D linear kernel have been removed. + ----------------------------- Release 3.3.1 ---------------------------------- The following corrections have been made: diff --git a/Kernel_23/doc_tex/Kernel_23/kernel_tools.tex b/Kernel_23/doc_tex/Kernel_23/kernel_tools.tex deleted file mode 100644 index a50afeba08a..00000000000 --- a/Kernel_23/doc_tex/Kernel_23/kernel_tools.tex +++ /dev/null @@ -1,170 +0,0 @@ -\section{Kernel Related Tools} - -\subsection{Introduction} - -The following manual sections describe various tools that might be useful for -various kinds of users of the \cgal\ kernel. The kernel concept archetype -describes a minimal model for the \cgal\ kernel that can be used for testing \cgal\ -kernel compatibility of geometrical algorithm implementations. It can be useful -for all people developing \cgal-style code that uses the \cgal\ kernel. - -%say later something about Kernel checker -%say later something about Filter stuff -%what else (converters ?) - -\subsection{Kernel Concept Archetype} - -\subsubsection{Introduction} - -\cgal\ defines the concept of a geometry kernel. Such a kernel provides types, -construction objects and generalized predicates. Most implementations of CG -algorithms and data structures in the basic library of \cgal\ were done in a way -that classes or functions can be parametrized with a geometric traits class. - -In most cases this geometric traits class must be a model of the \cgal\ geometry -kernel concept (but there are some exceptions). - -The \cgal\ distribution comes with a number of models (or geometry kernels), for -instance the \ccHtmlNoLinksFrom{Cartesian} kernel (\ccc{CGAL::Cartesian}) or the homogeneous kernel -(\ccc{CGAL::Homogeneous}), that can be used with the packages of the basic -library. - -But does it mean that packages of the basic library are fully compatible with -the \cgal\ kernel concept if they can be used with these \cgal\ kernel models? Not -necessarily, because such a package might also use member functions or global -functions/operators, that are implemented for \cgal\ kernel types but not for -other classes or kernels. - -That's why it is important to verify whether the documented requirements of a -package are really covered by the implementation. Manual verification is error -prone, so there should be something better available in a generic library for -this application. - -That's why the \cgal\ kernel concept archetype \ccc{CGAL::Kernel_archetype} was -developed. It provides all functionality required by the \cgal\ kernel concept, -but nothing more, so it can be seen as a minimal implementation of a model for -the \cgal\ kernel concept. It can be used for testing successful compilation of -packages of the basic library with a minimal model. Deprecated kernel -functionality is not supported. All geometrical types (like the 2d/3d point or -segment types) of \ccc{CGAL::Kernel_archetype} have copy constructors, default -constructors and an assignment operator, and nothing else. Comparison -operators are by default not supported, but can be switched on by the flag \ccc{ -CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS}. - -The geometrical types of the concept archetype encapsulate no data members, so -run-time checks with the archetype are not very useful -(\ccc{CGAL::Kernel_archetype} is only meant for compilation checks with a -minimal model in the test-suites of \cgal\ packages). - -The header file for the concept archetype is \ccc{CGAL/Kernel_archetype.h}. - -The package supports the two- and three-dimensional part of the \cgal\ kernel -concept. The d-dimensional part is not supported. - -\subsubsection{Restricting the Interface} - -Normally packages of the Basic Library or Extension packages use only a small -subset of the functionality offered by models of the \cgal\ kernel concept. In -these cases testing with a model that offers only this (used and) documented -subset makes sense. \ccc{CGAL::Kernel_archetype} normally offers the full -functionality (all types, functors and constructions of a \cgal\ kernel model), -but it is possible to restrict the interface.\\ If you want to do this, you -have to define the macro \ccc{CGAL_CA_LIMITED_INTERFACE} (before the -inclusion of \ccc{CGAL/Kernel_archetype.h}) for switching on the interface -limitation. Now you have to tell the kernel archetype what types have to be -provided by it. For every type you have to define a macro. The name of the -macro is \ccc{CGAL_CA_NAME_OF_KERNEL_TYPE}, where \ccc{ -NAME_OF_KERNEL_TYPE} is the name of the kernel type (written in capitals) -that has to be provided by the kernel archetype for a specific package. Lets -have a look at a small example. The kernel archetype has to provide in some -test suite a limited interface. The interface has to offer type definitions -for \ccc{Point_3} and \ccc{Plane_3} and the 3d \ccHtmlNoLinksFrom{orientation} functor type -definition \ccc{Orientation_3}: - -\ccHtmlLinksOff - -\begin{ccExampleCode} -// limit interface of the Kernel_archetype -#define CGAL_CA_LIMITED_INTERFACE -#define CGAL_CA_POINT_3 -#define CGAL_CA_PLANE_3 -#define CGAL_CA_ORIENTATION_3 - -#include -\end{ccExampleCode} - -\ccHtmlLinksOn - -Now other kernel functionality is removed from the interface of -\ccc{CGAL::Kernel_archetype}, so access to these other kernel types will result -in a compile-time error. -Another option is to use an own archetype class that encapsulates only the -needed type definitions and the corresponding member functions. -See the following code snippet for a simple example. - -\ccHtmlLinksOff - -\begin{ccExampleCode} -#include - -// build an own archetype class ... - -// get needed types from the kernel archetype ... -typedef CGAL::Kernel_archetype KA; -typedef KA::Point_3 KA_Point_3; -typedef KA::Plane_3 KA_Plane_3; -typedef KA::Construct_opposite_plane_3 KA_Construct_opposite_plane_3; - -// reuse the types from the kernel archetype in the own archetype class -struct My_archetype { - typedef KA_Point_3 Point_3; - typedef KA_Plane_3 Plane_3; - typedef KA_Construct_opposite_plane_3 Construct_opposite_plane_3; - - Construct_opposite_plane_3 - construct_opposite_plane_3_object() - { return Construct_opposite_plane_3(); } -}; -\end{ccExampleCode} - -\ccHtmlLinksOn - -\subsubsection{Example Program} - -The following example shows a program for checking the 2d convex hull algorithm -of CGAL with the archetype. You can see the usage of the -\ccc{CGAL::Kernel_archetype} that replaces a \cgal\ kernel that is normally used. - -\ccHtmlLinksOff - -{\bf test\_convex\_hull\_2.cpp :} - -\begin{ccExampleCode} -#include -#include -#include -#include - -typedef CGAL::Kernel_archetype K; -typedef K::Point_2 Point_2; - -int main() -{ - std::list input; - - Point_2 act; - input.push_back(act); - - std::list output; - - K traits; - - CGAL::convex_hull_2(input.begin(), input.end(), - std::back_inserter(output), traits); - return 0; -} -\end{ccExampleCode} - -\ccHtmlLinksOn - - diff --git a/Kernel_23/doc_tex/Kernel_23/main.tex b/Kernel_23/doc_tex/Kernel_23/main.tex index 20425f61b2c..cc49b3271f6 100644 --- a/Kernel_23/doc_tex/Kernel_23/main.tex +++ b/Kernel_23/doc_tex/Kernel_23/main.tex @@ -13,5 +13,4 @@ \input{Kernel_23/kernel_geometry} \input{Kernel_23/predicates_constructions} \input{Kernel_23/extensible_kernel} -\input{Kernel_23/kernel_tools} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_archetype.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_archetype.tex deleted file mode 100644 index 7bede7d9005..00000000000 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_archetype.tex +++ /dev/null @@ -1,67 +0,0 @@ -\begin{ccRefClass}{Kernel_archetype} - -%\KernelRefLayout\gdef\ccTagOperatorLayout{\ccFalse} - -\ccDefinition - -\ccc{CGAL::Kernel_archetype} is a concept archetype (minimal model) for the CGAL kernel concept. -It provides all functionality required by the CGAL kernel concept, but nothing more. -It can be used for testing successful compilation of packages of the basic library with a minimal -model. Deprecated kernel functionality is not supported. All geometrical types (like the 2d/3d point or segment types) -of \ccc{CGAL::Kernel_archetype} have -copy constructors, default constructors and an assignment operator, and nothing else. -Comparison operators are by default not supported, but can be switched on by defining the macro -\ccc{CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS}. - -The geometrical types of the concept archetype encapsulate no data members, so run-time checks with the archetype -are not very useful (\ccc{CGAL::Kernel_archetype} is only meant for compilation checks with a minimal model in the test-suites -of CGAL packages). - -The package supports the two- and three-dimensional part of the CGAL kernel concept. The d-dimensional -part is not supported. - -\ccc{CGAL::Kernel_archetype} normally offers the full functionality (all types, functors and constructions -of a CGAL kernel model), but it is possible to restrict the interface. This can be useful -for testing packages that require only a very small subset of the functionality offered -by CGAL kernel models. -If you want to do this, you have to define the macro \ccc{CGAL_CA_LIMITED_INTERFACE} -(before the inclusion of {\em CGAL/Kernel\_archetype.h}) to switch on the interface limitation. -Now you have to tell the kernel archetype the types it has to provide for the specific package. - -For every type you have to define a macro. -The name of the macro is \ccc{CGAL_CA_NAME_OF_KERNEL_TYPE}, where \ccc{NAME_OF_KERNEL_TYPE} is the name -of the kernel type (written in capitals) that has to be provided by the kernel archetype for a specific package. -If, for example, a package only needs type definitions for \ccc{Point_2} and \ccc{Orientation_2}, you would -define \ccc{CGAL_CA_LIMITED_INTERFACE}, \ccc{CGAL_CA_POINT_2} and \ccc{CGAL_CA_ORIENTATION_2} . - -\ccIsModel -\ccRefConceptPage{Kernel} - -\ccInclude{CGAL/Kernel_archetype.h} - -\ccCreation -\ccCreationVariable{ka} - -\ccConstructor{Kernel_archetype();}{Default constructor.} - -\ccTypes - -We provide all type definitions that must be provided by a CGAL kernel model. -See the CGAL kernel concept manual pages for details. -Deprecated functionality is not supported. You can restrict the interface -by defining macros (see the definition for details). - -\ccOperations - -For each of the function objects of the kernel archetype, there is a member function -that requires no arguments and returns an instance of that function object. -The name of the member function is the uncapitalized name of the type -returned with the suffix \ccc{_object} appended. - - -\ccSeeAlso -\ccRefIdfierPage{CGAL::Cartesian} \\ -\ccRefIdfierPage{CGAL::Homogeneous} \\ -\ccRefIdfierPage{CGAL::Simple_cartesian} \\ - -\end{ccRefClass} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/main.tex b/Kernel_23/doc_tex/Kernel_23_ref/main.tex index fd86785ffa0..beec6234e35 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/main.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/main.tex @@ -40,7 +40,6 @@ in the kernel. \input{Kernel_23_ref/Homogeneous_converter.tex} \input{Kernel_23_ref/homogeneous_to_cartesian.tex} \input{Kernel_23_ref/homogeneous_to_quotient_cartesian.tex} -\input{Kernel_23_ref/Kernel_archetype.tex} \input{Kernel_23_ref/Kernel_traits.tex} \input{Kernel_23_ref/Simple_cartesian.tex} \input{Kernel_23_ref/Simple_homogeneous.tex} diff --git a/Kernel_23/examples/Kernel_23/CMakeLists.txt b/Kernel_23/examples/Kernel_23/CMakeLists.txt index 4ad5e0545a2..397761d404b 100644 --- a/Kernel_23/examples/Kernel_23/CMakeLists.txt +++ b/Kernel_23/examples/Kernel_23/CMakeLists.txt @@ -13,8 +13,5 @@ if ( CGAL_FOUND ) include(CreateSingleSourceCGALProgram) create_single_source_cgal_program( MyKernel.cpp ) - create_single_source_cgal_program( test_delaunay_2.cpp ) - create_single_source_cgal_program( test_polyhedron_prog_incr_builder.cpp ) - create_single_source_cgal_program( test_polyhedron_prog_incr_builder_own_archetype.cpp ) endif() diff --git a/Kernel_23/examples/Kernel_23/makefile b/Kernel_23/examples/Kernel_23/makefile index 000b34d3d94..9681448d4d5 100644 --- a/Kernel_23/examples/Kernel_23/makefile +++ b/Kernel_23/examples/Kernel_23/makefile @@ -27,8 +27,6 @@ LDFLAGS = \ #---------------------------------------------------------------------# all: \ -test_delaunay_2 \ -test_polyhedron_prog_incr_builder \ MyKernel @@ -36,16 +34,8 @@ MyKernel MyKernel$(EXE_EXT): MyKernel$(OBJ_EXT) $(CGAL_CXX) $(LIBPATH) $(EXE_OPT)MyKernel MyKernel$(OBJ_EXT) $(LDFLAGS) -test_delaunay_2$(EXE_EXT): test_delaunay_2$(OBJ_EXT) - $(CGAL_CXX) $(LIBPATH) $(EXE_OPT)test_delaunay_2 test_delaunay_2$(OBJ_EXT) $(LDFLAGS) - -test_polyhedron_prog_incr_builder$(EXE_EXT): test_polyhedron_prog_incr_builder$(OBJ_EXT) - $(CGAL_CXX) $(LIBPATH) $(EXE_OPT)test_polyhedron_prog_incr_builder test_polyhedron_prog_incr_builder$(OBJ_EXT) $(LDFLAGS) - clean: \ -MyKernel.clean \ -test_delaunay_2.clean \ -test_polyhedron_prog_incr_builder.clean +MyKernel.clean #---------------------------------------------------------------------# # suffix rules diff --git a/Kernel_23/examples/Kernel_23/test_delaunay_2.cpp b/Kernel_23/examples/Kernel_23/test_delaunay_2.cpp deleted file mode 100644 index 9b23744f9ed..00000000000 --- a/Kernel_23/examples/Kernel_23/test_delaunay_2.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// small example for compilation -// check of Delaunay_triangulation_2 using the kernel concept -// archetype - -#include -#include -#include -#include - -typedef CGAL::Kernel_archetype K; -typedef K::Point_2 Point; - -typedef CGAL::Delaunay_triangulation_2 Delaunay_triang_2; - -Delaunay_triang_2 dt; - -int main() -{ - std::list input; - Point act; - - dt.insert(act); - return 0; -} diff --git a/Kernel_23/examples/Kernel_23/test_polyhedron_prog_incr_builder.cpp b/Kernel_23/examples/Kernel_23/test_polyhedron_prog_incr_builder.cpp deleted file mode 100644 index b42076181af..00000000000 --- a/Kernel_23/examples/Kernel_23/test_polyhedron_prog_incr_builder.cpp +++ /dev/null @@ -1,50 +0,0 @@ -// original version see examples/Polyhedron/polyhedron_prog_incr_builder.cpp -// this time we test compilation with the -// kernel concept archetype -// we use interface restrictions in this example - -#include -#include -#include - -// limit interface of the kernel archetype ... -#define CGAL_CA_LIMITED_INTERFACE -#define CGAL_CA_POINT_3 -#define CGAL_CA_PLANE_3 - -#include - -// A modifier creating a triangle with the incremental builder. -template -class Build_triangle : public CGAL::Modifier_base { -public: - Build_triangle() {} - void operator()( HDS& hds) { - // Postcondition: `hds' is a valid polyhedral surface. - CGAL::Polyhedron_incremental_builder_3 B( hds, true); - B.begin_surface( 3, 1, 6); - typedef typename HDS::Vertex Vertex; - typedef typename Vertex::Point Point; - B.add_vertex( Point()); - B.add_vertex( Point()); - B.add_vertex( Point()); - B.begin_facet(); - B.add_vertex_to_facet( 0); - B.add_vertex_to_facet( 1); - B.add_vertex_to_facet( 2); - B.end_facet(); - B.end_surface(); - } -}; - -typedef CGAL::Kernel_archetype Kernel; -typedef CGAL::Polyhedron_3 Polyhedron; -typedef Polyhedron::HalfedgeDS HalfedgeDS; - -int main() { - Polyhedron P; - Build_triangle triangle; - P.delegate( triangle); - CGAL_assertion( P.is_triangle( P.halfedges_begin())); - return 0; -} diff --git a/Kernel_23/examples/Kernel_23/test_polyhedron_prog_incr_builder_own_archetype.cpp b/Kernel_23/examples/Kernel_23/test_polyhedron_prog_incr_builder_own_archetype.cpp deleted file mode 100644 index 14e71031937..00000000000 --- a/Kernel_23/examples/Kernel_23/test_polyhedron_prog_incr_builder_own_archetype.cpp +++ /dev/null @@ -1,65 +0,0 @@ -// original version see examples/Polyhedron/polyhedron_prog_incr_builder.cpp -// this time we test compilation with -// an own archetype that uses functionality -// provided by the kernel archetype - -#include -#include -#include -#include - -// build an own archetype class ... -// provide 3d point and plane types ... - -// get some types from the kernel archetype ... - -typedef CGAL::Kernel_archetype KA; -typedef KA::Point_3 KA_Point_3; -typedef KA::Plane_3 KA_Plane_3; -typedef KA::Construct_opposite_plane_3 KA_Construct_opposite_plane_3; - -struct My_archetype { - typedef KA_Point_3 Point_3; - typedef KA_Plane_3 Plane_3; - typedef KA_Construct_opposite_plane_3 Construct_opposite_plane_3; - - Construct_opposite_plane_3 - construct_opposite_plane_3_object() - { return Construct_opposite_plane_3(); } -}; - - -// A modifier creating a triangle with the incremental builder. -template -class Build_triangle : public CGAL::Modifier_base { -public: - Build_triangle() {} - void operator()( HDS& hds) { - // Postcondition: `hds' is a valid polyhedral surface. - CGAL::Polyhedron_incremental_builder_3 B( hds, true); - B.begin_surface( 3, 1, 6); - typedef typename HDS::Vertex Vertex; - typedef typename Vertex::Point Point; - B.add_vertex( Point()); - B.add_vertex( Point()); - B.add_vertex( Point()); - B.begin_facet(); - B.add_vertex_to_facet( 0); - B.add_vertex_to_facet( 1); - B.add_vertex_to_facet( 2); - B.end_facet(); - B.end_surface(); - } -}; - -typedef My_archetype Kernel; -typedef CGAL::Polyhedron_3 Polyhedron; -typedef Polyhedron::HalfedgeDS HalfedgeDS; - -int main() { - Polyhedron P; - Build_triangle triangle; - P.delegate( triangle); - CGAL_assertion( P.is_triangle( P.halfedges_begin())); - return 0; -} diff --git a/Kernel_23/include/CGAL/Kernel/concept_archetype_functors.h b/Kernel_23/include/CGAL/Kernel/concept_archetype_functors.h deleted file mode 100644 index 7483ef4fee4..00000000000 --- a/Kernel_23/include/CGAL/Kernel/concept_archetype_functors.h +++ /dev/null @@ -1,3475 +0,0 @@ -// Copyright (c) 1999,2003 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$ -// $Id$ -// -// -// Author(s) : Matthias Baesken - -#ifndef CGAL_CONCEPT_ARCHETYPE_FUNCTION_OBJECTS_H -#define CGAL_CONCEPT_ARCHETYPE_FUNCTION_OBJECTS_H - -#include -#include -#include -#include -#include - -// see kernel functors for original version -// all deprecated stuff was removed ... -// all functors were put into namespace CGALca -// (to avoid ambiguities with the original functors) - -CGAL_BEGIN_NAMESPACE - -namespace CGALca { - -template -class Angle_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef Angle result_type; - typedef Arity_tag< 3 > Arity; - - Angle operator()(const Point_2&, const Point_2&, - const Point_2&) const - { CGAL::Angle a = CGAL::RIGHT; - return a; - } -}; - -template -class Angle_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Angle result_type; - typedef Arity_tag< 3 > Arity; - - Angle operator()(const Point_3&, const Point_3&, - const Point_3&) const - { CGAL::Angle a = CGAL::RIGHT; - return a; - } -}; - -template -class Are_ordered_along_line_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool operator()(const Point_2&, const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Are_ordered_along_line_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool operator()(const Point_3&, const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Are_parallel_2 -{ - typedef typename K::Line_2 Line_2; - typedef typename K::Segment_2 Segment_2; - typedef typename K::Ray_2 Ray_2; - - public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()(const Line_2&, const Line_2&) const - { return true; } - - bool - operator()(const Segment_2&, const Segment_2&) const - { return true; } - - bool - operator()(const Ray_2&, const Ray_2&) const - { return true; } -}; - -template -class Are_parallel_3 -{ - typedef typename K::Line_3 Line_3; - typedef typename K::Segment_3 Segment_3; - typedef typename K::Ray_3 Ray_3; - typedef typename K::Plane_3 Plane_3; - - public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()(const Line_3&, const Line_3&) const - { return true; } - - bool - operator()(const Plane_3&, const Plane_3&) const - { return true; } - - bool - operator()(const Segment_3&, const Segment_3&) const - { return true; } - - bool - operator()(const Ray_3&, const Ray_3&) const - { return true; } -}; - -template -class Are_strictly_ordered_along_line_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool operator()(const Point_2&, const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Are_strictly_ordered_along_line_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool operator()(const Point_3&, const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Assign_2 -{ - typedef typename K::Object_2 Object_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - template - bool operator()(T&, const Object_2&) const - { return true; } -}; - -template -class Assign_3 -{ - typedef typename K::Object_3 Object_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - template - bool operator()(T&, const Object_3&) const - { return true; } -}; - -template -class Bounded_side_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Circle_2 Circle_2; - typedef typename K::Triangle_2 Triangle_2; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; -public: - typedef Bounded_side result_type; - typedef Arity_tag< 2 > Arity; - - Bounded_side operator()( const Circle_2&, const Point_2&) const - { return CGAL::ON_BOUNDARY; } - - Bounded_side operator()( const Triangle_2&, const Point_2&) const - { return CGAL::ON_BOUNDARY; } - - Bounded_side operator()( const Iso_rectangle_2&, const Point_2&) const - { return CGAL::ON_BOUNDARY; } -}; - -template -class Bounded_side_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Sphere_3 Sphere_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; -public: - typedef Bounded_side result_type; - typedef Arity_tag< 2 > Arity; - - Bounded_side - operator()( const Sphere_3&, const Point_3&) const - { return CGAL::ON_BOUNDARY; } - - Bounded_side - operator()( const Tetrahedron_3&, const Point_3&) const - { return CGAL::ON_BOUNDARY; } - - Bounded_side - operator()( const Iso_cuboid_3&, const Point_3&) const - { return CGAL::ON_BOUNDARY; } -}; - -template -class Collinear_are_ordered_along_line_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()(const Point_2&, const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Collinear_are_ordered_along_line_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Collinear_are_strictly_ordered_along_line_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()(const Point_2&, const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Collinear_are_strictly_ordered_along_line_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Collinear_has_on_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Ray_2 Ray_2; - typedef typename K::Segment_2 Segment_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Ray_2&, const Point_2&) const - { return true; } - - bool - operator()( const Segment_2&, const Point_2&) const - { return true; } -}; - -template -class Collinear_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()(const Point_2&, const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Collinear_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Compare_angle_with_x_axis_2 -{ - typedef typename K::Direction_2 Direction_2; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()(const Direction_2&, const Direction_2&) const - { return CGAL::LARGER; } -}; - -template -class Compare_distance_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 3 > Arity; - - Comparison_result - operator()(const Point_2&, const Point_2&, const Point_2&) const - { return CGAL::LARGER; } -}; - -template -class Compare_squared_distance_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::FT FT; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 3 > Arity; - - Comparison_result - operator()(const Point_2&, const Point_2&, const FT&) const - { return CGAL::LARGER; } -}; - -template -class Compare_distance_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 3 > Arity; - - Comparison_result - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return CGAL::LARGER; } -}; - -template -class Compare_squared_distance_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::FT FT; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 3 > Arity; - - Comparison_result - operator()(const Point_3&, const Point_3&, const FT&) const - { return CGAL::LARGER; } -}; - -template -class Compare_slope_2 -{ - typedef typename K::Line_2 Line_2; - typedef typename K::Segment_2 Segment_2; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()(const Line_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()(const Segment_2&, const Segment_2&) const - { return CGAL::LARGER; } -}; - -template -class Compare_x_at_y_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Line_2 Line_2; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 3 > Arity; - - Comparison_result - operator()( const Point_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Point_2&, const Line_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Line_2&, const Line_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Line_2&, const Line_2&, - const Line_2&, const Line_2&) const - { return CGAL::LARGER; } -}; - -template -class Compare_xyz_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()( const Point_3&, const Point_3&) const - { return CGAL::LARGER; } -}; - -template -class Compare_xy_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()( const Point_2&, const Point_2&) const - { return CGAL::LARGER; } -}; - -template -class Compare_xy_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()( const Point_3&, const Point_3&) const - { return CGAL::LARGER; } -}; - -template -class Compare_x_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Line_2 Line_2; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()( const Point_2&, const Point_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Point_2&, const Line_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Line_2&, const Line_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Line_2&, const Line_2&, - const Line_2&, const Line_2&) const - { return CGAL::LARGER; } -}; - -template -class Compare_x_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()( const Point_3&, const Point_3&) const - { return CGAL::LARGER; } -}; - -template -class Compare_y_at_x_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Line_2 Line_2; - typedef typename K::Segment_2 Segment_2; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 3 > Arity; - - Comparison_result - operator()( const Point_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Point_2&, const Line_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Line_2&, const Line_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Line_2&, const Line_2&, - const Line_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Point_2&, const Segment_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Point_2&, - const Segment_2&, const Segment_2&) const - { return CGAL::LARGER; } -}; - -template -class Compare_y_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Line_2 Line_2; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()( const Point_2&, const Point_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Point_2&, const Line_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Line_2&, const Line_2&, const Line_2&) const - { return CGAL::LARGER; } - - Comparison_result - operator()( const Line_2&, const Line_2&, - const Line_2&, const Line_2&) const - { return CGAL::LARGER; } -}; - -template -class Compare_y_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()( const Point_3&, const Point_3&) const - { return CGAL::LARGER; } -}; - -template -class Compare_yx_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()( const Point_2&, const Point_2&) const - { return CGAL::LARGER; } -}; - -template -class Compare_z_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Comparison_result result_type; - typedef Arity_tag< 2 > Arity; - - Comparison_result - operator()( const Point_3&, const Point_3&) const - { return CGAL::LARGER; } -}; - -template -class Compute_area_2 -{ - typedef typename K::FT FT; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; - typedef typename K::Triangle_2 Triangle_2; - typedef typename K::Point_2 Point_2; -public: - typedef FT result_type; - typedef Arity_tag< 1 > Arity; - - FT - operator()( const Point_2&, const Point_2&, const Point_2&) const - { FT val = 0; return val; } - - FT - operator()( const Iso_rectangle_2&) const - { FT val = 0; return val; } - - FT - operator()( const Triangle_2&) const - { FT val = 0; return val; } -}; - -template -class Compute_area_3 -{ - typedef typename K::FT FT; - typedef typename K::Triangle_3 Triangle_3; - typedef typename K::Point_3 Point_3; -public: - typedef FT result_type; - typedef Arity_tag< 1 > Arity; - - FT - operator()( const Triangle_3&) const - { FT val = 0; return val; } - - FT - operator()( const Point_3&, const Point_3&, const Point_3&) const - { FT val = 0; return val; } -}; - -template -class Compute_determinant_2 -{ - typedef typename K::FT FT; - typedef typename K::Vector_2 Vector_2; -public: - typedef FT result_type; - typedef Arity_tag< 2 > Arity; - - FT - operator()(const Vector_2&, const Vector_2&) const - { FT val = 0; return val; } -}; - -template -class Compute_determinant_3 -{ - typedef typename K::FT FT; - typedef typename K::Vector_3 Vector_3; -public: - typedef FT result_type; - typedef Arity_tag< 3 > Arity; - - FT - operator()(const Vector_3&, const Vector_3&, const Vector_3&) const - { FT val = 0; return val; } -}; - -template -class Compute_scalar_product_2 -{ - typedef typename K::FT FT; - typedef typename K::Vector_2 Vector_2; -public: - typedef FT result_type; - typedef Arity_tag< 2 > Arity; - - FT - operator()(const Vector_2&, const Vector_2&) const - { FT val = 0; return val; } -}; - -template -class Compute_scalar_product_3 -{ - typedef typename K::FT FT; - typedef typename K::Vector_3 Vector_3; -public: - typedef FT result_type; - typedef Arity_tag< 2 > Arity; - - FT - operator()(const Vector_3&, const Vector_3&) const - { FT val = 0; return val; } -}; - - -template -class Compute_squared_area_3 -{ - typedef typename K::FT FT; - typedef typename K::Triangle_3 Triangle_3; - typedef typename K::Point_3 Point_3; -public: - typedef FT result_type; - typedef Arity_tag< 1 > Arity; - - FT - operator()( const Triangle_3&) const - { FT val = 0; return val; } - - FT - operator()( const Point_3&, const Point_3&, const Point_3&) const - { FT val = 0; return val; } -}; - -template -class Compute_squared_distance_2 -{ - typedef typename K::FT FT; -public: - typedef FT result_type; - typedef Arity_tag< 2 > Arity; - - // There are 25 combinaisons, we use a template. - template - FT - operator()( const T1&, const T2&) const - { FT val = 0; return val; } -}; - -template -class Compute_squared_distance_3 -{ - typedef typename K::FT FT; -public: - typedef FT result_type; - typedef Arity_tag< 2 > Arity; - - // There are 25 combinaisons, we use a template. - template - FT - operator()( const T1&, const T2&) const - { FT val = 0; return val; } -}; - -template -class Compute_squared_length_2 -{ - typedef typename K::FT FT; - typedef typename K::Vector_2 Vector_2; - typedef typename K::Segment_2 Segment_2; - public: - typedef FT result_type; - typedef Arity_tag< 1 > Arity; - - FT - operator()( const Vector_2&) const - { FT val = 0; return val; } - - FT - operator()( const Segment_2&) const - { FT val = 0; return val; } -}; - -template -class Compute_squared_length_3 -{ - typedef typename K::FT FT; - typedef typename K::Vector_3 Vector_3; - typedef typename K::Segment_3 Segment_3; - public: - typedef FT result_type; - typedef Arity_tag< 1 > Arity; - - FT - operator()( const Vector_3&) const - { FT val = 0; return val; } - - FT - operator()( const Segment_3&) const - { FT val = 0; return val; } -}; - -template -class Compute_squared_radius_2 -{ - typedef typename K::FT FT; - typedef typename K::Point_2 Point_2; - typedef typename K::Circle_2 Circle_2; -public: - typedef FT result_type; - typedef Arity_tag< 1 > Arity; - - FT - operator()( const Circle_2&) const - { FT val = 0; return val; } - - FT - operator()( const Point_2&, const Point_2&, const Point_2&) const - { FT val = 0; return val; } - - FT - operator()( const Point_2&, const Point_2&) const - { FT val = 0; return val; } -}; - -template -class Compute_squared_radius_3 -{ - typedef typename K::FT FT; - typedef typename K::Point_3 Point_3; - typedef typename K::Sphere_3 Sphere_3; -public: - typedef FT result_type; - typedef Arity_tag< 1 > Arity; - - FT - operator()( const Sphere_3&) const - { FT val = 0; return val; } - - FT - operator()( const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { FT val = 0; return val; } - - FT - operator()( const Point_3&, const Point_3&, const Point_3&) const - { FT val = 0; return val; } - - FT - operator()( const Point_3&, const Point_3&) const - { FT val = 0; return val; } -}; - -template -class Compute_volume_3 -{ - typedef typename K::FT FT; - typedef typename K::Point_3 Point_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; -public: - typedef FT result_type; - typedef Arity_tag< 1 > Arity; - - FT - operator()( const Tetrahedron_3&) const - { FT val = 0; return val; } - - FT - operator()( const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { FT val = 0; return val; } - - FT - operator()( const Iso_cuboid_3&) const - { FT val = 0; return val; } -}; - -template -class Construct_base_vector_3 -{ - typedef typename K::Vector_3 Vector_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef Vector_3 result_type; - typedef Arity_tag< 2 > Arity; - - Vector_3 - operator()( const Plane_3&, int) const - { - Vector_3 v; - return v; - } -}; - -template -class Construct_bisector_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Line_2 Line_2; -public: - typedef Line_2 result_type; - typedef Arity_tag< 2 > Arity; - - Line_2 - operator()(const Point_2&, const Point_2&) const - { Line_2 obj; return obj; } -}; - -template -class Construct_bisector_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef Plane_3 result_type; - typedef Arity_tag< 2 > Arity; - - Plane_3 - operator()(const Point_3&, const Point_3&) const - { Plane_3 obj; return obj; } -}; - -template -class Construct_center_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Circle_2 Circle_2; -public: - typedef Point_2 result_type; - typedef Arity_tag< 1 > Arity; - - Point_2 - operator()(const Circle_2&) const - { Point_2 obj; return obj; } -}; - -template -class Construct_center_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Sphere_3 Sphere_3; -public: - typedef Point_3 result_type; - typedef Arity_tag< 1 > Arity; - - Point_3 - operator()(const Sphere_3&) const - { Point_3 obj; return obj; } -}; - -template -class Construct_centroid_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Triangle_2 Triangle_2; -public: - typedef Point_2 result_type; - typedef Arity_tag< 3 > Arity; - - Point_2 - operator()(const Point_2&, const Point_2&, const Point_2&) const - { Point_2 obj; return obj; } - - Point_2 - operator()(const Triangle_2&) const - { Point_2 obj; return obj; } - - Point_2 - operator()(const Point_2&, const Point_2&, - const Point_2&, const Point_2&) const - { Point_2 obj; return obj; } -}; - -template -class Construct_centroid_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Triangle_3 Triangle_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; -public: - typedef Point_3 result_type; - typedef Arity_tag< 3 > Arity; - - Point_3 - operator()(const Point_3&, const Point_3&, const Point_3&) const - { Point_3 obj; return obj; } - - Point_3 - operator()(const Triangle_3&) const - { Point_3 obj; return obj; } - - Point_3 - operator()(const Tetrahedron_3&) const - { Point_3 obj; return obj; } - - Point_3 - operator()(const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { Point_3 obj; return obj; } -}; - -template -class Construct_circle_2 -{ - typedef typename K::FT FT; - typedef typename K::Point_2 Point_2; - typedef typename K::Circle_2 Circle_2; -public: - typedef Circle_2 result_type; - typedef Arity_tag< 3 > Arity; - - Circle_2 - operator()( const Point_2&, const FT&, - Orientation = COUNTERCLOCKWISE) const - { return Circle_2(); } - - Circle_2 - operator()( const Point_2&, const Point_2&, const Point_2&) const - { return Circle_2(); } - - Circle_2 - operator()( const Point_2&, const Point_2&, - Orientation = COUNTERCLOCKWISE) const - { return Circle_2(); } - - Circle_2 - operator()( const Point_2&, - Orientation = COUNTERCLOCKWISE) const - { return Circle_2(); } -}; - -template -class Construct_circumcenter_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Triangle_2 Triangle_2; -public: - typedef Point_2 result_type; - typedef Arity_tag< 3 > Arity; - - Point_2 - operator()(const Point_2&, const Point_2&) const - { return Point_2(); } - - Point_2 - operator()(const Point_2&, const Point_2&, const Point_2&) const - { return Point_2(); } - - Point_2 - operator()(const Triangle_2&) const - { return Point_2(); } -}; - -template -class Construct_circumcenter_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Triangle_3 Triangle_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; -public: - typedef Point_3 result_type; - typedef Arity_tag< 4 > Arity; - - Point_3 - operator()(const Point_3&, const Point_3&) const - { return Point_3(); } - - Point_3 - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return Point_3(); } - - Point_3 - operator()(const Triangle_3&) const - { return Point_3(); } - - Point_3 - operator()(const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return Point_3(); } - - Point_3 - operator()(const Tetrahedron_3&) const - { return Point_3(); } -}; - -template -class Construct_cross_product_vector_3 -{ - typedef typename K::Vector_3 Vector_3; -public: - typedef Vector_3 result_type; - typedef Arity_tag< 2 > Arity; - - Vector_3 - operator()(const Vector_3&, const Vector_3&) const - { return Vector_3(); } -}; - -template -class Construct_direction_2 -{ - typedef typename K::Direction_2 Direction_2; - typedef typename K::Vector_2 Vector_2; - typedef typename K::Line_2 Line_2; - typedef typename K::Ray_2 Ray_2; - typedef typename K::Segment_2 Segment_2; - typedef typename K::RT RT; -public: - typedef Direction_2 result_type; - typedef Arity_tag< 1 > Arity; - - Direction_2 - operator()(const Vector_2&) const - { return Direction_2(); } - - Direction_2 - operator()(const Line_2&) const - { return Direction_2(); } - - Direction_2 - operator()(const Ray_2&) const - { return Direction_2(); } - - Direction_2 - operator()(const Segment_2&) const - { return Direction_2(); } -}; - -template -class Construct_direction_3 -{ - typedef typename K::Direction_3 Direction_3; - typedef typename K::Vector_3 Vector_3; - typedef typename K::Line_3 Line_3; - typedef typename K::Ray_3 Ray_3; - typedef typename K::Segment_3 Segment_3; - typedef typename K::RT RT; -public: - typedef Direction_3 result_type; - typedef Arity_tag< 1 > Arity; - - Direction_3 - operator()(const Vector_3&) const - { return Direction_3(); } - - Direction_3 - operator()(const Line_3&) const - { return Direction_3(); } - - Direction_3 - operator()(const Ray_3&) const - { return Direction_3(); } - - Direction_3 - operator()(const Segment_3&) const - { return Direction_3(); } -}; - -template -class Construct_equidistant_line_3 -{ - typedef typename K::Line_3 Line_3; - typedef typename K::Point_3 Point_3; -public: - typedef Line_3 result_type; - typedef Arity_tag< 3 > Arity; - - Line_3 - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return Line_3(); } -}; - -template -class Construct_iso_cuboid_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; -public: - typedef Iso_cuboid_3 result_type; - typedef Arity_tag< 2 > Arity; - - Iso_cuboid_3 - operator()(const Point_3&, const Point_3&, int) const - { return Iso_cuboid_3(); } - - Iso_cuboid_3 - operator()(const Point_3&, const Point_3&) const - { return Iso_cuboid_3(); } - - Iso_cuboid_3 - operator()(const Point_3 &, const Point_3 &, - const Point_3 &, const Point_3 &, - const Point_3 &, const Point_3 &) const - { return Iso_cuboid_3(); } -}; - -template -class Construct_iso_rectangle_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; -public: - typedef Iso_rectangle_2 result_type; - typedef Arity_tag< 2 > Arity; - - Iso_rectangle_2 - operator()(const Point_2&, const Point_2&, int) const - { return Iso_rectangle_2(); } - - Iso_rectangle_2 - operator()(const Point_2&, const Point_2&) const - { return Iso_rectangle_2(); } - - Iso_rectangle_2 - operator()(const Point_2 &, const Point_2 &, - const Point_2 &, const Point_2 &) const - { return Iso_rectangle_2(); } -}; - -template -class Construct_lifted_point_3 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Point_3 Point_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef Point_3 result_type; - typedef Arity_tag< 2 > Arity; - - Point_3 - operator()(const Plane_3&, const Point_2&) const - { return Point_3(); } -}; - -template -class Construct_line_2 -{ - typedef typename K::RT RT; - typedef typename K::Point_2 Point_2; - typedef typename K::Vector_2 Vector_2; - typedef typename K::Direction_2 Direction_2; - typedef typename K::Segment_2 Segment_2; - typedef typename K::Ray_2 Ray_2; - typedef typename K::Line_2 Line_2; -public: - typedef Line_2 result_type; - typedef Arity_tag< 2 > Arity; - - Line_2 - operator()(const Point_2&, const Point_2&) const - { return Line_2(); } - - Line_2 - operator()(const Point_2&, const Direction_2&) const - { return Line_2(); } - - Line_2 - operator()(const Point_2&, const Vector_2&) const - { return Line_2(); } - - Line_2 - operator()(const Segment_2&) const - { return Line_2(); } - - Line_2 - operator()(const Ray_2&) const - { return Line_2(); } -}; - -template -class Construct_line_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Direction_3 Direction_3; - typedef typename K::Vector_3 Vector_3; - typedef typename K::Segment_3 Segment_3; - typedef typename K::Ray_3 Ray_3; - typedef typename K::Line_3 Line_3; -public: - typedef Line_3 result_type; - typedef Arity_tag< 2 > Arity; - - Line_3 - operator()(const Point_3&, const Point_3&) const - { return Line_3(); } - - Line_3 - operator()(const Point_3&, const Direction_3&) const - { return Line_3(); } - - Line_3 - operator()(const Point_3&, const Vector_3&) const - { return Line_3(); } - - Line_3 - operator()(const Segment_3&) const - { return Line_3(); } - - Line_3 - operator()(const Ray_3&) const - { return Line_3(); } -}; - - template - class Construct_max_vertex_2 - { - typedef typename K::Point_2 Point_2; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; - public: - typedef Point_2 result_type; - typedef Arity_tag< 1 > Arity; - - Point_2 - operator()(const Iso_rectangle_2&) const - { return Point_2(); } - }; - - template - class Construct_min_vertex_2 - { - typedef typename K::Point_2 Point_2; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; - public: - typedef Point_2 result_type; - typedef Arity_tag< 1 > Arity; - - Point_2 - operator()(const Iso_rectangle_2&) const - { return Point_2(); } - }; - - - template - class Construct_max_vertex_3 - { - typedef typename K::Point_3 Point_3; - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; - public: - typedef Point_3 result_type; - typedef Arity_tag< 1 > Arity; - - Point_3 - operator()(const Iso_cuboid_3&) const - { return Point_3(); } - }; - - template - class Construct_min_vertex_3 - { - typedef typename K::Point_3 Point_3; - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; - public: - typedef Point_3 result_type; - typedef Arity_tag< 1 > Arity; - - Point_3 - operator()(const Iso_cuboid_3&) const - { return Point_3(); } - }; - -template -class Construct_midpoint_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef Point_2 result_type; - typedef Arity_tag< 2 > Arity; - - Point_2 - operator()(const Point_2&, const Point_2&) const - { return Point_2(); } -}; - -template -class Construct_midpoint_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Point_3 result_type; - typedef Arity_tag< 2 > Arity; - - Point_3 - operator()(const Point_3&, const Point_3&) const - { return Point_3(); } -}; - -template -class Construct_normal_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Vector_3 Vector_3; -public: - typedef Vector_3 result_type; - typedef Arity_tag< 2 > Arity; - - Vector_3 - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return Vector_3(); } -}; - -template -class Construct_object_2 -{ - typedef typename K::Object_2 Object_2; -public: - typedef Object_2 result_type; - typedef Arity_tag< 1 > Arity; - - template - Object_2 - operator()( const Cls&) const - { Object_2 obj; return obj; } -}; - -template -class Construct_object_3 -{ - typedef typename K::Object_3 Object_3; -public: - typedef Object_3 result_type; - typedef Arity_tag< 1 > Arity; - - template - Object_3 - operator()( const Cls&) const - { Object_3 obj; return obj; } -}; - -template -class Construct_opposite_circle_2 -{ - typedef typename K::Circle_2 Circle_2; -public: - typedef Circle_2 result_type; - typedef Arity_tag< 1 > Arity; - - Circle_2 - operator()( const Circle_2&) const - { return Circle_2(); } -}; - -template -class Construct_opposite_direction_2 -{ - typedef typename K::Direction_2 Direction_2; -public: - typedef Direction_2 result_type; - typedef Arity_tag< 1 > Arity; - - Direction_2 - operator()( const Direction_2&) const - { return Direction_2(); } -}; - -template -class Construct_opposite_direction_3 -{ - typedef typename K::Direction_3 Direction_3; -public: - typedef Direction_3 result_type; - typedef Arity_tag< 1 > Arity; - - Direction_3 - operator()( const Direction_3&) const - { return Direction_3(); } -}; - -template -class Construct_opposite_line_2 -{ - typedef typename K::Line_2 Line_2; -public: - typedef Line_2 result_type; - typedef Arity_tag< 1 > Arity; - - Line_2 - operator()( const Line_2&) const - { return Line_2(); } -}; - -template -class Construct_opposite_line_3 -{ - typedef typename K::Line_3 Line_3; -public: - typedef Line_3 result_type; - typedef Arity_tag< 1 > Arity; - - Line_3 - operator()( const Line_3&) const - { return Line_3(); } -}; - -template -class Construct_opposite_plane_3 -{ - typedef typename K::Plane_3 Plane_3; -public: - typedef Plane_3 result_type; - typedef Arity_tag< 1 > Arity; - - Plane_3 - operator()( const Plane_3&) const - { return Plane_3(); } -}; - -template -class Construct_opposite_ray_2 -{ - typedef typename K::Ray_2 Ray_2; -public: - typedef Ray_2 result_type; - typedef Arity_tag< 1 > Arity; - - Ray_2 - operator()( const Ray_2&) const - { return Ray_2(); } -}; - -template -class Construct_opposite_ray_3 -{ - typedef typename K::Ray_3 Ray_3; -public: - typedef Ray_3 result_type; - typedef Arity_tag< 1 > Arity; - - Ray_3 - operator()( const Ray_3&) const - { return Ray_3(); } -}; - -template -class Construct_opposite_segment_2 -{ - typedef typename K::Segment_2 Segment_2; -public: - typedef Segment_2 result_type; - typedef Arity_tag< 1 > Arity; - - Segment_2 - operator()( const Segment_2&) const - { return Segment_2(); } -}; - -template -class Construct_opposite_segment_3 -{ - typedef typename K::Segment_3 Segment_3; -public: - typedef Segment_3 result_type; - typedef Arity_tag< 1 > Arity; - - Segment_3 - operator()( const Segment_3&) const - { return Segment_3(); } -}; - -template -class Construct_opposite_sphere_3 -{ - typedef typename K::Sphere_3 Sphere_3; -public: - typedef Sphere_3 result_type; - typedef Arity_tag< 1 > Arity; - - Sphere_3 - operator()( const Sphere_3&) const - { return Sphere_3(); } -}; - -template -class Construct_opposite_triangle_2 -{ - typedef typename K::Triangle_2 Triangle_2; -public: - typedef Triangle_2 result_type; - typedef Arity_tag< 1 > Arity; - - Triangle_2 - operator()( const Triangle_2&) const - { return Triangle_2(); } -}; - -template -class Construct_opposite_vector_2 -{ - typedef typename K::Vector_2 Vector_2; -public: - typedef Vector_2 result_type; - typedef Arity_tag< 1 > Arity; - - Vector_2 - operator()( const Vector_2&) const - { return Vector_2(); } -}; - -template -class Construct_opposite_vector_3 -{ - typedef typename K::Vector_3 Vector_3; -public: - typedef Vector_3 result_type; - typedef Arity_tag< 1 > Arity; - - Vector_3 - operator()( const Vector_3&) const - { return Vector_3(); } -}; - -template -class Construct_orthogonal_vector_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Vector_3 Vector_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef Vector_3 result_type; - typedef Arity_tag< 1 > Arity; - - Vector_3 - operator()( const Plane_3&) const - { return Vector_3(); } - - Vector_3 - operator()( const Point_3&, const Point_3&, const Point_3&) const - { return Vector_3(); } -}; - -template -class Construct_perpendicular_direction_2 -{ - typedef typename K::Direction_2 Direction_2; -public: - typedef Direction_2 result_type; - typedef Arity_tag< 2 > Arity; - - Direction_2 - operator()( const Direction_2&, Orientation) const - { return Direction_2(); } -}; - -template -class Construct_perpendicular_line_2 -{ - typedef typename K::Line_2 Line_2; - typedef typename K::Point_2 Point_2; -public: - typedef Line_2 result_type; - typedef Arity_tag< 2 > Arity; - - Line_2 - operator()( const Line_2&, const Point_2&) const - { return Line_2(); } -}; - -template -class Construct_perpendicular_line_3 -{ - typedef typename K::Line_3 Line_3; - typedef typename K::Point_3 Point_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef Line_3 result_type; - typedef Arity_tag< 2 > Arity; - - Line_3 - operator()( const Plane_3&, const Point_3&) const - { return Line_3(); } -}; - -template -class Construct_perpendicular_plane_3 -{ - typedef typename K::Line_3 Line_3; - typedef typename K::Point_3 Point_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef Plane_3 result_type; - typedef Arity_tag< 2 > Arity; - - Plane_3 - operator()( const Line_3&, const Point_3&) const - { return Plane_3(); } -}; - -template -class Construct_perpendicular_vector_2 -{ - typedef typename K::Vector_2 Vector_2; -public: - typedef Vector_2 result_type; - typedef Arity_tag< 2 > Arity; - - Vector_2 - operator()( const Vector_2&, Orientation) const - { return Vector_2(); } -}; - -template -class Construct_plane_3 -{ - typedef typename K::RT RT; - typedef typename K::Point_3 Point_3; - typedef typename K::Direction_3 Direction_3; - typedef typename K::Line_3 Line_3; - typedef typename K::Ray_3 Ray_3; - typedef typename K::Segment_3 Segment_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef Plane_3 result_type; - typedef Arity_tag< 2 > Arity; - - Plane_3 - operator()(const RT&, const RT&, const RT&, const RT&) const - { return Plane_3(); } - - Plane_3 - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return Plane_3(); } - - Plane_3 - operator()(const Point_3&, const Direction_3&) const - { return Plane_3(); } - - Plane_3 - operator()(const Line_3&, const Point_3&) const - { return Plane_3(); } - - Plane_3 - operator()(const Ray_3&, const Point_3&) const - { return Plane_3(); } - - Plane_3 - operator()(const Segment_3&, const Point_3&) const - { return Plane_3(); } -}; - -template -class Construct_point_on_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Segment_2 Segment_2; - typedef typename K::Line_2 Line_2; - typedef typename K::Ray_2 Ray_2; -public: - typedef Point_2 result_type; - typedef Arity_tag< 2 > Arity; - - Point_2 - operator()( const Line_2&, int) const - { return Point_2(); } - - Point_2 - operator()( const Segment_2&, int) const - { return Point_2(); } - - Point_2 - operator()( const Ray_2&, int) const - { return Point_2(); } -}; - -template -class Construct_point_on_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Segment_3 Segment_3; - typedef typename K::Line_3 Line_3; - typedef typename K::Ray_3 Ray_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef Point_3 result_type; - typedef Arity_tag< 2 > Arity; - - Point_3 - operator()( const Line_3&, int) const - { return Point_3(); } - - Point_3 - operator()( const Segment_3&, int) const - { return Point_3(); } - - Point_3 - operator()( const Ray_3&, int) const - { return Point_3(); } - - Point_3 - operator()( const Plane_3&) const - { return Point_3(); } -}; - -template -class Construct_point_2 -{ - typedef typename K::RT RT; - typedef typename K::Point_2 Point_2; -public: - typedef Point_2 result_type; - typedef Arity_tag< 1 > Arity; - - Point_2 - operator()(Origin) const - { return Point_2(); } -}; - -template -class Construct_point_3 -{ - typedef typename K::RT RT; - typedef typename K::Point_3 Point_3; -public: - typedef Point_3 result_type; - typedef Arity_tag< 1 > Arity; - - Point_3 - operator()(Origin) const - { return Point_3(); } -}; - -template -class Construct_projected_point_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Line_2 Line_2; -public: - typedef Point_2 result_type; - typedef Arity_tag< 2 > Arity; - - Point_2 - operator()( const Line_2&, const Point_2&) const - { return Point_2(); } -}; - -template -class Construct_projected_point_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Plane_3 Plane_3; - typedef typename K::Line_3 Line_3; -public: - typedef Point_3 result_type; - typedef Arity_tag< 2 > Arity; - - Point_3 - operator()( const Line_3&, const Point_3&) const - { return Point_3(); } - - Point_3 - operator()( const Plane_3&, const Point_3&) const - { return Point_3(); } -}; - -template -class Construct_projected_xy_point_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Point_3 Point_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef Point_2 result_type; - typedef Arity_tag< 2 > Arity; - - Point_2 - operator()( const Plane_3&, const Point_3&) const - { return Point_2(); } -}; - -template -class Construct_ray_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Vector_2 Vector_2; - typedef typename K::Direction_2 Direction_2; - typedef typename K::Line_2 Line_2; - typedef typename K::Ray_2 Ray_2; -public: - typedef Ray_2 result_type; - typedef Arity_tag< 2 > Arity; - - Ray_2 - operator()(const Point_2&, const Point_2&) const - { return Ray_2(); } - - Ray_2 - operator()(const Point_2&, const Vector_2&) const - { return Ray_2(); } - - Ray_2 - operator()(const Point_2&, const Direction_2&) const - { return Ray_2(); } - - Ray_2 - operator()(const Point_2&, const Line_2&) const - { return Ray_2(); } -}; - -template -class Construct_ray_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Vector_3 Vector_3; - typedef typename K::Direction_3 Direction_3; - typedef typename K::Line_3 Line_3; - typedef typename K::Ray_3 Ray_3; -public: - typedef Ray_3 result_type; - typedef Arity_tag< 2 > Arity; - - Ray_3 - operator()(const Point_3&, const Point_3&) const - { return Ray_3(); } - - Ray_3 - operator()(const Point_3&, const Vector_3&) const - { return Ray_3(); } - - Ray_3 - operator()(const Point_3&, const Direction_3&) const - { return Ray_3(); } - - Ray_3 - operator()(const Point_3&, const Line_3&) const - { return Ray_3(); } -}; - -template -class Construct_scaled_vector_2 -{ - typedef typename K::RT RT; - typedef typename K::Vector_2 Vector_2; -public: - typedef Vector_2 result_type; - typedef Arity_tag< 2 > Arity; - - Vector_2 - operator()( const Vector_2&, const RT&) const - { return Vector_2(); } - - Vector_2 - operator()( const Vector_2&, const Quotient&) const - { return Vector_2(); } -}; - -template -class Construct_scaled_vector_3 -{ - typedef typename K::RT RT; - typedef typename K::Vector_3 Vector_3; -public: - typedef Vector_3 result_type; - typedef Arity_tag< 2 > Arity; - - Vector_3 - operator()( const Vector_3&, const RT&) const - { return Vector_3(); } - - Vector_3 - operator()( const Vector_3&, const Quotient&) const - { return Vector_3(); } -}; - -template -class Construct_segment_2 -{ - typedef typename K::Segment_2 Segment_2; - typedef typename K::Point_2 Point_2; -public: - typedef Segment_2 result_type; - typedef Arity_tag< 2 > Arity; - - Segment_2 - operator()( const Point_2&, const Point_2&) const - { return Segment_2(); } -}; - -template -class Construct_segment_3 -{ - typedef typename K::Segment_3 Segment_3; - typedef typename K::Point_3 Point_3; -public: - typedef Segment_3 result_type; - typedef Arity_tag< 2 > Arity; - - Segment_3 - operator()( const Point_3&, const Point_3&) const - { return Segment_3(); } -}; - -template -class Construct_sphere_3 -{ - typedef typename K::FT FT; - typedef typename K::Point_3 Point_3; - typedef typename K::Sphere_3 Sphere_3; -public: - typedef Sphere_3 result_type; - typedef Arity_tag< 4 > Arity; - - Sphere_3 - operator()( const Point_3&, const FT&, - Orientation = COUNTERCLOCKWISE) const - { return Sphere_3(); } - - Sphere_3 - operator()( const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return Sphere_3(); } - - Sphere_3 - operator()( const Point_3&, const Point_3&, const Point_3&, - Orientation = COUNTERCLOCKWISE) const - { return Sphere_3(); } - - Sphere_3 - operator()( const Point_3&, const Point_3&, - Orientation = COUNTERCLOCKWISE) const - { return Sphere_3(); } - - Sphere_3 - operator()( const Point_3&, - Orientation = COUNTERCLOCKWISE) const - { return Sphere_3(); } -}; - -#ifndef CGAL_NO_DEPRECATED_CODE -template -class Construct_supporting_line_2 -{ - typedef typename K::Line_2 Line_2; - typedef typename K::Ray_2 Ray_2; - typedef typename K::Segment_2 Segment_2; -public: - typedef Line_2 result_type; - typedef Arity_tag< 1 > Arity; - - Line_2 - operator()( const Ray_2&) const - { return Line_2(); } - - Line_2 - operator()( const Segment_2&) const - { return Line_2(); } -}; - -template -class Construct_supporting_line_3 -{ - typedef typename K::Line_3 Line_3; - typedef typename K::Ray_3 Ray_3; - typedef typename K::Segment_3 Segment_3; -public: - typedef Line_3 result_type; - typedef Arity_tag< 1 > Arity; - - Line_3 - operator()( const Ray_3&) const - { return Line_3(); } - - Line_3 - operator()( const Segment_3&) const - { return Line_3(); } -}; -#endif // CGAL_NO_DEPRECATED_CODE - -template -class Construct_supporting_plane_3 -{ - typedef typename K::Triangle_3 Triangle_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef Plane_3 result_type; - typedef Arity_tag< 1 > Arity; - - Plane_3 - operator()( const Triangle_3&) const - { return Plane_3(); } -}; - -template -class Construct_tetrahedron_3 -{ - typedef typename K::Tetrahedron_3 Tetrahedron_3; - typedef typename K::Point_3 Point_3; -public: - typedef Tetrahedron_3 result_type; - typedef Arity_tag< 4 > Arity; - - Tetrahedron_3 - operator()( const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return Tetrahedron_3(); } -}; - -template -class Construct_translated_point_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Vector_2 Vector_2; -public: - typedef Point_2 result_type; - typedef Arity_tag< 2 > Arity; - - Point_2 - operator()( const Point_2&, const Vector_2&) const - { return Point_2(); } - - Point_2 - operator()( const Origin&, const Vector_2&) const - { return Point_2(); } -}; - -template -class Construct_translated_point_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Vector_3 Vector_3; -public: - typedef Point_3 result_type; - typedef Arity_tag< 2 > Arity; - - Point_3 - operator()( const Point_3&, const Vector_3&) const - { return Point_3(); } - - Point_3 - operator()( const Origin&, const Vector_3&) const - { return Point_3(); } -}; - -template -class Construct_triangle_2 -{ - typedef typename K::Triangle_2 Triangle_2; - typedef typename K::Point_2 Point_2; -public: - typedef Triangle_2 result_type; - typedef Arity_tag< 3 > Arity; - - Triangle_2 - operator()( const Point_2&, const Point_2&, const Point_2&) const - { return Triangle_2(); } -}; - -template -class Construct_triangle_3 -{ - typedef typename K::Triangle_3 Triangle_3; - typedef typename K::Point_3 Point_3; -public: - typedef Triangle_3 result_type; - typedef Arity_tag< 3 > Arity; - - Triangle_3 - operator()( const Point_3&, const Point_3&, const Point_3&) const - { return Triangle_3(); } -}; - -template -class Construct_unit_normal_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Vector_3 Vector_3; -public: - typedef Vector_3 result_type; - typedef Arity_tag< 2 > Arity; - - Vector_3 - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return Vector_3(); } -}; - -template -class Construct_vector_2 -{ - typedef typename K::RT RT; - typedef typename K::Segment_2 Segment_2; - typedef typename K::Ray_2 Ray_2; - typedef typename K::Line_2 Line_2; - typedef typename K::Vector_2 Vector_2; - typedef typename K::Point_2 Point_2; -public: - typedef Vector_2 result_type; - typedef Arity_tag< 2 > Arity; - - Vector_2 - operator()( const Point_2&, const Point_2&) const - { return Vector_2(); } - - Vector_2 - operator()( const Origin&, const Point_2&) const - { return Vector_2(); } - - Vector_2 - operator()( const Point_2&, const Origin&) const - { return Vector_2(); } - - Vector_2 - operator()( const Segment_2&) const - { return Vector_2(); } - - Vector_2 - operator()( const Ray_2&) const - { return Vector_2(); } - - Vector_2 - operator()( const Line_2&) const - { return Vector_2(); } - - Vector_2 - operator()( Null_vector) const - { return Vector_2(); } -}; - -template -class Construct_vector_3 -{ - typedef typename K::RT RT; - typedef typename K::Segment_3 Segment_3; - typedef typename K::Ray_3 Ray_3; - typedef typename K::Line_3 Line_3; - typedef typename K::Vector_3 Vector_3; - typedef typename K::Point_3 Point_3; -public: - typedef Vector_3 result_type; - typedef Arity_tag< 2 > Arity; - - Vector_3 - operator()( const Point_3&, const Point_3&) const - { return Vector_3(); } - - Vector_3 - operator()( const Origin&, const Point_3&) const - { return Vector_3(); } - - Vector_3 - operator()( const Point_3&, const Origin&) const - { return Vector_3(); } - - Vector_3 - operator()( const Segment_3&) const - { return Vector_3(); } - - Vector_3 - operator()( const Ray_3&) const - { return Vector_3(); } - - Vector_3 - operator()( const Line_3&) const - { return Vector_3(); } - - Vector_3 - operator()( Null_vector) const - { return Vector_3(); } -}; - -template -class Construct_vertex_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Segment_2 Segment_2; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; - typedef typename K::Triangle_2 Triangle_2; -public: - typedef Point_2 result_type; - typedef Arity_tag< 2 > Arity; - - Point_2 - operator()( const Segment_2&, int) const - { return Point_2(); } - - Point_2 - operator()( const Triangle_2&, int) const - { return Point_2(); } - - Point_2 - operator()( const Iso_rectangle_2&, int) const - { return Point_2(); } -}; - -template -class Construct_vertex_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Segment_3 Segment_3; - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; - typedef typename K::Triangle_3 Triangle_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; -public: - typedef Point_3 result_type; - typedef Arity_tag< 2 > Arity; - - Point_3 - operator()( const Segment_3&, int) const - { return Point_3(); } - - Point_3 - operator()( const Triangle_3&, int) const - { return Point_3(); } - - Point_3 - operator()( const Iso_cuboid_3&, int) const - { return Point_3(); } - - Point_3 - operator()( const Tetrahedron_3&, int) const - { return Point_3(); } -}; - -template -class Construct_bbox_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Segment_2 Segment_2; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; - typedef typename K::Triangle_2 Triangle_2; - typedef typename K::Circle_2 Circle_2; -public: - typedef Bbox_2 result_type; - typedef Arity_tag< 1 > Arity; - - Bbox_2 - operator()( const Point_2&) const - { Bbox_2 b; return b; } - - Bbox_2 - operator()( const Segment_2&) const - { Bbox_2 b; return b; } - - - Bbox_2 - operator()( const Triangle_2&) const - { Bbox_2 b; return b; } - - Bbox_2 - operator()( const Iso_rectangle_2&) const - { Bbox_2 b; return b; } - - Bbox_2 - operator()( const Circle_2&) const - { Bbox_2 b; return b; } -}; - - -template -class Construct_bbox_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Segment_3 Segment_3; - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; - typedef typename K::Triangle_3 Triangle_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; - typedef typename K::Sphere_3 Sphere_3; -public: - typedef Bbox_3 result_type; - typedef Arity_tag< 1 > Arity; - - Bbox_3 - operator()( const Point_3&) const - { Bbox_3 b; return b; } - - Bbox_3 - operator()( const Segment_3&) const - { Bbox_3 b; return b; } - - - Bbox_3 - operator()( const Triangle_3&) const - { Bbox_3 b; return b; } - - Bbox_3 - operator()( const Iso_cuboid_3&) const - { Bbox_3 b; return b; } - - Bbox_3 - operator()( const Tetrahedron_3&) const - { Bbox_3 b; return b; } - - Bbox_3 - operator()( const Sphere_3&) const - { Bbox_3 b; return b; } -}; - - template - class Construct_cartesian_const_iterator_2 - { - typedef typename K::Point_2 Point_2; - typedef typename K::Cartesian_const_iterator_2 - Cartesian_const_iterator_2; - - public: - typedef Cartesian_const_iterator_2 result_type; - typedef Arity_tag< 1 > Arity; - - Cartesian_const_iterator_2 - operator()( const Point_2&) const - { - return Cartesian_const_iterator_2(); - } - - Cartesian_const_iterator_2 - operator()( const Point_2&, int) const - { - return Cartesian_const_iterator_2(); - } - }; - - template - class Construct_cartesian_const_iterator_3 - { - typedef typename K::Point_3 Point_3; - typedef typename K::Cartesian_const_iterator_3 - Cartesian_const_iterator_3; - - public: - typedef Cartesian_const_iterator_3 result_type; - typedef Arity_tag< 1 > Arity; - - Cartesian_const_iterator_3 - operator()( const Point_3&) const - { - return Cartesian_const_iterator_3(); - } - - Cartesian_const_iterator_3 - operator()( const Point_3&, int) const - { - return Cartesian_const_iterator_3(); - } - }; - -template -class Coplanar_orientation_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Orientation result_type; - typedef Arity_tag< 4 > Arity; - - Orientation - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return CGAL::COLLINEAR; } - - Orientation - operator()( const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return CGAL::COLLINEAR; } -}; - -template -class Coplanar_side_of_bounded_circle_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Bounded_side result_type; - typedef Arity_tag< 4 > Arity; - - Bounded_side - operator()( const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return CGAL::ON_BOUNDARY; } -}; - -template -class Coplanar_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 4 > Arity; - - bool - operator()( const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Counterclockwise_in_between_2 -{ - typedef typename K::Direction_2 Direction_2; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()( const Direction_2&, const Direction_2&, - const Direction_2&) const - { return true; } -}; - -template -class Do_intersect_2 -{ -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - // There are 36 combinaisons, so I use a template. - template - bool - operator()(const T1&, const T2&) const - { return true; } -}; - -template -class Do_intersect_3 -{ -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - // There are x combinaisons, so I use a template. - template - bool - operator()(const T1&, const T2&) const - { return true; } -}; - -template -class Equal_xy_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Equal_x_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Equal_x_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Equal_y_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Equal_y_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Equal_z_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Equal_2 -{ -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - // template to replace n different versions - template - bool - operator()(const T&, const T&) const - { return true; } -}; - -template -class Equal_3 -{ -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - // template to replace n different versions - template - bool - operator()(const T&, const T&) const - { return true; } -}; - -template -class Has_on_boundary_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; - typedef typename K::Circle_2 Circle_2; - typedef typename K::Triangle_2 Triangle_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Circle_2&, const Point_2&) const - { return true; } - - bool - operator()( const Triangle_2&, const Point_2&) const - { return true; } - - bool - operator()( const Iso_rectangle_2&, const Point_2&) const - { return true; } -}; - -template -class Has_on_boundary_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; - typedef typename K::Sphere_3 Sphere_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Sphere_3&, const Point_3&) const - { return true; } - - bool - operator()( const Tetrahedron_3&, const Point_3&) const - { return true; } - - bool - operator()( const Iso_cuboid_3&, const Point_3&) const - { return true; } -}; - -template -class Has_on_bounded_side_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; - typedef typename K::Circle_2 Circle_2; - typedef typename K::Triangle_2 Triangle_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Circle_2&, const Point_2&) const - { return true; } - - bool - operator()( const Triangle_2&, const Point_2&) const - { return true; } - - bool - operator()( const Iso_rectangle_2&, const Point_2&) const - { return true; } -}; - -template -class Has_on_bounded_side_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; - typedef typename K::Sphere_3 Sphere_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Sphere_3&, const Point_3&) const - { return true; } - - bool - operator()( const Tetrahedron_3&, const Point_3&) const - { return true; } - - bool - operator()( const Iso_cuboid_3&, const Point_3&) const - { return true; } -}; - -template -class Has_on_negative_side_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Line_2 Line_2; - typedef typename K::Circle_2 Circle_2; - typedef typename K::Triangle_2 Triangle_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Circle_2&, const Point_2&) const - { return true; } - - bool - operator()( const Triangle_2&, const Point_2&) const - { return true; } - - bool - operator()( const Line_2&, const Point_2&) const - { return true; } -}; - -template -class Has_on_negative_side_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Plane_3 Plane_3; - typedef typename K::Sphere_3 Sphere_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Sphere_3&, const Point_3&) const - { return true; } - - bool - operator()( const Tetrahedron_3&, const Point_3&) const - { return true; } - - bool - operator()( const Plane_3&, const Point_3&) const - { return true; } -}; - -template -class Has_on_positive_side_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Line_2 Line_2; - typedef typename K::Circle_2 Circle_2; - typedef typename K::Triangle_2 Triangle_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Circle_2&, const Point_2&) const - { return true; } - - bool - operator()( const Triangle_2&, const Point_2&) const - { return true; } - - bool - operator()( const Line_2&, const Point_2&) const - { return true; } -}; - -template -class Has_on_positive_side_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Plane_3 Plane_3; - typedef typename K::Sphere_3 Sphere_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Sphere_3&, const Point_3&) const - { return true; } - - bool - operator()( const Tetrahedron_3&, const Point_3&) const - { return true; } - - bool - operator()( const Plane_3&, const Point_3&) const - { return true; } -}; - -template -class Has_on_unbounded_side_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; - typedef typename K::Circle_2 Circle_2; - typedef typename K::Triangle_2 Triangle_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Circle_2&, const Point_2&) const - { return true; } - - bool - operator()( const Triangle_2&, const Point_2&) const - { return true; } - - bool - operator()( const Iso_rectangle_2&, const Point_2&) const - { return true; } -}; - -template -class Has_on_unbounded_side_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; - typedef typename K::Sphere_3 Sphere_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Sphere_3&, const Point_3&) const - { return true; } - - bool - operator()( const Tetrahedron_3&, const Point_3&) const - { return true; } - - bool - operator()( const Iso_cuboid_3&, const Point_3&) const - { return true; } -}; - -template -class Has_on_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Line_2 Line_2; - typedef typename K::Ray_2 Ray_2; - typedef typename K::Segment_2 Segment_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Line_2&, const Point_2&) const - { return true; } - - bool - operator()( const Ray_2&, const Point_2&) const - { return true; } - - bool - operator()( const Segment_2&, const Point_2&) const - { return true; } -}; - -template -class Has_on_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Line_3 Line_3; - typedef typename K::Ray_3 Ray_3; - typedef typename K::Segment_3 Segment_3; - typedef typename K::Plane_3 Plane_3; - typedef typename K::Triangle_3 Triangle_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Line_3&, const Point_3&) const - { return true; } - - bool - operator()( const Ray_3&, const Point_3&) const - { return true; } - - bool - operator()( const Segment_3&, const Point_3&) const - { return true; } - - bool - operator()( const Plane_3&, const Point_3&) const - { return true; } - - bool - operator()( const Triangle_3&, const Point_3&) const - { return true; } -}; - -template -class Intersect_2 -{ - typedef typename K::Object_2 Object_2; -public: - typedef Object_2 result_type; - typedef Arity_tag< 2 > Arity; - - // 25 possibilities, so I keep the template. - template - Object_2 - operator()(const T1&, const T2&) const - { return Object_2(); } -}; - -template -class Intersect_3 -{ - typedef typename K::Object_3 Object_3; -public: - typedef Object_3 result_type; - typedef Arity_tag< 2 > Arity; - - // n possibilities, so I keep the template. - template - Object_3 - operator()(const T1&, const T2&) const - { return Object_3(); } -}; - -template -class Is_degenerate_2 -{ - typedef typename K::Circle_2 Circle_2; - typedef typename K::Iso_rectangle_2 Iso_rectangle_2; - typedef typename K::Line_2 Line_2; - typedef typename K::Ray_2 Ray_2; - typedef typename K::Segment_2 Segment_2; - typedef typename K::Triangle_2 Triangle_2; -public: - typedef bool result_type; - typedef Arity_tag< 1 > Arity; - - bool - operator()( const Circle_2&) const - { return true; } - - bool - operator()( const Iso_rectangle_2&) const - { return true; } - - bool - operator()( const Line_2&) const - { return true; } - - bool - operator()( const Ray_2&) const - { return true; } - - bool - operator()( const Segment_2&) const - { return true; } - - bool - operator()( const Triangle_2&) const - { return true; } -}; - -template -class Is_degenerate_3 -{ - typedef typename K::Iso_cuboid_3 Iso_cuboid_3; - typedef typename K::Line_3 Line_3; - typedef typename K::Plane_3 Plane_3; - typedef typename K::Ray_3 Ray_3; - typedef typename K::Segment_3 Segment_3; - typedef typename K::Sphere_3 Sphere_3; - typedef typename K::Triangle_3 Triangle_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; -public: - typedef bool result_type; - typedef Arity_tag< 1 > Arity; - - bool - operator()( const Iso_cuboid_3&) const - { return true; } - - bool - operator()( const Line_3&) const - { return true; } - - bool - operator()( const Plane_3&) const - { return true; } - - bool - operator()( const Ray_3&) const - { return true; } - - bool - operator()( const Segment_3&) const - { return true; } - - bool - operator()( const Sphere_3&) const - { return true; } - - bool - operator()( const Triangle_3&) const - { return true; } - - bool - operator()( const Tetrahedron_3&) const - { return true; } -}; - -template -class Is_horizontal_2 -{ - typedef typename K::Line_2 Line_2; - typedef typename K::Segment_2 Segment_2; - typedef typename K::Ray_2 Ray_2; -public: - typedef bool result_type; - typedef Arity_tag< 1 > Arity; - - bool - operator()( const Line_2&) const - { return true; } - - bool - operator()( const Segment_2&) const - { return true; } - - bool - operator()( const Ray_2&) const - { return true; } -}; - -template -class Is_vertical_2 -{ - typedef typename K::Line_2 Line_2; - typedef typename K::Segment_2 Segment_2; - typedef typename K::Ray_2 Ray_2; -public: - typedef bool result_type; - typedef Arity_tag< 1 > Arity; - - bool - operator()( const Line_2&) const - { return true; } - - bool - operator()( const Segment_2&) const - { return true; } - - bool - operator()( const Ray_2&) const - { return true; } -}; - - -template -class Left_turn_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()(const Point_2&, const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Less_distance_to_point_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()(const Point_2&, const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Less_distance_to_point_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()(const Point_3&, const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Less_rotate_ccw_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()(const Point_2&, const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Less_signed_distance_to_line_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Line_2 Line_2; -public: - typedef bool result_type; - typedef Arity_tag< 4 > Arity; - - bool - operator()(const Point_2&, const Point_2&, - const Point_2&, const Point_2&) const - { return true; } - - bool - operator()(const Line_2&, - const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Less_signed_distance_to_plane_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Plane_3 Plane_3; -public: - typedef bool result_type; - typedef Arity_tag< 3 > Arity; - - bool - operator()( const Plane_3&, const Point_3&, const Point_3&) const - { return true; } - - bool - operator()( const Point_3&, const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Less_xyz_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Less_xy_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Less_xy_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Less_x_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Less_x_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Less_yx_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Less_y_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_2&, const Point_2&) const - { return true; } -}; - -template -class Less_y_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Less_z_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef bool result_type; - typedef Arity_tag< 2 > Arity; - - bool - operator()( const Point_3&, const Point_3&) const - { return true; } -}; - -template -class Orientation_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Vector_2 Vector_2; -public: - typedef Orientation result_type; - typedef Arity_tag< 3 > Arity; - - Orientation - operator()(const Point_2&, const Point_2&, const Point_2&) const - { return CGAL::COLLINEAR; } - - Orientation - operator()(const Vector_2&, const Vector_2&) const - { return CGAL::COLLINEAR; } -}; - -template -class Orientation_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Vector_3 Vector_3; -public: - typedef Orientation result_type; - typedef Arity_tag< 4 > Arity; - - Orientation - operator()( const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return CGAL::COLLINEAR; } - - Orientation - operator()( const Vector_3&, const Vector_3&, const Vector_3&) const - { return CGAL::COLLINEAR; } -}; - -template -class Oriented_side_2 -{ - typedef typename K::Point_2 Point_2; - typedef typename K::Circle_2 Circle_2; - typedef typename K::Line_2 Line_2; - typedef typename K::Triangle_2 Triangle_2; -public: - typedef Oriented_side result_type; - typedef Arity_tag< 2 > Arity; - - Oriented_side - operator()( const Circle_2&, const Point_2&) const - { return CGAL::ON_POSITIVE_SIDE; } - - Oriented_side - operator()( const Line_2&, const Point_2&) const - { return CGAL::ON_POSITIVE_SIDE; } - - Oriented_side - operator()( const Triangle_2&, const Point_2&) const - { return CGAL::ON_POSITIVE_SIDE; } -}; - -template -class Oriented_side_3 -{ - typedef typename K::Point_3 Point_3; - typedef typename K::Tetrahedron_3 Tetrahedron_3; - typedef typename K::Plane_3 Plane_3; - typedef typename K::Sphere_3 Sphere_3; -public: - typedef Oriented_side result_type; - typedef Arity_tag< 2 > Arity; - - Oriented_side - operator()( const Sphere_3&, const Point_3&) const - { return CGAL::ON_POSITIVE_SIDE; } - - Oriented_side - operator()( const Plane_3&, const Point_3&) const - { return CGAL::ON_POSITIVE_SIDE; } - - Oriented_side - operator()( const Tetrahedron_3&, const Point_3&) const - { return CGAL::ON_POSITIVE_SIDE; } -}; - -template -class Side_of_bounded_circle_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef Bounded_side result_type; - typedef Arity_tag< 4 > Arity; - - Bounded_side - operator()( const Point_2&, const Point_2&, const Point_2&) const - { return CGAL::ON_BOUNDARY; } - - Bounded_side - operator()( const Point_2&, const Point_2&, - const Point_2&, const Point_2&) const - { return CGAL::ON_BOUNDARY; } -}; - -template -class Side_of_bounded_sphere_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Bounded_side result_type; - typedef Arity_tag< 5 > Arity; - - Bounded_side - operator()( const Point_3&, const Point_3&, const Point_3&) const - { return CGAL::ON_BOUNDARY; } - - Bounded_side - operator()( const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return CGAL::ON_BOUNDARY; } - - Bounded_side - operator()( const Point_3&, const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return CGAL::ON_BOUNDARY; } -}; - -template -class Side_of_oriented_circle_2 -{ - typedef typename K::Point_2 Point_2; -public: - typedef Oriented_side result_type; - typedef Arity_tag< 4 > Arity; - - Oriented_side - operator()( const Point_2&, const Point_2&, - const Point_2&, const Point_2&) const - { return CGAL::ON_POSITIVE_SIDE; } -}; - -template -class Side_of_oriented_sphere_3 -{ - typedef typename K::Point_3 Point_3; -public: - typedef Oriented_side result_type; - typedef Arity_tag< 5 > Arity; - - Oriented_side - operator()( const Point_3&, const Point_3&, const Point_3&, - const Point_3&, const Point_3&) const - { return CGAL::ON_POSITIVE_SIDE; } -}; - - -} // namespace CGALca - -CGAL_END_NAMESPACE - -#endif diff --git a/Kernel_23/include/CGAL/Kernel/concept_archetype_interface_macros.h b/Kernel_23/include/CGAL/Kernel/concept_archetype_interface_macros.h deleted file mode 100644 index ecae7aa4729..00000000000 --- a/Kernel_23/include/CGAL/Kernel/concept_archetype_interface_macros.h +++ /dev/null @@ -1,1086 +0,0 @@ -// Copyright (c) 1999,2003 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$ -// $Id$ -// -// -// Author(s) : Matthias Baesken - -// for the original version see Kernel/interface_macros.h - -// This file is intentionally not protected against re-inclusion. -// It's aimed at being included from within a kernel traits class, this -// way we share more code. - -// It is the responsability of the including file to correctly set the 2 -// macros CGAL_Kernel_pred and CGAL_Kernel_cons. -// And they are #undefed at the end of this file. - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_ANGLE_2) -CGAL_Kernel_pred(Angle_2, - angle_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_ANGLE_3) -CGAL_Kernel_pred(Angle_3, - angle_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_ARE_ORDERED_ALONG_LINE_2) -CGAL_Kernel_pred(Are_ordered_along_line_2, - are_ordered_along_line_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_ARE_ORDERED_ALONG_LINE_3) -CGAL_Kernel_pred(Are_ordered_along_line_3, - are_ordered_along_line_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_ARE_PARALLEL_2) -CGAL_Kernel_pred(Are_parallel_2, - are_parallel_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_ARE_PARALLEL_3) -CGAL_Kernel_pred(Are_parallel_3, - are_parallel_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_ARE_STRICTLY_ORDERED_ALONG_LINE_2) -CGAL_Kernel_pred(Are_strictly_ordered_along_line_2, - are_strictly_ordered_along_line_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_ARE_STRICTLY_ORDERED_ALONG_LINE_3) -CGAL_Kernel_pred(Are_strictly_ordered_along_line_3, - are_strictly_ordered_along_line_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_ASSIGN_2) -CGAL_Kernel_cons(Assign_2, - assign_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_ASSIGN_3) -CGAL_Kernel_cons(Assign_3, - assign_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_BOUNDED_SIDE_2) -CGAL_Kernel_pred(Bounded_side_2, - bounded_side_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_BOUNDED_SIDE_3) -CGAL_Kernel_pred(Bounded_side_3, - bounded_side_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COLLINEAR_ARE_ORDERED_ALONG_LINE_2) -CGAL_Kernel_pred(Collinear_are_ordered_along_line_2, - collinear_are_ordered_along_line_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COLLINEAR_ARE_ORDERED_ALONG_LINE_3) -CGAL_Kernel_pred(Collinear_are_ordered_along_line_3, - collinear_are_ordered_along_line_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COLLINEAR_ARE_STRICTLY_ORDERED_ALONG_LINE_2) -CGAL_Kernel_pred(Collinear_are_strictly_ordered_along_line_2, - collinear_are_strictly_ordered_along_line_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COLLINEAR_ARE_STRICTLY_ORDERED_ALONG_LINE_3) -CGAL_Kernel_pred(Collinear_are_strictly_ordered_along_line_3, - collinear_are_strictly_ordered_along_line_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COLLINEAR_HAS_ON_2) -CGAL_Kernel_pred(Collinear_has_on_2, - collinear_has_on_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COLLINEAR_2) -CGAL_Kernel_pred(Collinear_2, - collinear_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COLLINEAR_3) -CGAL_Kernel_pred(Collinear_3, - collinear_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPARE_ANGLE_WITH_X_AXIS_2) -CGAL_Kernel_pred(Compare_angle_with_x_axis_2, - compare_angle_with_x_axis_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPARE_DISTANCE_2) -CGAL_Kernel_pred(Compare_distance_2, - compare_distance_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPARE_DISTANCE_3) -CGAL_Kernel_pred(Compare_distance_3, - compare_distance_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPARE_SLOPE_2) -CGAL_Kernel_pred(Compare_slope_2, - compare_slope_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPARE_SQUARED_DISTANCE_2) -CGAL_Kernel_pred(Compare_squared_distance_2, - compare_squared_distance_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPARE_SQUARED_DISTANCE_3) -CGAL_Kernel_pred(Compare_squared_distance_3, - compare_squared_distance_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPARE_X_AT_Y_2) -CGAL_Kernel_pred(Compare_x_at_y_2, - compare_x_at_y_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPARE_XYZ_3) -CGAL_Kernel_pred(Compare_xyz_3, - compare_xyz_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPARE_XY_2) -CGAL_Kernel_pred(Compare_xy_2, - compare_xy_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPARE_XY_3) -CGAL_Kernel_pred(Compare_xy_3, - compare_xy_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPARE_X_2) -CGAL_Kernel_pred(Compare_x_2, - compare_x_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPARE_X_3) -CGAL_Kernel_pred(Compare_x_3, - compare_x_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPARE_Y_AT_X_2) -CGAL_Kernel_pred(Compare_y_at_x_2, - compare_y_at_x_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPARE_Y_2) -CGAL_Kernel_pred(Compare_y_2, - compare_y_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPARE_Y_3) -CGAL_Kernel_pred(Compare_y_3, - compare_y_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPARE_YX_2) -CGAL_Kernel_pred(Compare_yx_2, - compare_yx_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPARE_Z_3) -CGAL_Kernel_pred(Compare_z_3, - compare_z_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPUTE_AREA_2) -CGAL_Kernel_cons(Compute_area_2, - compute_area_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPUTE_AREA_2) -CGAL_Kernel_cons(Compute_area_3, - compute_area_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPUTE_DETERMINANT_2) -CGAL_Kernel_cons(Compute_determinant_2, - compute_determinant_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPUTE_DETERMINANT_3) -CGAL_Kernel_cons(Compute_determinant_3, - compute_determinant_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPUTE_SCALAR_PRODUCT_2) -CGAL_Kernel_cons(Compute_scalar_product_2, - compute_scalar_product_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPUTE_SCALAR_PRODUCT_3) -CGAL_Kernel_cons(Compute_scalar_product_3, - compute_scalar_product_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COMPUTE_AREA_3) -CGAL_Kernel_cons(Compute_squared_area_3, - compute_squared_area_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPUTE_SQUARED_DISTANCE_2) -CGAL_Kernel_cons(Compute_squared_distance_2, - compute_squared_distance_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPUTE_SQUARED_DISTANCE_3) -CGAL_Kernel_cons(Compute_squared_distance_3, - compute_squared_distance_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPUTE_SQUARED_LENGTH_2) -CGAL_Kernel_cons(Compute_squared_length_2, - compute_squared_length_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPUTE_SQUARED_LENGTH_3) -CGAL_Kernel_cons(Compute_squared_length_3, - compute_squared_length_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPUTE_SQUARED_RADIUS_2) -CGAL_Kernel_cons(Compute_squared_radius_2, - compute_squared_radius_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPUTE_SQUARED_RADIUS_3) -CGAL_Kernel_cons(Compute_squared_radius_3, - compute_squared_radius_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COMPUTE_VOLUME_3) -CGAL_Kernel_cons(Compute_volume_3, - compute_volume_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_BASE_VECTOR_3) -CGAL_Kernel_cons(Construct_base_vector_3, - construct_base_vector_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_BISECTOR_2) -CGAL_Kernel_cons(Construct_bisector_2, - construct_bisector_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_BISECTOR_3) -CGAL_Kernel_cons(Construct_bisector_3, - construct_bisector_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_CENTER_2) -CGAL_Kernel_cons(Construct_center_2, - construct_center_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_CENTER_3) -CGAL_Kernel_cons(Construct_center_3, - construct_center_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_CENTROID_2) -CGAL_Kernel_cons(Construct_centroid_2, - construct_centroid_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_CENTROID_3) -CGAL_Kernel_cons(Construct_centroid_3, - construct_centroid_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_CIRCLE_2) -CGAL_Kernel_cons(Construct_circle_2, - construct_circle_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_CIRCUMCENTER_2) -CGAL_Kernel_cons(Construct_circumcenter_2, - construct_circumcenter_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_CIRCUMCENTER_3) -CGAL_Kernel_cons(Construct_circumcenter_3, - construct_circumcenter_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_CROSS_PRODUCT_VECTOR_3) -CGAL_Kernel_cons(Construct_cross_product_vector_3, - construct_cross_product_vector_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_DIRECTION_2) -CGAL_Kernel_cons(Construct_direction_2, - construct_direction_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_DIRECTION_3) -CGAL_Kernel_cons(Construct_direction_3, - construct_direction_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_EQUIDISTANT_LINE_3) -CGAL_Kernel_cons(Construct_equidistant_line_3, - construct_equidistant_line_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_ISO_CUBOID_3) -CGAL_Kernel_cons(Construct_iso_cuboid_3, - construct_iso_cuboid_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_ISO_RECTANGLE_2) -CGAL_Kernel_cons(Construct_iso_rectangle_2, - construct_iso_rectangle_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_LIFTED_POINT_3) -CGAL_Kernel_cons(Construct_lifted_point_3, - construct_lifted_point_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_CONSTRUCT_LINE_2) -CGAL_Kernel_cons(Construct_line_2, - construct_line_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_CONSTRUCT_LINE_3) -CGAL_Kernel_cons(Construct_line_3, - construct_line_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_MAX_VERTEX_2) -CGAL_Kernel_cons(Construct_max_vertex_2, - construct_max_vertex_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_MAX_VERTEX_3) -CGAL_Kernel_cons(Construct_max_vertex_3, - construct_max_vertex_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_MIDPOINT_2) -CGAL_Kernel_cons(Construct_midpoint_2, - construct_midpoint_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_MIDPOINT_3) -CGAL_Kernel_cons(Construct_midpoint_3, - construct_midpoint_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_MIN_VERTEX_2) -CGAL_Kernel_cons(Construct_min_vertex_2, - construct_min_vertex_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_MIN_VERTEX_3) -CGAL_Kernel_cons(Construct_min_vertex_3, - construct_min_vertex_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_NORMAL_3) -CGAL_Kernel_cons(Construct_normal_3, - construct_normal_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OBJECT_2) -CGAL_Kernel_cons(Construct_object_2, - construct_object_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_CONSTRUCT_OBJECT_3) -CGAL_Kernel_cons(Construct_object_3, - construct_object_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_CIRCLE_2) -CGAL_Kernel_cons(Construct_opposite_circle_2, - construct_opposite_circle_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_DIRECTION_2) -CGAL_Kernel_cons(Construct_opposite_direction_2, - construct_opposite_direction_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_DIRECION_3) -CGAL_Kernel_cons(Construct_opposite_direction_3, - construct_opposite_direction_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_LINE_2) -CGAL_Kernel_cons(Construct_opposite_line_2, - construct_opposite_line_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_LINE_3) -CGAL_Kernel_cons(Construct_opposite_line_3, - construct_opposite_line_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_PLANE_3) -CGAL_Kernel_cons(Construct_opposite_plane_3, - construct_opposite_plane_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_RAY_2) -CGAL_Kernel_cons(Construct_opposite_ray_2, - construct_opposite_ray_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_RAY_3) -CGAL_Kernel_cons(Construct_opposite_ray_3, - construct_opposite_ray_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_SEGMENT_2) -CGAL_Kernel_cons(Construct_opposite_segment_2, - construct_opposite_segment_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_SEGMENT_3) -CGAL_Kernel_cons(Construct_opposite_segment_3, - construct_opposite_segment_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_SPHERE_3) -CGAL_Kernel_cons(Construct_opposite_sphere_3, - construct_opposite_sphere_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_TRIANGLE_2) -CGAL_Kernel_cons(Construct_opposite_triangle_2, - construct_opposite_triangle_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_VECTOR_2) -CGAL_Kernel_cons(Construct_opposite_vector_2, - construct_opposite_vector_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_OPPOSITE_VECTOR_3) -CGAL_Kernel_cons(Construct_opposite_vector_3, - construct_opposite_vector_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_ORTHOGONAL_VECTOR_3) -CGAL_Kernel_cons(Construct_orthogonal_vector_3, - construct_orthogonal_vector_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_PERPENDICULAR_DIRECTION_2) -CGAL_Kernel_cons(Construct_perpendicular_direction_2, - construct_perpendicular_direction_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_PERPENDICULAR_LINE_2) -CGAL_Kernel_cons(Construct_perpendicular_line_2, - construct_perpendicular_line_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_PERPENDICULAR_LINE_3) -CGAL_Kernel_cons(Construct_perpendicular_line_3, - construct_perpendicular_line_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_PERPENDICULAR_PLANE_3) -CGAL_Kernel_cons(Construct_perpendicular_plane_3, - construct_perpendicular_plane_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_PERPENDICULAR_VECTOR_2) -CGAL_Kernel_cons(Construct_perpendicular_vector_2, - construct_perpendicular_vector_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_PLANE_3) -CGAL_Kernel_cons(Construct_plane_3, - construct_plane_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_POINT_ON_2) -CGAL_Kernel_cons(Construct_point_on_2, - construct_point_on_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_POINT_ON_3) -CGAL_Kernel_cons(Construct_point_on_3, - construct_point_on_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_POINT_2) -CGAL_Kernel_cons(Construct_point_2, - construct_point_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_POINT_3) -CGAL_Kernel_cons(Construct_point_3, - construct_point_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_PROJECTED_POINT_2) -CGAL_Kernel_cons(Construct_projected_point_2, - construct_projected_point_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_PROJECTED_POINT_3) -CGAL_Kernel_cons(Construct_projected_point_3, - construct_projected_point_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_PROJECTED_XY_POINT_2) -CGAL_Kernel_cons(Construct_projected_xy_point_2, - construct_projected_xy_point_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_RAY_2) -CGAL_Kernel_cons(Construct_ray_2, - construct_ray_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_RAY_3) -CGAL_Kernel_cons(Construct_ray_3, - construct_ray_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_SCALED_VECTOR_2) -CGAL_Kernel_cons(Construct_scaled_vector_2, - construct_scaled_vector_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_SCALED_VECTOR_3) -CGAL_Kernel_cons(Construct_scaled_vector_3, - construct_scaled_vector_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_SEGMENT_2) -CGAL_Kernel_cons(Construct_segment_2, - construct_segment_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_SEGMENT_3) -CGAL_Kernel_cons(Construct_segment_3, - construct_segment_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_SPHERE_3) -CGAL_Kernel_cons(Construct_sphere_3, - construct_sphere_3_object) -#endif - -#ifndef CGAL_NO_DEPRECATED_CODE - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_SUPPORTING_LINE_2) -CGAL_Kernel_cons(Construct_supporting_line_2, - construct_supporting_line_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_SUPPORTING_LINE_3) -CGAL_Kernel_cons(Construct_supporting_line_3, - construct_supporting_line_3_object) -#endif - -#endif // CGAL_NO_DEPRECATED_CODE - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_SUPPORTING_PLANE_3) -CGAL_Kernel_cons(Construct_supporting_plane_3, - construct_supporting_plane_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_TETRAHEDRON_3) -CGAL_Kernel_cons(Construct_tetrahedron_3, - construct_tetrahedron_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_TRANSLATED_POINT_2) -CGAL_Kernel_cons(Construct_translated_point_2, - construct_translated_point_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_TRANSLATED_POINT_3) -CGAL_Kernel_cons(Construct_translated_point_3, - construct_translated_point_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_TRIANGLE_2) -CGAL_Kernel_cons(Construct_triangle_2, - construct_triangle_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_TRIANGLE_3) -CGAL_Kernel_cons(Construct_triangle_3, - construct_triangle_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_UNIT_NORMAL_3) -CGAL_Kernel_cons(Construct_unit_normal_3, - construct_unit_normal_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_CONSTRUCT_VECTOR_2) -CGAL_Kernel_cons(Construct_vector_2, - construct_vector_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_CONSTRUCT_VECTOR_3) -CGAL_Kernel_cons(Construct_vector_3, - construct_vector_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_CONSTRUCT_VERTEX_2) -CGAL_Kernel_cons(Construct_vertex_2, - construct_vertex_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_CONSTRUCT_VERTEX_3) -CGAL_Kernel_cons(Construct_vertex_3, - construct_vertex_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_CONSTRUCT_BBOX_2) -CGAL_Kernel_cons(Construct_bbox_2, - construct_bbox_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_CONSTRUCT_BBOX_3) -CGAL_Kernel_cons(Construct_bbox_3, - construct_bbox_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_CARTESIAN_COORDINATE_ITERATOR_2) -CGAL_Kernel_cons(Construct_cartesian_const_iterator_2, - construct_cartesian_const_iterator_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CONSTRUCT_CARTESIAN_COORDINATE_ITERATOR_3) -CGAL_Kernel_cons(Construct_cartesian_const_iterator_3, - construct_cartesian_const_iterator_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COPLANAR_ORIENTATION_3) -CGAL_Kernel_pred(Coplanar_orientation_3, - coplanar_orientation_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COPLANAR_SIDE_OF_BOUNDED_CIRCLE_3) -CGAL_Kernel_pred(Coplanar_side_of_bounded_circle_3, - coplanar_side_of_bounded_circle_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_COPLANAR_3) -CGAL_Kernel_pred(Coplanar_3, - coplanar_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_COUNTERCLOCKWISE_IN_BETWEEN_2) -CGAL_Kernel_pred(Counterclockwise_in_between_2, - counterclockwise_in_between_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_DO_INTERSECT_2) -CGAL_Kernel_pred(Do_intersect_2, - do_intersect_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_DO_INTERSECT_3) -CGAL_Kernel_cons(Do_intersect_3, - do_intersect_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_EQUAL_XY_3) -CGAL_Kernel_pred(Equal_xy_3, - equal_xy_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_EQUAL_X_2) -CGAL_Kernel_pred(Equal_x_2, - equal_x_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_EQUAL_X_3) -CGAL_Kernel_pred(Equal_x_3, - equal_x_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_EQUAL_Y_2) -CGAL_Kernel_pred(Equal_y_2, - equal_y_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_EQUAL_Y_3) -CGAL_Kernel_pred(Equal_y_3, - equal_y_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_EQUAL_Z_3) -CGAL_Kernel_pred(Equal_z_3, - equal_z_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_EQUAL_2) -CGAL_Kernel_pred(Equal_2, - equal_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_EQUAL_3) -CGAL_Kernel_pred(Equal_3, - equal_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_HAS_ON_BOUNDARY_2) -CGAL_Kernel_pred(Has_on_boundary_2, - has_on_boundary_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_HAS_ON_BOUNDARY_3) -CGAL_Kernel_pred(Has_on_boundary_3, - has_on_boundary_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_HAS_ON_BOUNDED_SIDE_2) -CGAL_Kernel_pred(Has_on_bounded_side_2, - has_on_bounded_side_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_HAS_ON_BOUNDED_SIDE_3) -CGAL_Kernel_pred(Has_on_bounded_side_3, - has_on_bounded_side_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_HAS_ON_NEGATIVE_SIDE_2) -CGAL_Kernel_pred(Has_on_negative_side_2, - has_on_negative_side_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_HAS_ON_NEGATIVE_SIDE_3) -CGAL_Kernel_pred(Has_on_negative_side_3, - has_on_negative_side_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_HAS_ON_POSITIVE_SIDE_2) -CGAL_Kernel_pred(Has_on_positive_side_2, - has_on_positive_side_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_HAS_ON_POSITIVE_SIDE_3) -CGAL_Kernel_pred(Has_on_positive_side_3, - has_on_positive_side_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_HAS_ON_UNBOUNDED_SIDE_2) -CGAL_Kernel_pred(Has_on_unbounded_side_2, - has_on_unbounded_side_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_HAS_ON_UNBOUNDED_SIDE_3) -CGAL_Kernel_pred(Has_on_unbounded_side_3, - has_on_unbounded_side_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_HAS_ON_2) -CGAL_Kernel_pred(Has_on_2, - has_on_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_HAS_ON_3) -CGAL_Kernel_pred(Has_on_3, - has_on_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_INTERSECT_2) -CGAL_Kernel_cons(Intersect_2, - intersect_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_INTERSECT_3) -CGAL_Kernel_cons(Intersect_3, - intersect_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_IS_DEGENERATE_2) -CGAL_Kernel_pred(Is_degenerate_2, - is_degenerate_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_IS_DEGENERATE_3) -CGAL_Kernel_pred(Is_degenerate_3, - is_degenerate_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_IS_HORIZONTAL_2) -CGAL_Kernel_pred(Is_horizontal_2, - is_horizontal_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_IS_VERTICAL_2) -CGAL_Kernel_pred(Is_vertical_2, - is_vertical_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LEFT_TURN_2) -CGAL_Kernel_pred(Left_turn_2, - left_turn_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_LESS_DISTANCE_TO_POINT_2) -CGAL_Kernel_pred(Less_distance_to_point_2, - less_distance_to_point_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_LESS_DISTANCE_TO_POINT_3) -CGAL_Kernel_pred(Less_distance_to_point_3, - less_distance_to_point_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_LESS_ROTATE_CCW_2) -CGAL_Kernel_pred(Less_rotate_ccw_2, - less_rotate_ccw_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_LESS_SIGNED_DISTANCE_TO_LINE_2) -CGAL_Kernel_pred(Less_signed_distance_to_line_2, - less_signed_distance_to_line_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_LESS_SIGNED_DISTANCE_TO_PLANE_3) -CGAL_Kernel_pred(Less_signed_distance_to_plane_3, - less_signed_distance_to_plane_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LESS_XYZ_3) -CGAL_Kernel_pred(Less_xyz_3, - less_xyz_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LESS_XY_2) -CGAL_Kernel_pred(Less_xy_2, - less_xy_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LESS_XY_3) -CGAL_Kernel_pred(Less_xy_3, - less_xy_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LESS_X_2) -CGAL_Kernel_pred(Less_x_2, - less_x_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LESS_X_3) -CGAL_Kernel_pred(Less_x_3, - less_x_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LESS_YX_2) -CGAL_Kernel_pred(Less_yx_2, - less_yx_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LESS_Y_2) -CGAL_Kernel_pred(Less_y_2, - less_y_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LESS_Y_3) -CGAL_Kernel_pred(Less_y_3, - less_y_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LESS_Z_3) -CGAL_Kernel_pred(Less_z_3, - less_z_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_ORIENTATION_2) -CGAL_Kernel_pred(Orientation_2, - orientation_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_ORIENTATION_3) -CGAL_Kernel_pred(Orientation_3, - orientation_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_ORIENTED_SIDE_2) -CGAL_Kernel_pred(Oriented_side_2, - oriented_side_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_ORIENTED_SIDE_3) -CGAL_Kernel_pred(Oriented_side_3, - oriented_side_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_SIDE_OF_BOUNDED_CIRCLE_2) -CGAL_Kernel_pred(Side_of_bounded_circle_2, - side_of_bounded_circle_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_SIDE_OF_BOUNDED_SPHERE_3) -CGAL_Kernel_pred(Side_of_bounded_sphere_3, - side_of_bounded_sphere_3_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_SIDE_OF_ORIENTED_CIRCLE_2) -CGAL_Kernel_pred(Side_of_oriented_circle_2, - side_of_oriented_circle_2_object) -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_SIDE_OF_ORIENTED_SPHERE_3) -CGAL_Kernel_pred(Side_of_oriented_sphere_3, - side_of_oriented_sphere_3_object) -#endif - -// deprecated functors were removed ... - -#undef CGAL_Kernel_pred -#undef CGAL_Kernel_cons diff --git a/Kernel_23/include/CGAL/Kernel_archetype.h b/Kernel_23/include/CGAL/Kernel_archetype.h deleted file mode 100644 index 0536b50a9b5..00000000000 --- a/Kernel_23/include/CGAL/Kernel_archetype.h +++ /dev/null @@ -1,168 +0,0 @@ -// Copyright (c) 1999,2003 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$ -// $Id$ -// -// -// Author(s) : Matthias Baesken - - -#ifndef CGAL_KERNEL_ARCHETYPE -#define CGAL_KERNEL_ARCHETYPE - -#include -#include -#include -#include -#include -#include - -#include - - -CGAL_BEGIN_NAMESPACE - -class Kernel_archetype { -public: - - // 2d - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_FT) - typedef double FT; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_RT) - typedef double RT; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_POINT_2) - typedef Point_2_archetype Point_2; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_VECTOR_2) - typedef Vector_2_archetype Vector_2; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_DIRECTION_2) - typedef Direction_2_archetype Direction_2; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LINE_2) - typedef Line_2_archetype Line_2; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_RAY_2) - typedef Ray_2_archetype Ray_2; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_SEGMENT_2) - typedef Segment_2_archetype Segment_2; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_TRIANGLE_2) - typedef Triangle_2_archetype Triangle_2; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_ISO_RECTANGLE_2) - typedef Iso_rectangle_2_archetype Iso_rectangle_2; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_CIRCLE_2) - typedef Circle_2_archetype Circle_2; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_OBJECT_2) - typedef CGAL::Object Object_2; -#endif - - // 3d -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_POINT_3) - typedef Point_3_archetype Point_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_VECTOR_3) - typedef Vector_3_archetype Vector_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_DIRECTION_3) - typedef Direction_3_archetype Direction_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_ISO_CUBOID_3) - typedef Iso_cuboid_3_archetype Iso_cuboid_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_LINE_3) - typedef Line_3_archetype Line_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_RAY_3) - typedef Ray_3_archetype Ray_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_SEGMENT_3) - typedef Segment_3_archetype Segment_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_SPHERE_3) - typedef Sphere_3_archetype Sphere_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_PLANE_3) - typedef Plane_3_archetype Plane_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_TRIANGLE_3) - typedef Triangle_3_archetype Triangle_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_TETRAHEDRON_3) - typedef Tetrahedron_3_archetype Tetrahedron_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || defined(CGAL_CA_OBJECT_3) - typedef CGAL::Object Object_3; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CARTESIAN_COORDINATE_CONST_ITERATOR_2) - typedef Cartesian_coordinate_const_iterator_2_archetype - Cartesian_const_iterator_2; -#endif - -#if !defined(CGAL_CA_LIMITED_INTERFACE) || \ - defined(CGAL_CA_CARTESIAN_COORDINATE_CONST_ITERATOR_3) - typedef Cartesian_coordinate_const_iterator_3_archetype - Cartesian_const_iterator_3; -#endif - - // functors and access functions ... - -// predicate ... -#define CGAL_Kernel_pred(Y,Z) typedef CGALca::Y Y; \ -Y Z() const {return Y();} -// accessor function ... -#define CGAL_Kernel_cons(Y,Z) CGAL_Kernel_pred(Y,Z) - -#include - -}; - -CGAL_END_NAMESPACE - -#endif diff --git a/Kernel_23/include/CGAL/concept_archetype_2.h b/Kernel_23/include/CGAL/concept_archetype_2.h deleted file mode 100644 index 17c091921ff..00000000000 --- a/Kernel_23/include/CGAL/concept_archetype_2.h +++ /dev/null @@ -1,244 +0,0 @@ -// Copyright (c) 1999,2003 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$ -// $Id$ -// -// -// Author(s) : Matthias Baesken - -#ifndef CGAL_CONCEPT_ARCHETYPE_2 -#define CGAL_CONCEPT_ARCHETYPE_2 - -// 2d CA types (and number types)... - -#define CGAL_concept_archetype_constructors(T) \ -template T(const T1&) { } \ -template T(const T1&,const T2&) { } \ -template T(const T1&,const T2&,const T3&) { } \ -template \ -T(const T1&,const T2&,const T3&,const T4&) { } \ -template \ -T(const T1&,const T2&,const T3&,const T4&,const T5&) { } - - -CGAL_BEGIN_NAMESPACE - -struct Point_2_archetype { - Point_2_archetype() { } - Point_2_archetype(const Point_2_archetype&) { } - - Point_2_archetype& operator=(const Point_2_archetype&) { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Point_2_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Point_2_archetype& obj1, - const Point_2_archetype& obj2) -{ return true; } - -inline bool operator!=(const Point_2_archetype& obj1, - const Point_2_archetype& obj2) -{ return true; } -#endif - -struct Segment_2_archetype { - Segment_2_archetype() { } - Segment_2_archetype(const Segment_2_archetype&) { } - - Segment_2_archetype& operator=(const Segment_2_archetype&) { return *this;} - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Segment_2_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool -operator==(const Segment_2_archetype& obj1, const Segment_2_archetype& obj2) -{ return true; } - -inline bool -operator!=(const Segment_2_archetype& obj1, const Segment_2_archetype& obj2) -{ return true; } -#endif - -struct Line_2_archetype { - Line_2_archetype() { } - Line_2_archetype(const Line_2_archetype&) { } - - Line_2_archetype& operator=(const Line_2_archetype&) { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Line_2_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool -operator==(const Line_2_archetype& obj1, const Line_2_archetype& obj2) -{ return true; } - -inline bool -operator!=(const Line_2_archetype& obj1, const Line_2_archetype& obj2) -{ return true; } -#endif - -struct Ray_2_archetype { - Ray_2_archetype() { } - Ray_2_archetype(const Ray_2_archetype&) { } - - Ray_2_archetype& operator=(const Ray_2_archetype&) { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Ray_2_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool -operator==(const Ray_2_archetype& obj1, const Ray_2_archetype& obj2) -{ return true; } - -inline bool -operator!=(const Ray_2_archetype& obj1, const Ray_2_archetype& obj2) -{ return true; } -#endif - -struct Vector_2_archetype { - Vector_2_archetype() { } - Vector_2_archetype(const Vector_2_archetype&) { } - - Vector_2_archetype& operator=(const Vector_2_archetype&) { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Vector_2_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool -operator==(const Vector_2_archetype& obj1, const Vector_2_archetype& obj2) -{ return true; } - -inline bool -operator!=(const Vector_2_archetype& obj1, const Vector_2_archetype& obj2) -{ return true; } -#endif - -struct Direction_2_archetype { - Direction_2_archetype() { } - Direction_2_archetype(const Direction_2_archetype&) { } - - Direction_2_archetype& operator=(const Direction_2_archetype&) - { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Direction_2_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Direction_2_archetype& obj1, - const Direction_2_archetype& obj2) -{ return true; } - -inline bool operator!=(const Direction_2_archetype& obj1, - const Direction_2_archetype& obj2) -{ return true; } -#endif - -struct Triangle_2_archetype { - Triangle_2_archetype() { } - Triangle_2_archetype(const Triangle_2_archetype&) { } - - Triangle_2_archetype& operator=(const Triangle_2_archetype&) - { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Triangle_2_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Triangle_2_archetype& obj1, - const Triangle_2_archetype& obj2) -{ return true; } - -inline bool operator!=(const Triangle_2_archetype& obj1, - const Triangle_2_archetype& obj2) -{ return true; } -#endif - -struct Circle_2_archetype { - Circle_2_archetype() { } - Circle_2_archetype(const Circle_2_archetype&) { } - - Circle_2_archetype& operator=(const Circle_2_archetype&) { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Circle_2_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool -operator==(const Circle_2_archetype& obj1, const Circle_2_archetype& obj2) -{ return true; } - -inline bool -operator!=(const Circle_2_archetype& obj1, const Circle_2_archetype& obj2) -{ return true; } -#endif - -struct Iso_rectangle_2_archetype { - Iso_rectangle_2_archetype() { } - Iso_rectangle_2_archetype(const Iso_rectangle_2_archetype&) { } - - Iso_rectangle_2_archetype& operator=(const Iso_rectangle_2_archetype&) - { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Iso_rectangle_2_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Iso_rectangle_2_archetype& obj1, - const Iso_rectangle_2_archetype& obj2) -{ return true; } - -inline bool operator!=(const Iso_rectangle_2_archetype& obj1, - const Iso_rectangle_2_archetype& obj2) -{ return true; } -#endif - -struct Cartesian_coordinate_const_iterator_2_archetype { - Cartesian_coordinate_const_iterator_2_archetype() { } - Cartesian_coordinate_const_iterator_2_archetype& - operator=(const Cartesian_coordinate_const_iterator_2_archetype&) - { return *this; } -}; - -CGAL_END_NAMESPACE - -#undef CGAL_concept_archetype_constructors - -#endif diff --git a/Kernel_23/include/CGAL/concept_archetype_3.h b/Kernel_23/include/CGAL/concept_archetype_3.h deleted file mode 100644 index 8d6445b2bbb..00000000000 --- a/Kernel_23/include/CGAL/concept_archetype_3.h +++ /dev/null @@ -1,288 +0,0 @@ -// Copyright (c) 1999,2003 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$ -// $Id$ -// -// -// Author(s) : Matthias Baesken - -#ifndef CGAL_CONCEPT_ARCHETYPE_3 -#define CGAL_CONCEPT_ARCHETYPE_3 - -// 3d CA types ... - -#define CGAL_concept_archetype_constructors(T) \ -template T(const T1&) { } \ -template T(const T1&,const T2&) { } \ -template T(const T1&,const T2&,const T3&) { } \ -template \ -T(const T1&,const T2&,const T3&,const T4&) { } \ -template \ -T(const T1&,const T2&,const T3&,const T4&,const T5&) { } - - -CGAL_BEGIN_NAMESPACE - -struct Point_3_archetype { - Point_3_archetype() { } - Point_3_archetype(const Point_3_archetype&) { } - - Point_3_archetype& operator=(const Point_3_archetype&) { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Point_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Point_3_archetype& obj1, - const Point_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Point_3_archetype& obj1, - const Point_3_archetype& obj2) -{ return true; } -#endif - -struct Segment_3_archetype { - Segment_3_archetype() { } - Segment_3_archetype(const Segment_3_archetype&) { } - - Segment_3_archetype& operator=(const Segment_3_archetype&){return *this;} - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Segment_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Segment_3_archetype& obj1, - const Segment_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Segment_3_archetype& obj1, - const Segment_3_archetype& obj2) -{ return true; } -#endif - -struct Line_3_archetype { - Line_3_archetype() { } - Line_3_archetype(const Line_3_archetype&) { } - - Line_3_archetype& operator=(const Line_3_archetype&){return *this;} - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Line_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Line_3_archetype& obj1, - const Line_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Line_3_archetype& obj1, - const Line_3_archetype& obj2) -{ return true; } -#endif - -struct Ray_3_archetype { - Ray_3_archetype() { } - Ray_3_archetype(const Ray_3_archetype&) { } - - Ray_3_archetype& operator=(const Ray_3_archetype&) { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Ray_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Ray_3_archetype& obj1, - const Ray_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Ray_3_archetype& obj1, - const Ray_3_archetype& obj2) -{ return true; } -#endif - -struct Vector_3_archetype { - Vector_3_archetype() { } - Vector_3_archetype(const Vector_3_archetype&) { } - - Vector_3_archetype& operator=(const Vector_3_archetype&) { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Vector_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Vector_3_archetype& obj1, - const Vector_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Vector_3_archetype& obj1, - const Vector_3_archetype& obj2) -{ return true; } -#endif - -struct Direction_3_archetype { - Direction_3_archetype() { } - Direction_3_archetype(const Direction_3_archetype&) { } - - Direction_3_archetype& operator=(const Direction_3_archetype&) - { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Direction_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Direction_3_archetype& obj1, - const Direction_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Direction_3_archetype& obj1, - const Direction_3_archetype& obj2) -{ return true; } -#endif - -struct Plane_3_archetype { - Plane_3_archetype() { } - Plane_3_archetype(const Plane_3_archetype&) { } - - Plane_3_archetype& operator=(const Plane_3_archetype&) { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Plane_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Plane_3_archetype& obj1, - const Plane_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Plane_3_archetype& obj1, - const Plane_3_archetype& obj2) -{ return true; } -#endif - -struct Iso_cuboid_3_archetype { - Iso_cuboid_3_archetype() { } - Iso_cuboid_3_archetype(const Iso_cuboid_3_archetype&) { } - - Iso_cuboid_3_archetype& operator=(const Iso_cuboid_3_archetype&) - { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Iso_cuboid_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Iso_cuboid_3_archetype& obj1, - const Iso_cuboid_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Iso_cuboid_3_archetype& obj1, - const Iso_cuboid_3_archetype& obj2) -{ return true; } -#endif - -struct Sphere_3_archetype { - Sphere_3_archetype() { } - Sphere_3_archetype(const Sphere_3_archetype&) { } - - Sphere_3_archetype& operator=(const Sphere_3_archetype&) - { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Sphere_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Sphere_3_archetype& obj1, - const Sphere_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Sphere_3_archetype& obj1, - const Sphere_3_archetype& obj2) -{ return true; } -#endif - -struct Triangle_3_archetype { - Triangle_3_archetype() { } - Triangle_3_archetype(const Triangle_3_archetype&) { } - - Triangle_3_archetype& operator=(const Triangle_3_archetype&) - { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Triangle_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Triangle_3_archetype& obj1, - const Triangle_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Triangle_3_archetype& obj1, - const Triangle_3_archetype& obj2) -{ return true; } -#endif - -struct Tetrahedron_3_archetype { - Tetrahedron_3_archetype() { } - Tetrahedron_3_archetype(const Tetrahedron_3_archetype&) { } - - Tetrahedron_3_archetype& operator=(const Tetrahedron_3_archetype&) - { return *this; } - -#if defined(CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS) - CGAL_concept_archetype_constructors(Tetrahedron_3_archetype) -#endif -}; - -#if defined(CGAL_CONCEPT_ARCHETYPE_ALLOW_COMPARISONS) -inline bool operator==(const Tetrahedron_3_archetype& obj1, - const Tetrahedron_3_archetype& obj2) -{ return true; } - -inline bool operator!=(const Tetrahedron_3_archetype& obj1, - const Tetrahedron_3_archetype& obj2) -{ return true; } -#endif - -struct Cartesian_coordinate_const_iterator_3_archetype { - Cartesian_coordinate_const_iterator_3_archetype() { } - Cartesian_coordinate_const_iterator_3_archetype& - operator=(const Cartesian_coordinate_const_iterator_3_archetype&) - { return *this; } -}; - -CGAL_END_NAMESPACE - -#undef CGAL_concept_archetype_constructors - -#endif diff --git a/Kernel_23/test/Kernel_23/CMakeLists.txt b/Kernel_23/test/Kernel_23/CMakeLists.txt index 09463dbda7e..5257bee8303 100644 --- a/Kernel_23/test/Kernel_23/CMakeLists.txt +++ b/Kernel_23/test/Kernel_23/CMakeLists.txt @@ -23,8 +23,6 @@ if ( CGAL_FOUND ) create_single_source_cgal_program( Lazy_kernel.cpp ) create_single_source_cgal_program( Simple_cartesian.cpp ) create_single_source_cgal_program( Simple_homogeneous.cpp ) - create_single_source_cgal_program( test_kernel_archetype_2.cpp ) - create_single_source_cgal_program( test_kernel_archetype_3.cpp ) create_single_source_cgal_program( test_kernel__.cpp ) endif() diff --git a/Kernel_23/test/Kernel_23/test_kernel_archetype_2.cpp b/Kernel_23/test/Kernel_23/test_kernel_archetype_2.cpp deleted file mode 100644 index c31a7cd30ff..00000000000 --- a/Kernel_23/test/Kernel_23/test_kernel_archetype_2.cpp +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) 1999,2003 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. -// -// 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$ -// $Id$ -// -// -// Author(s) : Matthias Baesken - - -#include -#include - -#ifndef CGAL_NO_DEPRECATED_CODE -# define CGAL_NO_DEPRECATED_CODE -#endif -#define CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS - -#include - -// needed in kernel testsuite ... -CGAL::Vector_2_archetype operator-(const CGAL::Vector_2_archetype& v) -{ return v; } - -#include "CGAL/_test_new_2.h" - -typedef CGAL::Kernel_archetype Kernel; - -int main() -{ - test_new_2( Kernel() ); - return 0; -} - diff --git a/Kernel_23/test/Kernel_23/test_kernel_archetype_3.cpp b/Kernel_23/test/Kernel_23/test_kernel_archetype_3.cpp deleted file mode 100644 index 6c0c75570e0..00000000000 --- a/Kernel_23/test/Kernel_23/test_kernel_archetype_3.cpp +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) 1999,2003 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. -// -// 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$ -// $Id$ -// -// -// Author(s) : Matthias Baesken - - -#include -#include - -#ifndef CGAL_NO_DEPRECATED_CODE -# define CGAL_NO_DEPRECATED_CODE -#endif -#define CGAL_CONCEPT_ARCHETYPE_PROVIDE_CONSTRUCTORS - -#include - -// needed in kernel testsuite ... -CGAL::Vector_3_archetype operator-(const CGAL::Vector_3_archetype& v) -{ return v; } - -#include "CGAL/_test_new_3.h" - -typedef CGAL::Kernel_archetype Kernel; - -int main() -{ - test_new_3( Kernel() ); - return 0; -} -