Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] How to insert a subset of Halfedges of a CGAL:Polyhedron_3 into a CGAL:AABB_tree?

Subject: CGAL users discussion list

List archive

[cgal-discuss] How to insert a subset of Halfedges of a CGAL:Polyhedron_3 into a CGAL:AABB_tree?


Chronological Thread 
  • From: Armando Duarte <>
  • To:
  • Subject: [cgal-discuss] How to insert a subset of Halfedges of a CGAL:Polyhedron_3 into a CGAL:AABB_tree?
  • Date: Wed, 20 Dec 2023 16:40:00 -0600
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23: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 w==
  • Ironport-hdrordr: A9a23:xk/En6Ed1+rsb2C2pLqEwMeALOsnbusQ8zAXPjNKOGdom62j5q WTdZEgvyMc5wxhP03I9erwW5VoIkmsk6Kdg7NhWYtKNTOO0ADJEGgL1+rfKlbbalfDH4BmpN 9dmuRFeaTN5JtB4foSIjPULz5lreP3kpxASd2w856ld29XV50=
  • Ironport-phdr: A9a23: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
  • Ironport-sdr: 65836d44_RFlSkGrFqY39NQoHo9uaTWoXypkPeae6dK/24ZmzeOINkb3 HFaAmpsN2S0omlLQVgtzTYbY/qblyDzTw7jhlrw==

I have managed to insert all Edges of a CGAL:Polyhedron_3 into a CGAL:AABB_tree using an example from CGAL manual. But when tring to insert a subset of Halfedges, the code does not compile (using clang 13.0.1 on MacOS). I tried a few CGAL versions. 5.6 is the latest one.

// Test code

// Adapted from CGAL Manual
#include <iostream>
#include <vector>
//#include <CGAL/Simple_cartesian.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/AABB_tree.h>
#include <CGAL/AABB_traits.h>
#include <CGAL/Polyhedron_3.h>
#include <CGAL/AABB_halfedge_graph_segment_primitive.h>

//typedef CGAL::Simple_cartesian<double> K;
typedef CGAL::Exact_predicates_exact_constructions_kernel    K;
typedef K::FT FT;
typedef K::Point_3 Point;
typedef K::Triangle_3 Triangle;

typedef CGAL::Polyhedron_3<K> Polyhedron;

typedef CGAL::AABB_halfedge_graph_segment_primitive<Polyhedron> Primitive;
typedef CGAL::AABB_traits<K, Primitive> Traits;
typedef CGAL::AABB_tree<Traits> Tree;

template <class Kernel, class HalfedgeGraph>
void run(const HalfedgeGraph& graph){
  typename Kernel::Point_3 p(1.0, 0.0, 0.0);
  typename Kernel::Point_3 q(0.0, 1.0, 0.0);
  typename Kernel::Point_3 r(0.0, 0.0, 1.0);

  // constructs the AABB tree  
  Tree tree;

#define INSERT_MODE 2

#if INSERT_MODE==0
  // This compiles, but I don't want to insert all edges in the aabb tree
  std::cout << "\nInserting all edges using CGAL::edges" << std::endl;
  tree.insert( CGAL::edges(graph).first,
               CGAL::edges(graph).second, graph);

#elif INSERT_MODE==2
  std::cout << "\nInserting subset of edges using vector iterators" << std::endl;

  // How to insert a subset of Halfedges of a CGAL:Polyhedron_3 in an CGAL:AABB_tree?

#if 1
  // This does not compile:
  std::vector<const Polyhedron::Halfedge_handle> half_edges;
  Polyhedron::Halfedge_const_iterator edge_pos = graph.halfedges_begin();

#else
  // This compiles with with CGAL 4.13.2, 4.14.3, and 5.6
  // but I would like to store Polyhedron::Halfedge_handle instead of iterators
  std::vector<Polyhedron::Halfedge_const_iterator> half_edges;
  Polyhedron::Halfedge_const_iterator edge_pos = graph.halfedges_begin();
#endif
 
  half_edges.push_back( &(*edge_pos) );
  ++edge_pos;
  half_edges.push_back( &(*edge_pos) );

  // This does NOT compile with with CGAL 4.13.2, 4.14.3 or 5.6
  // tree.insert( half_edges.begin(), half_edges.end(),
  //             graph);
#endif

  tree.accelerate_distance_queries();
 
  // counts #intersections with a triangle query
  Triangle triangle_query(p,q,r);
  std::cout << tree.number_of_intersected_primitives(triangle_query)
      << " intersections(s) with triangle" << std::endl;
  assert( tree.number_of_intersected_primitives(triangle_query )== 6);
  // computes the closest point from a query point
  typename Kernel::Point_3 point_query(2.0, 2.0, 2.0);
  typename Kernel::Point_3 closest = tree.closest_point(point_query);
  std::cerr << "closest point is: " << closest << std::endl;  
}
int main()
{
  Point p(1.0, 0.0, 0.0);
  Point q(0.0, 1.0, 0.0);
  Point r(0.0, 0.0, 1.0);
  Point s(0.0, 0.0, 0.0);
  Polyhedron polyhedron;
  polyhedron.make_tetrahedron(p, q, r, s);
 
  run<K>(polyhedron);
  return EXIT_SUCCESS;
}

I have tried several variations of this example code. Some are shown via pre-processor variables. This is the error message from clang. I have checked it many time but could not figure out what is the problem. [ 0%] Building CXX object projects/helperprograms/test_AABB_tree/CMakeFiles/test_AABB_tree.dir/test_AABB_tree.C.o In file included from /Users/armando/SetSolver_git/SetSolver/projects/helperprograms/test_AABB_tree/test_AABB_tree.C:9: /Users/armando/SetSolver_hg/CGAL-5.6/include/CGAL/AABB_halfedge_graph_segment_primitive.h:178:17: error: no matching member function for call to 'make_id' : Base( Id_(make_id(*it, graph, OneHalfedgeGraphPerTree())), ^~~~~~~ /Users/armando/SetSolver_hg/CGAL-5.6/include/CGAL/AABB_tree.h:741:30: note: in instantiation of function template specialization 'CGAL::AABB_halfedge_graph_segment_primitiveCGAL::Polyhedron_3<CGAL::Epeck>::AABB_halfedge_graph_segment_primitive<std::__wrap_iter<CGAL::internal::In_place_list_const_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>>> *>>' requested here m_primitives.push_back(Primitive(first,std::forward(t)...)); ^ /Users/armando/SetSolver_git/SetSolver/projects/helperprograms/test_AABB_tree/test_AABB_tree.C:62:8: note: in instantiation of function template specialization 'CGAL::AABB_tree<CGAL::AABB_traits<CGAL::Epeck, CGAL::AABB_halfedge_graph_segment_primitiveCGAL::Polyhedron_3<CGAL::Epeck>>>::insert<std::__wrap_iter<CGAL::internal::In_place_list_const_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>>> *>, const CGAL::Polyhedron_3CGAL::Epeck &>' requested here tree.insert( half_edges.begin(), half_edges.end(), ^ /Users/armando/SetSolver_git/SetSolver/projects/helperprograms/test_AABB_tree/test_AABB_tree.C:87:3: note: in instantiation of function template specialization 'run<CGAL::Epeck, CGAL::Polyhedron_3CGAL::Epeck>' requested here run(polyhedron); ^ /Users/armando/SetSolver_hg/CGAL-5.6/include/CGAL/AABB_halfedge_graph_segment_primitive.h:102:6: note: candidate function not viable: no known conversion from 'CGAL::internal::In_place_list_const_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>>>' to 'CGAL::AABB_halfedge_graph_segment_primitiveCGAL::Polyhedron_3<CGAL::Epeck>::ED' (aka 'HDS_edge<In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>>>>') for 1st argument ED make_id(ED ed, const HalfedgeGraph&, Tag_true) ^ /Users/armando/SetSolver_hg/CGAL-5.6/include/CGAL/AABB_halfedge_graph_segment_primitive.h:107:39: note: candidate function not viable: no known conversion from 'CGAL::internal::In_place_list_const_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>>>' to 'CGAL::AABB_halfedge_graph_segment_primitiveCGAL::Polyhedron_3<CGAL::Epeck>::ED' (aka 'HDS_edge<In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>, std::allocator<CGAL::HalfedgeDS_in_place_list_halfedge<CGAL::I_Polyhedron_halfedge<CGAL::HalfedgeDS_halfedge_base<CGAL::HalfedgeDS_list_types<CGAL::Epeck, CGAL::I_Polyhedron_derived_items_3CGAL::Polyhedron_items_3, std::allocator>>>>>>>') for 1st argument std::pair<ED, const HalfedgeGraph*> make_id(ED ed, const HalfedgeGraph& fg, Tag_false) ^ 1 error generated. make[2]: *** [projects/helperprograms/test_AABB_tree/CMakeFiles/test_AABB_tree.dir/test_AABB_tree.C.o] Error 1 make[1]: *** [projects/helperprograms/test_AABB_tree/CMakeFiles/test_AABB_tree.dir/all] Error 2 make: *** [all] Error 2





  • [cgal-discuss] How to insert a subset of Halfedges of a CGAL:Polyhedron_3 into a CGAL:AABB_tree?, Armando Duarte, 12/20/2023

Archive powered by MHonArc 2.6.19+.

Top of Page