// ====================================================================== // // Copyright (c) 2000 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/Kernel/Construction_objects.h // revision : $Revision$ // revision_date : $Date$ // author(s) : Herve Bronnimann // coordinator : INRIA Sophia-Antipolis (Mariette.Yvinec@sophia.inria.fr) // // ====================================================================== #ifndef CGAL_KERNEL_CONSTRUCTION_OBJECTS_H #define CGAL_KERNEL_CONSTRUCTION_OBJECTS_H #include #include CGAL_BEGIN_NAMESPACE template < class R > class Kernel_construction_objects { public: typedef typename R::FT FT; typedef typename R::RT RT; typedef typename R::Point_2 Point_2; typedef typename R::Vector_2 Vector_2; typedef typename R::Direction_2 Direction_2; typedef typename R::Segment_2 Segment_2; typedef typename R::Line_2 Line_2; typedef typename R::Ray_2 Ray_2; typedef typename R::Triangle_2 Triangle_2; typedef typename R::Circle_2 Circle_2; typedef typename R::Iso_rectangle_2 Iso_rectangle_2; typedef typename R::Aff_transformation_2 Aff_transformation_2; CGAL_UNPACK_KERNEL_CONSTRUCTION_OBJECTS_2(typename Kernel_construction_objects_2) CGAL_UNPACK_KERNEL_CONSTRUCTION_OBJECTS_3(typename Kernel_construction_objects_3) }; CGAL_END_NAMESPACE // This macro is provided for convenience in defining the Kernel // function objects inside a new representation class. // See Cartesian_2.h and Cartesian.h #define CGAL_UNPACK_KERNEL_CONSTRUCTION_OBJECTS(CO) \ CGAL_UNPACK_KERNEL_CONSTRUCTION_OBJECTS_2(CO) \ CGAL_UNPACK_KERNEL_CONSTRUCTION_OBJECTS_3(CO) #endif // CGAL_KERNEL_CONSTRUCTION_OBJECTS_2_H