cgal-swig-bindings icon indicating copy to clipboard operation
cgal-swig-bindings copied to clipboard

Adding first_intersection / first_intersected_primitive to AABB Tree …

Open noamgat opened this issue 4 years ago • 10 comments

…wrapper

See issue created here: https://github.com/CGAL/cgal-swig-bindings/issues/186

first_intersection only supports the "ray" variant, so there are less overloads than the any_intersection. Updated the python example to also showcase the usage.

noamgat avatar Oct 26 '20 07:10 noamgat

Looks good!

sloriot avatar Oct 26 '20 08:10 sloriot

@maxGimeno Can you please have a look at the issues in our CI?

lrineau avatar Oct 26 '20 10:10 lrineau

Windowws :

C:\cgal\Polygon_mesh_processing\include\CGAL/Polygon_mesh_processing/stitch_borders.h(822): error C2440: 'initializing': cannot convert from 'HalfedgePairsRange' to 'std::vector<std::pair<CGAL::internal::In_place_list_iterator<T,Alloc>,CGAL::internal::In_place_list_iterator<T,Alloc>>,std::allocator<_Ty>>' [D:\a\cgal-swig-bindings\cgal-swig-bindings\build\SWIG_CGAL\Polygon_mesh_processing\CGAL_Polygon_mesh_processing_python.vcxproj]

Linux:

[01m[K/cgal/include/CGAL/Polygon_mesh_processing/stitch_borders.h:781:12:[m[K [01;31m[Kerror: [m[Kcould not convert ‘[01m[Kto_stitch_filtered[m[K’ from ‘[01m[Kstd::vector<std::pair<CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > >, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > > > >, CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > >, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > > > > >, std::allocator<std::pair<CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > >, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > > > >, CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > >, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > > > > > > >[m[K’ to ‘[01m[KCGAL::Iterator_range<Input_iterator_wrapper<std::pair<SWIG_Polyhedron_3::CGAL_Halfedge_handle<CGAL::Polyhedron_3<CGAL::Epick, CGAL::Polyhedron_items_with_id_3> >, SWIG_Polyhedron_3::CGAL_Halfedge_handle<CGAL::Polyhedron_3<CGAL::Epick, CGAL::Polyhedron_items_with_id_3> > >, std::pair<CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > >, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > > > >, CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > >, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_max_base_with_id<CGAL::HalfedgeDS_list_types<CGAL::Epick, CGAL::I_Polyhedron_derived_items_3<CGAL::Polyhedron_items_with_id_3>, std::allocator<int> >, long unsigned int> > > > > > > >[m[K’

If it is broken in master, it will be broken everywhere.

maxGimeno avatar Oct 26 '20 10:10 maxGimeno

If it is broken in master, it will be broken everywhere.

That is easy to know: check the CI for master.

lrineau avatar Oct 26 '20 11:10 lrineau

That is what I am saying: those are the same errors.

maxGimeno avatar Oct 26 '20 11:10 maxGimeno

Sorry, there is another error too : https://travis-ci.com/github/CGAL/cgal-swig-bindings/jobs/407130811#L6243

maxGimeno avatar Oct 26 '20 11:10 maxGimeno

Second commit fixes python styling issues. I think the rest of the errors are unrelated CI issues.

noamgat avatar Oct 27 '20 06:10 noamgat

@noamgat Yes, the stitch_border issues are unrelated, thanks

maxGimeno avatar Oct 27 '20 07:10 maxGimeno

I think the updated PR has no fails other than the general build system issues.

noamgat avatar Nov 14 '20 18:11 noamgat

I have merged master into your branch, so that the continuous integration tests can be run again, with the fixes we applied in master.

lrineau avatar Nov 16 '20 07:11 lrineau