remove bind in Surface_mesh

This commit is contained in:
Sébastien Loriot 2021-01-05 11:53:50 +01:00
parent c4ad713b9e
commit 4a27ff5bf6
2 changed files with 7 additions and 19 deletions

View File

@ -2,9 +2,6 @@
#include <vector>
#include <fstream>
#include <boost/bind.hpp>
#include <boost/functional/value_factory.hpp>
#include <boost/range/algorithm/transform.hpp>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Surface_mesh.h>
#include <CGAL/box_intersection_d.h>
@ -87,16 +84,12 @@ unsigned int intersect(const Mesh& P, const Mesh& Q) {
Q_box_ptr.reserve(Q.number_of_faces());
// build boxes and pointers to boxes
boost::transform(P.faces(),
std::back_inserter(P_boxes),
boost::bind(boost::value_factory<Box>(), _1, boost::cref(P)));
for(auto f : P.faces())
P_boxes.push_back( Box(f, P) );
std::transform(P_boxes.begin(), P_boxes.end(), std::back_inserter(P_box_ptr),
&address_of_box);
boost::transform(Q.faces(),
std::back_inserter(Q_boxes),
boost::bind(boost::value_factory<Box>(), _1, boost::cref(Q)));
for(auto f : Q.faces())
Q_boxes.push_back( Box(f, Q) );
std::transform(Q_boxes.begin(), Q_boxes.end(), std::back_inserter(Q_box_ptr),
&address_of_box);

View File

@ -4,9 +4,6 @@
#include <CGAL/Surface_mesh.h>
#include <CGAL/Simple_cartesian.h>
#include <boost/bind.hpp>
#include <boost/range/algorithm.hpp>
#include <CGAL/use.h>
void constructors_test()
@ -118,15 +115,13 @@ void memory_reuse_test()
// remove all faces
std::size_t old_face_size = f.m.number_of_faces();
std::size_t old_removed_face_size = f.m.number_of_removed_faces();
boost::range::for_each(f.m.faces(), boost::bind(&Sm::remove_face, boost::ref(f.m), _1));
for(auto face : f.m.faces()) f.m.remove_face(face);
assert(f.m.number_of_faces()== 0);
assert(f.m.number_of_removed_faces()== old_face_size + old_removed_face_size);
// remove all edges
std::size_t old_edge_size = f.m.number_of_edges();
std::size_t old_removed_edge_size = f.m.number_of_removed_edges();
boost::range::for_each(f.m.edges(),
boost::bind(static_cast<void (Sm::*)(Sm::Edge_index)>(&Sm::remove_edge),
boost::ref(f.m), _1));
for(auto e : f.m.edges()) f.m.remove_edge(e);
assert(f.m.number_of_faces() == 0);
assert(f.m.number_of_removed_edges()== old_edge_size + old_removed_edge_size);
@ -151,7 +146,7 @@ void memory_reuse_test()
std::size_t old_size = f.m.number_of_vertices();
std::size_t old_removed_size = f.m.number_of_removed_vertices();
boost::range::for_each(f.m.vertices(), boost::bind(&Sm::remove_vertex, boost::ref(f.m), _1));
for(auto v : f.m.vertices()) f.m.remove_vertex(v);
assert(f.m.number_of_vertices() == 0);
assert(f.m.number_of_removed_vertices()== old_size + old_removed_size);