[C++-sig] ArgumentError...

Cyril Bazin cyril.bazin at info.unicaen.fr
Tue Jun 20 18:11:10 CEST 2006


Thanks, It works!!!

> My best guess is that Delaunay is derived from
>   CGAL::Triangulation_2<
>        CGAL::Cartesian<double>
>      , CGAL::Tds2<
>            CGAL::Tvb<CGAL::Cartesian<double>, CGAL::Tdsvb<void> >
>          , CGAL::Tdsfb<void>
>        >
>   >
> which supplies finite_vertices_begin and finite_vertices_end.  Since
> you haven't wrapped that, and Boost.Python doesn't know it's a base
> class of Delaunay, you get the error.

Yes. You are right.

You have two choices:
> 1. pre-assign finite_vertices_end/begin to variables (or cast to
>    temporaries) of type
>       Finite_vertices_iterator (Delaunay::*)()
>    and pass those to range(...)

This method works fine. Thanks !!!

2. Use the first form of range<NextPolicies,Target>(...) described
>    here: http://boost.org/libs/python/doc/v2/iterator.html#range-spec

The mechanisms of NextPolicies and Terget are a little obscur to me...
Today, I don't understand everything about this kind of stuffs.

Just a question :
Is there a third method where I can define the iterator and member of the
class Triangulation2<...> and define the inheritance between Triangulation_2
and Delaunay using boost?
That would let the Python binding looks more like the C++ original


Happy Being Helped!!!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20060620/342a4bab/attachment.htm>

More information about the Cplusplus-sig mailing list