// ====================================================================== // // Copyright (c) 1999,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 : Homogeneous/Homogeneous_base.h // package : H2 // revision : $Revision$ // revision_date : $Date$ // author(s) : Stefan Schirra, Sylvain Pion // // coordinator : MPI, Saarbruecken // ====================================================================== #ifndef CGAL_HOMOGENEOUS_BASE_H #define CGAL_HOMOGENEOUS_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 Homogeneous_base { typedef K_ Kernel; typedef Homogeneous_tag Rep_tag; typedef Homogeneous_tag Kernel_tag; typedef CGAL::Object Object_2; typedef CGAL::Object Object_3; typedef PointH2 Point_2; typedef VectorH2 Vector_2; typedef DirectionH2 Direction_2; typedef SegmentH2 Segment_2; typedef LineH2 Line_2; typedef RayH2 Ray_2; typedef CircleH2 Circle_2; typedef TriangleH2 Triangle_2; typedef Iso_rectangleH2 Iso_rectangle_2; typedef Aff_transformationH2 Aff_transformation_2; typedef PointH3 Point_3; typedef VectorH3 Vector_3; typedef DirectionH3 Direction_3; typedef SegmentH3 Segment_3; typedef PlaneH3 Plane_3; typedef LineH3 Line_3; typedef RayH3 Ray_3; typedef TriangleH3 Triangle_3; typedef TetrahedronH3 Tetrahedron_3; typedef Iso_cuboidH3 Iso_cuboid_3; typedef SphereH3 Sphere_3; typedef Aff_transformationH3 Aff_transformation_3; // Undocumented stuff. typedef Data_accessorH2 Data_accessor_2; typedef ConicHPA2 Conic_2; // Functors types and access functions. #define CGAL_Kernel_pred(Y,Z) typedef CGALi::Y Y; \ Y Z() const { return Y(); } #define CGAL_Kernel_cons(Y,Z) CGAL_Kernel_pred(Y,Z) #include }; CGAL_END_NAMESPACE #endif // CGAL_HOMOGENEOUS_BASE_H