diff --git a/Kernel_23/include/CGAL/Kernel/function_objects.h b/Kernel_23/include/CGAL/Kernel/function_objects.h index d7a649bb832..ceddc423b2a 100644 --- a/Kernel_23/include/CGAL/Kernel/function_objects.h +++ b/Kernel_23/include/CGAL/Kernel/function_objects.h @@ -1837,7 +1837,7 @@ namespace CommonKernelFunctors { }; template - class Construct_vertex_3 + class Construct_vertex_3 : Has_qrt { typedef typename K::Point_3 Point_3; typedef typename K::Segment_3 Segment_3; @@ -2712,6 +2712,11 @@ namespace CommonKernelFunctors { } // namespace CommonKernelFunctors + template + struct Qualified_result_of,Iso_cuboid_3 > : + qrt_or_not,false> + {}; + } //namespace CGAL #endif // CGAL_KERNEL_FUNCTION_OBJECTS_H diff --git a/Kernel_23/include/CGAL/Triangle_3.h b/Kernel_23/include/CGAL/Triangle_3.h index 5d994b53fbf..7ab023c0264 100644 --- a/Kernel_23/include/CGAL/Triangle_3.h +++ b/Kernel_23/include/CGAL/Triangle_3.h @@ -88,12 +88,15 @@ public: return R().has_on_3_object()(*this, p); } - Point_3 vertex(int i) const // TODO : use Qrt + + typename Qualified_result_of::type + vertex(int i) const { return R().construct_vertex_3_object()(*this, i); } - Point_3 operator[](int i) const // TODO : use Qrt + typename Qualified_result_of::type + operator[](int i) const { return vertex(i); }