Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Compilation error with cpp11::result_of<Kernel::Intersect_3(A, B)>::type

Subject: CGAL users discussion list

List archive

[cgal-discuss] Compilation error with cpp11::result_of<Kernel::Intersect_3(A, B)>::type


Chronological Thread 
  • From: cdoucet <>
  • To:
  • Subject: [cgal-discuss] Compilation error with cpp11::result_of<Kernel::Intersect_3(A, B)>::type
  • Date: Mon, 28 Jul 2014 04:51:00 -0700 (PDT)

Hello,

I am trying to compute intersections following this section
<http://doc.cgal.org/latest/Kernel_23/group__intersection__linear__grp.html>
of the documentation.

My version of CGAL is 4.4.
My version of boost is 1.46.1

My implementation is based on the definitions above:
------------------------------------------------
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef Delaunay::Ray Ray;
typedef Delaunay::Triangle Triangle;
typedef CGAL::cpp11::result_of<K::Intersect_3(Ray, Triangle)>::type
RayTriangleIntersection;
------------------------------------------------

I have a compilation error with this line:
RayTriangleIntersection
intersection(currentRay,facetOppositeToVisiblePoint);
where
currentRay is a Ray,
facetOppositeToVisiblePoint is a Triangle obtained from triangle
<http://doc.cgal.org/latest/Triangulation_3/classCGAL_1_1Triangulation__3.html#a4672fcd04d571aee926741920d0aba30>

function

When I try to compile, I get the following error message:

erreur: no matching function for call to
‘boost::optional<boost::variant&lt;CGAL::Point_3&lt;CGAL::Epick>,
CGAL::Segment_3<CGAL::Epick>, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_> >::optional(Ray&, Triangle&)’
/home/cdoucet/local/mvs/demo/triangulation/delaunay.cpp:274:82: note:
candidates are:
/usr/include/boost/optional/optional.hpp:564:5: note:
boost::optional<T>::optional(const boost::optional<T>&) [with T =
boost::variant<CGAL::Point_3&lt;CGAL::Epick>, CGAL::Segment_3<CGAL::Epick>,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>,
boost::optional<T> =
boost::optional<boost::variant&lt;CGAL::Point_3&lt;CGAL::Epick>,
CGAL::Segment_3<CGAL::Epick>, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_> >]
/usr/include/boost/optional/optional.hpp:564:5: note: candidate expects 1
argument, 2 provided
/usr/include/boost/optional/optional.hpp:559:14: note: template<class Expr>
boost::optional::optional(const Expr&)
/usr/include/boost/optional/optional.hpp:539:14: note: template<class U>
boost::optional::optional(const boost::optional<U>&)
/usr/include/boost/optional/optional.hpp:530:5: note:
boost::optional<T>::optional(bool, boost::optional<T>::argument_type) [with
T = boost::variant<CGAL::Point_3&lt;CGAL::Epick>,
CGAL::Segment_3<CGAL::Epick>, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>, boost::optional<T>::argument_type = const
boost::variant<CGAL::Point_3&lt;CGAL::Epick>, CGAL::Segment_3<CGAL::Epick>,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>&]
/usr/include/boost/optional/optional.hpp:530:5: note: no known conversion
for argument 1 from ‘Ray {aka CGAL::Ray_3<CGAL::Epick>}’ to ‘bool’
/usr/include/boost/optional/optional.hpp:526:5: note:
boost::optional<T>::optional(boost::optional<T>::argument_type) [with T =
boost::variant<CGAL::Point_3&lt;CGAL::Epick>, CGAL::Segment_3<CGAL::Epick>,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>,
boost::optional<T>::argument_type = const
boost::variant<CGAL::Point_3&lt;CGAL::Epick>, CGAL::Segment_3<CGAL::Epick>,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>&]
/usr/include/boost/optional/optional.hpp:526:5: note: candidate expects 1
argument, 2 provided
/usr/include/boost/optional/optional.hpp:522:5: note:
boost::optional<T>::optional(boost::none_t) [with T =
boost::variant<CGAL::Point_3&lt;CGAL::Epick>, CGAL::Segment_3<CGAL::Epick>,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>, boost::none_t
= int boost::detail::none_helper::*]
/usr/include/boost/optional/optional.hpp:522:5: note: candidate expects 1
argument, 2 provided
/usr/include/boost/optional/optional.hpp:518:5: note:
boost::optional<T>::optional() [with T =
boost::variant<CGAL::Point_3&lt;CGAL::Epick>, CGAL::Segment_3<CGAL::Epick>,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>]
/usr/include/boost/optional/optional.hpp:518:5: note: candidate expects 0
arguments, 2 provided

Do you see where I make a mistake?

Best,

Cédric
Inria Paris-Rocquencourt






--
View this message in context:
http://cgal-discuss.949826.n4.nabble.com/Compilation-error-with-cpp11-result-of-Kernel-Intersect-3-A-B-type-tp4659631.html
Sent from the cgal-discuss mailing list archive at Nabble.com.



Archive powered by MHonArc 2.6.18.

Top of Page