\begin{ccRefConcept}{R} The representation class parameter of the kernel types is denoted by \ccc{R}. In terms of concepts, whenever \ccc{R} is used with a class \ccc{Kernel_object_d}, a model for \ccc{R} must provide a nested type \ccc{R::Kernel_object_d} that conicides with \ccc{Kernel_object_d}. The \cgal\ classes \ccc{Cartesian}, \ccc{Homogeneous}, \ccc{Simple_cartesian} and \ccc{Simple_homogeneous} fulfill this requirement. The requirement is slightly stronger than the requirements for \ccc{Kernel}, since a type identity between \ccc{Kernel::Kernel_object_d} and \ccc{Kernel_object_d} is not required for a \ccc{Kernel}. The class \ccc{Kernel_object_d} need not even be instantiable. \ccTypes \ccNestedType{FT}{a number type that is a model for \ccc{FieldNumberType}} \ccGlue \ccNestedType{RT}{a number type that is a model for \ccc{RingNumberType}} \ccHasModels \ccRefIdfierPage{CGAL::Cartesian} \\ \ccRefIdfierPage{CGAL::Homogeneous} \\ \ccRefIdfierPage{CGAL::Simple_cartesian} \\ \ccRefIdfierPage{CGAL::Simple_homogeneous} \\ \ccSeeAlso \ccRefIdfierPage{CGAL::Point_2} \\ \ccRefIdfierPage{CGAL::Vector_2} \\ \ccRefIdfierPage{CGAL::Direction_2} \\ \ccRefIdfierPage{CGAL::Line_2} \\ \ccRefIdfierPage{CGAL::Ray_2} \\ \ccRefIdfierPage{CGAL::Segment_2} \\ \ccRefIdfierPage{CGAL::Triangle_2} \\ \ccRefIdfierPage{CGAL::Iso_rectangle_2} \\ \ccRefIdfierPage{CGAL::Aff_transformation_2} \\ \ccRefIdfierPage{CGAL::Circle_2} \\ \ccRefIdfierPage{CGAL::Point_3} \\ \ccRefIdfierPage{CGAL::Vector_3} \\ \ccRefIdfierPage{CGAL::Direction_3} \\ \ccRefIdfierPage{CGAL::Iso_cuboid_3} \\ \ccRefIdfierPage{CGAL::Line_3} \\ \ccRefIdfierPage{CGAL::Ray_3} \\ \ccRefIdfierPage{CGAL::Sphere_3} \\ \ccRefIdfierPage{CGAL::Segment_3} \\ \ccRefIdfierPage{CGAL::Plane_3} \\ \ccRefIdfierPage{CGAL::Triangle_3} \\ \ccRefIdfierPage{CGAL::Tetrahedron_3} \\ \ccRefIdfierPage{CGAL::Aff_transformation_3} \\ \ccRefIdfierPage{CGAL::Point_d} \\ \end{ccRefConcept}