// Copyright (c) 2000-2004 // Utrecht University (The Netherlands), // ETH Zurich (Switzerland), // INRIA Sophia-Antipolis (France), // Max-Planck-Institute Saarbruecken (Germany), // 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; either version 3 of the License, // or (at your option) any later version. // // 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$ // SPDX-License-Identifier: LGPL-3.0+ // // // Author(s) : Sylvain Pion #ifndef CGAL_CARTESIAN_BASE_H #define CGAL_CARTESIAN_BASE_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace CGAL { template < typename K_, typename FT_> struct Cartesian_base { typedef K_ Kernel; typedef FT_ FT; typedef Cartesian_base Self; typedef Cartesian_tag Rep_tag; typedef Cartesian_tag Kernel_tag; enum { Has_filtered_predicates = false }; typedef Boolean_tag Has_filtered_predicates_tag; typedef CGAL::Object Object_2; typedef CGAL::Object Object_3; // Boolean had originally been Bool. It was renamed to avoid a conflict // between a macro defined in Xlib.h poorly chosen to have the same name, // that is 'Bool'. typedef typename Same_uncertainty_nt::type Boolean; typedef typename Same_uncertainty_nt::type Sign; typedef typename Same_uncertainty_nt::type Comparison_result; typedef typename Same_uncertainty_nt::type Orientation; typedef typename Same_uncertainty_nt::type Oriented_side; typedef typename Same_uncertainty_nt::type Bounded_side; typedef typename Same_uncertainty_nt::type Angle; template struct Ambient_dimension { typedef typename T::Ambient_dimension type; }; template struct Feature_dimension { typedef typename T::Feature_dimension type; }; typedef PointC2 Point_2; typedef VectorC2 Vector_2; typedef DirectionC2 Direction_2; typedef SegmentC2 Segment_2; typedef LineC2 Line_2; typedef RayC2 Ray_2; typedef TriangleC2 Triangle_2; typedef CircleC2 Circle_2; typedef Iso_rectangleC2 Iso_rectangle_2; typedef Aff_transformationC2 Aff_transformation_2; typedef Weighted_pointC2 Weighted_point_2; typedef PointC3 Point_3; typedef VectorC3 Vector_3; typedef DirectionC3 Direction_3; typedef LineC3 Line_3; typedef PlaneC3 Plane_3; typedef RayC3 Ray_3; typedef SegmentC3 Segment_3; typedef TriangleC3 Triangle_3; typedef TetrahedronC3 Tetrahedron_3; typedef Iso_cuboidC3 Iso_cuboid_3; typedef SphereC3 Sphere_3; typedef CircleC3 Circle_3; typedef Aff_transformationC3 Aff_transformation_3; typedef Weighted_pointC3 Weighted_point_3; typedef typename cpp11::array::const_iterator Cartesian_const_iterator_2; typedef typename cpp11::array::const_iterator Cartesian_const_iterator_3; // Undocumented stuff. typedef Data_accessorC2 Data_accessor_2; typedef ConicCPA2 Conic_2; }; } //namespace CGAL #endif // CGAL_CARTESIAN_BASE_H