CGAL / cgal-swig-bindings

CGAL bindings using SWIG
Other
346 stars 93 forks source link

Adding first_intersection / first_intersected_primitive to AABB Tree … #187

Open noamgat opened 3 years ago

noamgat commented 3 years ago

…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.

sloriot commented 3 years ago

Looks good!

lrineau commented 3 years ago

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

maxGimeno commented 3 years ago

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:

/cgal/include/CGAL/Polygon_mesh_processing/stitch_borders.h:781:12: error: could not convert ‘to_stitch_filtered’ from ‘std::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> > > > > > > >’ to ‘CGAL::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> > > > > > > >’

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

lrineau commented 3 years ago

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

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

maxGimeno commented 3 years ago

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

maxGimeno commented 3 years ago

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

noamgat commented 3 years ago

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

maxGimeno commented 3 years ago

@noamgat Yes, the stitch_border issues are unrelated, thanks

noamgat commented 3 years ago

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

lrineau commented 3 years ago

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