24 template<
typename HalfedgeGraph,
33 typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor;
78 Point save = std::move(A);
85 std::vector< Point > a_vertices, b_vertices, crown_a, crown_b;
111 std::vector< Vector > result =
135 Point save = std::move(Aprime);
136 Aprime = std::move(Bprime);
137 Bprime = std::move(save);
148 std::vector< Vector > pushed_residual = {E};
150 return pushed_residual;
158 std::pair< Point, Point >
place_points(
const std::vector< Vector > &residuals,
175 std::vector< Point > a_vertices, c_a_vertices;
180 std::vector< Point > b_vertices, c_b_vertices;
198 std::vector< Vector > Ds =
231 std::pair< Point, Point > resulting_points;
233 resulting_points = std::make_pair(A, B);
234 return resulting_points;
256 std::pair< Point, Point > resulting_points;
257 resulting_points = std::make_pair(A, B);
258 return resulting_points;
260 return std::make_pair(
Point(0, 0, 0),
Point(0, 0, 0));
290 std::vector< vertex_descriptor > &crown,
303 while(begin_b != end)
319 boost::iterator_range<
320 CGAL::Halfedge_around_target_iterator< HalfedgeGraph > >
322 for(
auto h_v : iterator_range)
336 const Point &kept_position)
391 std::vector< Vector > Ds = {DA_prime, DB_prime};
413 std::vector< Point > &crown,
427 while(begin_b != end)
444 for(
auto it = around.begin(); it != around.end(); it++)
464 std::vector< Point > &around_opposite,
469 if(around_opposite.size() > 0)
472 b_one = around_opposite[0];
473 b_kb = around_opposite.back();
479 for(
auto it = crown.begin(); it != crown.end(); it++)
493 std::list< vertex_descriptor > &around,
498 boost::iterator_range<
499 CGAL::Halfedge_around_target_iterator< HalfedgeGraph > >
500 iterator_range = CGAL::halfedges_around_target(center,
Super_class::_g);
501 for(
auto h_v : iterator_range)