// 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) // // $URL: https://github.com/CGAL/cgal/blob/v5.1/Cartesian_kernel/include/CGAL/Cartesian/Cartesian_base.h $ // $Id: Cartesian_base.h 0779373 2020-03-26T13:31:46+01:00 Sébastien Loriot // SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial // // // 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 std::array::const_iterator Cartesian_const_iterator_2; typedef typename std::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