// ====================================================================== // // Copyright (c) 2000,2001,2002,2003 The CGAL Consortium // // This software and related documentation is part of an INTERNAL release // of the Computational Geometry Algorithms Library (CGAL). It is not // intended for general use. // // ---------------------------------------------------------------------- // // release : // release_date : // // file : include/CGAL/Cartesian/Cartesian_base.h // revision : $Revision$ // revision_date : $Date$ // author(s) : Sylvain Pion // coordinator : INRIA Sophia-Antipolis // // ====================================================================== #ifndef CGAL_CARTESIAN_BASE_H #define CGAL_CARTESIAN_BASE_H #define CGAL_REP_CLASS_DEFINED #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 #include CGAL_BEGIN_NAMESPACE template < typename K_ > struct Cartesian_base { typedef K_ Kernel; typedef Cartesian_tag Rep_tag; typedef Cartesian_tag Kernel_tag; typedef CGAL::Object Object_2; typedef CGAL::Object Object_3; 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 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 Aff_transformationC3 Aff_transformation_3; // Undocumented stuff. typedef Data_accessorC2 Data_accessor_2; typedef ConicCPA2 Conic_2; // Functors types and access functions. #define CGAL_Kernel_pred(Y,Z) typedef CartesianKernelFunctors::Y Y; \ Y Z() const { return Y(); } #define CGAL_Kernel_cons(Y,Z) CGAL_Kernel_pred(Y,Z) #include }; CGAL_END_NAMESPACE #endif // CGAL_CARTESIAN_BASE_H