Hi guys,

I'm new to CGAL and I'm trying to use the efficient ransac algorithm to

detect shapes in point cloud.

I'm using the demo code at

https://doc.cgal.org/latest/Point_set_shape_detection_3/index.html#Point_set_shape_detection_3Usage_minimal.

Now for certain reason I need to use the

Exact_predicate_exact_constructions_kernel.

I just changed the header file and the corresponding typedef at the

beginning of the program. However the compiling process failed with the

following error message:

/usr/local/include/CGAL/Shape_detection_3/Efficient_RANSAC.h:495:34: error:

ambiguous overload for ‘operator*’ (operand types are

‘CGAL::Shape_detection_3::Efficient_RANSAC<CGAL::Shape_detection_3::Shape_detection_traits<CGAL::Epeck,

std::vector<std::pair<CGAL::Point_3<CGAL::Epeck>,

CGAL::Vector_3<CGAL::Epeck> > >,

CGAL::First_of_pair_property_map<std::pair<CGAL::Point_3<CGAL::Epeck>,

CGAL::Vector_3<CGAL::Epeck> > >,

CGAL::Second_of_pair_property_map<std::pair<CGAL::Point_3<CGAL::Epeck>,

CGAL::Vector_3<CGAL::Epeck> > > > >::FT {aka

CGAL::Lazy_exact_nt<CGAL::Gmpq>}’ and ‘std::size_t {aka long unsigned int}’)

(std::size_t)((FT)0.01 * m_num_available_points) :

~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~

The error message is too long to post all of them here. It is easy to

reproduce though.

I really don't get it. Aren't the kernels expected to replace one another?

Thanks in advance!

Best,

Jing

--

Sent from:

http://cgal-discuss.949826.n4.nabble.com/--

You are currently subscribed to cgal-discuss.

To unsubscribe or access the archives, go to

https://sympa.inria.fr/sympa/info/cgal-discuss