From 241e1bf557d459393b1779632c34e17458ab069e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Thu, 4 Jan 2024 11:53:18 +0100 Subject: [PATCH] add missing license include directives --- .../Approximate_min_ellipsoid_d_impl.h | 6 + .../Khachiyan_approximation_impl.h | 7 + .../CGAL/Min_circle_2/Min_circle_2_impl.h | 7 + .../Min_circle_2/Optimisation_circle_2_impl.h | 7 + .../CGAL/Min_ellipse_2/Min_ellipse_2_impl.h | 7 + .../Optimisation_ellipse_2_impl.h | 7 + .../CGAL/Min_sphere_d/Min_sphere_d_impl.h | 7 + .../CGAL/Circular_kernel_2/interface_macros.h | 2 + .../interface_macros.h | 2 + .../CGAL/Circular_kernel_3/interface_macros.h | 2 + .../CGAL/Partition_2/Rotation_tree_2_impl.h | 7 + .../Vertex_visibility_graph_2_impl.h | 7 + .../CGAL/Periodic_2_triangulation_dummy_12.h | 2 + ...riodic_3_regular_triangulation_dummy_288.h | 2 + .../Periodic_3_triangulation_dummy_36.h | 2 + ...Periodic_3_triangulation_dummy_generator.h | 2 + .../experimental/experimental_code.h | 228 ------------------ .../include/CGAL/polygon_mesh_processing.h | 8 + .../include/CGAL/QP_solver/Initialization.h | 7 + .../CGAL/QP_solver/QP__filtered_base_impl.h | 7 + .../CGAL/QP_solver/QP_basis_inverse_impl.h | 7 + .../CGAL/QP_solver/QP_solver_bounds_impl.h | 7 + .../include/CGAL/QP_solver/QP_solver_impl.h | 7 + .../QP_solver_nonstandardform_impl.h | 7 + .../Segment_Delaunay_graph_2_impl.h | 6 + .../Segment_Delaunay_graph_hierarchy_2_impl.h | 5 + .../Segment_Delaunay_graph_Linf_2_impl.h | 7 + .../CGAL/surface_mesh_parameterization.h | 8 +- .../CGAL/make_piecewise_smooth_surface_mesh.h | 7 + 29 files changed, 158 insertions(+), 229 deletions(-) delete mode 100644 Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Hole_filling/experimental/experimental_code.h diff --git a/Bounding_volumes/include/CGAL/Approximate_min_ellipsoid_d/Approximate_min_ellipsoid_d_impl.h b/Bounding_volumes/include/CGAL/Approximate_min_ellipsoid_d/Approximate_min_ellipsoid_d_impl.h index b38b7794967..e6c85c192a6 100644 --- a/Bounding_volumes/include/CGAL/Approximate_min_ellipsoid_d/Approximate_min_ellipsoid_d_impl.h +++ b/Bounding_volumes/include/CGAL/Approximate_min_ellipsoid_d/Approximate_min_ellipsoid_d_impl.h @@ -10,6 +10,10 @@ // // Author(s) : Kaspar Fischer +#ifndef CGAL_APPROXIMATE_MIN_ELLIPSOID_D_APPROXIMATE_MIN_ELLIPSOID_D_IMPL_H +#define CGAL_APPROXIMATE_MIN_ELLIPSOID_D_APPROXIMATE_MIN_ELLIPSOID_D_IMPL_H + +#include #include @@ -272,3 +276,5 @@ namespace CGAL { } } + +#endif //CGAL_APPROXIMATE_MIN_ELLIPSOID_D_APPROXIMATE_MIN_ELLIPSOID_D_IMPL_H diff --git a/Bounding_volumes/include/CGAL/Approximate_min_ellipsoid_d/Khachiyan_approximation_impl.h b/Bounding_volumes/include/CGAL/Approximate_min_ellipsoid_d/Khachiyan_approximation_impl.h index 90944fd8b7f..c3c5844f273 100644 --- a/Bounding_volumes/include/CGAL/Approximate_min_ellipsoid_d/Khachiyan_approximation_impl.h +++ b/Bounding_volumes/include/CGAL/Approximate_min_ellipsoid_d/Khachiyan_approximation_impl.h @@ -10,6 +10,11 @@ // // Author(s) : Kaspar Fischer +#ifndef CGAL_APPROX_MIN_ELLIPSOID_KHACHIYAN_APPROX_IMPL_H +#define CGAL_APPROX_MIN_ELLIPSOID_KHACHIYAN_APPROX_IMPL_H + +#include + // Note: whenever a comment refers to "Khachiyan's paper" then the // paper "Rounding of polytopes in the real number model of // computation" is meant (Mathematics of Operations Research, Vol. 21, @@ -663,3 +668,5 @@ namespace CGAL { } } + +#endif // CGAL_APPROX_MIN_ELLIPSOID_KHACHIYAN_APPROX_IMPL_H diff --git a/Bounding_volumes/include/CGAL/Min_circle_2/Min_circle_2_impl.h b/Bounding_volumes/include/CGAL/Min_circle_2/Min_circle_2_impl.h index 114a59a297a..c7f9893103d 100644 --- a/Bounding_volumes/include/CGAL/Min_circle_2/Min_circle_2_impl.h +++ b/Bounding_volumes/include/CGAL/Min_circle_2/Min_circle_2_impl.h @@ -10,6 +10,11 @@ // // Author(s) : Sven Schoenherr , Bernd Gaertner +#ifndef CGAL_MIN_CIRCLE_2_MIN_CIRCLE_2_IMPL_H +#define CGAL_MIN_CIRCLE_2_MIN_CIRCLE_2_IMPL_H + +#include + #include namespace CGAL { @@ -98,3 +103,5 @@ operator >> ( std::istream& is, CGAL::Min_circle_2& min_circle) } //namespace CGAL // ===== EOF ================================================================== + +#endif // CGAL_MIN_CIRCLE_2_MIN_CIRCLE_2_IMPL_H diff --git a/Bounding_volumes/include/CGAL/Min_circle_2/Optimisation_circle_2_impl.h b/Bounding_volumes/include/CGAL/Min_circle_2/Optimisation_circle_2_impl.h index f2e94333b61..04a47b6d2b0 100644 --- a/Bounding_volumes/include/CGAL/Min_circle_2/Optimisation_circle_2_impl.h +++ b/Bounding_volumes/include/CGAL/Min_circle_2/Optimisation_circle_2_impl.h @@ -10,6 +10,11 @@ // // Author(s) : Sven Schoenherr , Bernd Gaertner +#ifndef CGAL_MIN_SPHERE_D_OPTIMISATION_CIRCLE_2_IMPL_H +#define CGAL_MIN_SPHERE_D_OPTIMISATION_CIRCLE_2_IMPL_H + +#include + // includes # include @@ -89,3 +94,5 @@ operator >> ( std::istream& is, CGAL::Optimisation_circle_2& c) } //namespace CGAL // ===== EOF ================================================================== + +#endif //CGAL_MIN_SPHERE_D_OPTIMISATION_CIRCLE_2_IMPL_H diff --git a/Bounding_volumes/include/CGAL/Min_ellipse_2/Min_ellipse_2_impl.h b/Bounding_volumes/include/CGAL/Min_ellipse_2/Min_ellipse_2_impl.h index d7bd821350e..01cc0d2dcf7 100644 --- a/Bounding_volumes/include/CGAL/Min_ellipse_2/Min_ellipse_2_impl.h +++ b/Bounding_volumes/include/CGAL/Min_ellipse_2/Min_ellipse_2_impl.h @@ -10,6 +10,11 @@ // // Author(s) : Sven Schoenherr , Bernd Gaertner +#ifndef CGAL_MIN_ELLIPSE_2_MIN_ELLIPSE_2_IMP_H +#define CGAL_MIN_ELLIPSE_2_MIN_ELLIPSE_2_IMP_H + +#include + #include namespace CGAL { @@ -98,3 +103,5 @@ operator >> ( std::istream& is, CGAL::Min_ellipse_2& min_ellipse) } //namespace CGAL // ===== EOF ================================================================== + +#endif // CGAL_MIN_ELLIPSE_2_MIN_ELLIPSE_2_IMP_H diff --git a/Bounding_volumes/include/CGAL/Min_ellipse_2/Optimisation_ellipse_2_impl.h b/Bounding_volumes/include/CGAL/Min_ellipse_2/Optimisation_ellipse_2_impl.h index 4f94bbe4047..4100d9d3de6 100644 --- a/Bounding_volumes/include/CGAL/Min_ellipse_2/Optimisation_ellipse_2_impl.h +++ b/Bounding_volumes/include/CGAL/Min_ellipse_2/Optimisation_ellipse_2_impl.h @@ -10,6 +10,11 @@ // // Author(s) : Sven Schoenherr , Bernd Gaertner +#ifndef CGAL_MIN_ELLIPSE_2_OPTIMISATION_ELLIPSE_2_IMPL_H +#define CGAL_MIN_ELLIPSE_2_OPTIMISATION_ELLIPSE_2_IMPL_H + +#include + namespace CGAL { // Class implementation (continued) @@ -116,3 +121,5 @@ operator >> ( std::istream& is, CGAL::Optimisation_ellipse_2& e) } //namespace CGAL // ===== EOF ================================================================== + +#endif // CGAL_MIN_ELLIPSE_2_OPTIMISATION_ELLIPSE_2_IMPL_H diff --git a/Bounding_volumes/include/CGAL/Min_sphere_d/Min_sphere_d_impl.h b/Bounding_volumes/include/CGAL/Min_sphere_d/Min_sphere_d_impl.h index 17231e575e4..95ebcd1fb31 100644 --- a/Bounding_volumes/include/CGAL/Min_sphere_d/Min_sphere_d_impl.h +++ b/Bounding_volumes/include/CGAL/Min_sphere_d/Min_sphere_d_impl.h @@ -11,6 +11,11 @@ // Author(s) : Sven Schoenherr // Bernd Gaertner +#ifndef CGAL_MIN_SPHERE_D_MIN_SPHERE_D_IMPL_H +#define CGAL_MIN_SPHERE_D_MIN_SPHERE_D_IMPL_H + +#include + #include namespace CGAL { @@ -105,3 +110,5 @@ operator >> ( std::istream& is, Min_sphere_d& min_sphere) } //namespace CGAL // ===== EOF ================================================================== + +#endif //CGAL_MIN_SPHERE_D_MIN_SPHERE_D_IMPL_H diff --git a/Circular_kernel_2/include/CGAL/Circular_kernel_2/interface_macros.h b/Circular_kernel_2/include/CGAL/Circular_kernel_2/interface_macros.h index ca10ee63135..544f437b936 100644 --- a/Circular_kernel_2/include/CGAL/Circular_kernel_2/interface_macros.h +++ b/Circular_kernel_2/include/CGAL/Circular_kernel_2/interface_macros.h @@ -9,6 +9,8 @@ // // Author(s) : Monique Teillaud, Sylvain Pion, Pedro Machado +#include + // Partially supported by the IST Programme of the EU as a Shared-cost // RTD (FET Open) Project under Contract No IST-2000-26473 // (ECG - Effective Computational Geometry for Curves and Surfaces) diff --git a/Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/interface_macros.h b/Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/interface_macros.h index 32afcea5df7..73dd6f14b37 100644 --- a/Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/interface_macros.h +++ b/Circular_kernel_2/include/CGAL/Filtered_bbox_circular_kernel_2/interface_macros.h @@ -9,6 +9,8 @@ // // Author(s) : Monique Teillaud, Sylvain Pion, Pedro Machado +#include + // Partially supported by the IST Programme of the EU as a Shared-cost // RTD (FET Open) Project under Contract No IST-2000-26473 // (ECG - Effective Computational Geometry for Curves and Surfaces) diff --git a/Circular_kernel_3/include/CGAL/Circular_kernel_3/interface_macros.h b/Circular_kernel_3/include/CGAL/Circular_kernel_3/interface_macros.h index dfb43c31298..17d538869ed 100644 --- a/Circular_kernel_3/include/CGAL/Circular_kernel_3/interface_macros.h +++ b/Circular_kernel_3/include/CGAL/Circular_kernel_3/interface_macros.h @@ -10,6 +10,8 @@ // Author(s) : Monique Teillaud, Sylvain Pion, Pedro Machado, // Sebastien Loriot, Julien Hazebrouck, Damien Leroy +#include + // Partially supported by the IST Programme of the EU as a // STREP (FET Open) Project under Contract No IST-006413 // (ACS -- Algorithms for Complex Shapes) diff --git a/Partition_2/include/CGAL/Partition_2/Rotation_tree_2_impl.h b/Partition_2/include/CGAL/Partition_2/Rotation_tree_2_impl.h index 7f4b46ffdb7..e55e1b0d4a6 100644 --- a/Partition_2/include/CGAL/Partition_2/Rotation_tree_2_impl.h +++ b/Partition_2/include/CGAL/Partition_2/Rotation_tree_2_impl.h @@ -10,6 +10,11 @@ // // Author(s) : Susan Hert +#ifndef CGAL_PARTITION_2_ROTATION_TREE_2_IMPL_H +#define CGAL_PARTITION_2_ROTATION_TREE_2_IMPL_H + +#include + #include namespace CGAL { @@ -130,3 +135,5 @@ std::ostream& operator<<(std::ostream& os, const Rotation_tree_2& tree) } } + +#endif // CGAL_PARTITION_2_ROTATION_TREE_2_IMPL_H diff --git a/Partition_2/include/CGAL/Partition_2/Vertex_visibility_graph_2_impl.h b/Partition_2/include/CGAL/Partition_2/Vertex_visibility_graph_2_impl.h index 9d9c463a994..65bf16ac625 100644 --- a/Partition_2/include/CGAL/Partition_2/Vertex_visibility_graph_2_impl.h +++ b/Partition_2/include/CGAL/Partition_2/Vertex_visibility_graph_2_impl.h @@ -10,6 +10,11 @@ // // Author(s) : Susan Hert +#ifndef CGAL_PARTITION_2_VERTEX_VISIBILITY_GRAPH_2_IMPL_H +#define CGAL_PARTITION_2_VERTEX_VISIBILITY_GRAPH_2_IMPL_H + +#include + namespace CGAL { @@ -699,3 +704,5 @@ void Vertex_visibility_graph_2::handle(Tree_iterator p, } } + +#endif // CGAL_PARTITION_2_VERTEX_VISIBILITY_GRAPH_2_IMPL_H diff --git a/Periodic_2_triangulation_2/include/CGAL/Periodic_2_triangulation_dummy_12.h b/Periodic_2_triangulation_2/include/CGAL/Periodic_2_triangulation_dummy_12.h index 6c6c6e01a0c..465ad8c83b0 100644 --- a/Periodic_2_triangulation_2/include/CGAL/Periodic_2_triangulation_dummy_12.h +++ b/Periodic_2_triangulation_2/include/CGAL/Periodic_2_triangulation_dummy_12.h @@ -9,6 +9,8 @@ // // Author(s) : Nico Kruithof +#include + #ifdef CGAL_INCLUDE_FROM_PERIODIC_2_TRIANGULATION_2_H #include diff --git a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_regular_triangulation_dummy_288.h b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_regular_triangulation_dummy_288.h index f125d86dda0..811d408a654 100644 --- a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_regular_triangulation_dummy_288.h +++ b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_regular_triangulation_dummy_288.h @@ -10,6 +10,8 @@ // // Author(s) : Manuel Caroli +#include + #ifdef CGAL_INCLUDE_FROM_PERIODIC_3_REGULAR_TRIANGULATION_3_H std::vector dummy_points() diff --git a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_triangulation_dummy_36.h b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_triangulation_dummy_36.h index a2197bb2768..097a6016360 100644 --- a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_triangulation_dummy_36.h +++ b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_triangulation_dummy_36.h @@ -10,6 +10,8 @@ // // Author(s) : Manuel Caroli +#include + #ifdef CGAL_INCLUDE_FROM_PERIODIC_3_TRIANGULATION_3_H template < class GT, class TDS > diff --git a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_triangulation_dummy_generator.h b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_triangulation_dummy_generator.h index b501d361cc3..1d11a29adc5 100644 --- a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_triangulation_dummy_generator.h +++ b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3/internal/Periodic_3_triangulation_dummy_generator.h @@ -10,6 +10,8 @@ // // Author(s) : Mael Rouxel-Labbé +#include + #ifdef CGAL_INCLUDE_FROM_PERIODIC_3_TRIANGULATION_3_H template < class GT, class TDS > diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Hole_filling/experimental/experimental_code.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Hole_filling/experimental/experimental_code.h deleted file mode 100644 index a33bd8964be..00000000000 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Hole_filling/experimental/experimental_code.h +++ /dev/null @@ -1,228 +0,0 @@ -// Copyright (c) 2015 GeometryFactory (France). -// All rights reserved. -// -// This file is part of CGAL (www.cgal.org). -// -// $URL$ -// $Id$ -// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial -// -// -// Author(s) : Ilker O. Yaz - -/************************************************************************ - * Currently not useful code pieces, in case there will be any need in the future. - * Also they might not work when they plugged-in due to recent changes. - ************************************************************************/ - -// It can produce a patch from both complete and incomplete lambda -// WARNING: Not working good for all cases -// For holes, this code first close them then erase them. -// However the algorithm might produce holes which are invalid to close (closing them breaks edge manifoldness, so erasing doesn't work) -template -struct Tracer_polyhedron_incomplete -{ - typedef typename Polyhedron::Halfedge_handle Halfedge_handle; - typedef typename Polyhedron::Facet_handle Facet_handle; - - Tracer_polyhedron_incomplete(OutputIteratorPatch out, - OutputIteratorHole out_hole, - Polyhedron& polyhedron, - std::vector& P) - : out(out), out_hole(out_hole), polyhedron(polyhedron), P(P) - { } - - template - void - operator()(const LookupTable& lambda, int i, int k) - { - std::vector facets_to_delete; - (*this)(lambda, i, k, facets_to_delete, true); - for(typename std::vector::iterator it = facets_to_delete.begin(); - it != facets_to_delete.end(); ++it) - { - *out_hole++=(*it)->halfedge(); // each deleted facet corresponds to a new hole - polyhedron.erase_facet((*it)->halfedge()); - } - } - -private: - template - Halfedge_handle - operator()(const LookupTable& lambda, - int i, int k, - std::vector& facets_to_delete, - bool last) - { - if(i + 1 == k) { return P[i+1]; } - - Halfedge_handle h, g; - if(i+2 == k){ - - if(last) - { h = polyhedron.fill_hole(P[i+1]); } - else - { h = polyhedron.add_facet_to_border(P[i+1]->prev(), P[i+2/*k*/]); } - - CGAL_assertion(h->facet() != Facet_handle()); - - int la = lambda.get(i, k); - if(la == -1) { - facets_to_delete.push_back(h->facet()); - } - else { - *out++ = h->facet(); - } - return h->opposite(); - } - else - { - int la = lambda.get(i, k); - if(la == -1) { - if(last) - { h = polyhedron.fill_hole(P[i+1]); } - else - { h = polyhedron.add_facet_to_border(P[i+1]->prev(), P[i+2/*k*/]); } - facets_to_delete.push_back(h->facet()); - return h->opposite(); - } - else { - h = operator()(lambda, i, la, facets_to_delete, false); - g = operator()(lambda, la, k, facets_to_delete, false); - - if(last) - { h = polyhedron.fill_hole(g); } - else - { h = polyhedron.add_facet_to_border(h->prev(), g); } - - CGAL_assertion(h->facet() != Facet_handle()); - *out++ = h->facet(); - return h->opposite(); - } - } - } - -public: - OutputIteratorPatch out; - OutputIteratorHole out_hole; - Polyhedron& polyhedron; - std::vector& P; -}; - -// Try closing holes by gathering incomplete patches together (an external approach) -template -OutputIterator -triangulate_hole_polyline_incomplete(InputIterator pbegin, InputIterator pend, - InputIterator qbegin, InputIterator qend, - OutputIterator out) -{ - - typedef typename std::iterator_traits::value_type Point_3; - typedef Weight_incomplete Weight; - typedef Weight_calculator WC; - - typedef std::vector > Facet_vector; /* deliberately not OutputIteratorValueType*/ - typedef std::back_insert_iterator OutIt; - typedef Tracer_polyline_incomplete Tracer; - typedef std::pair Range; - - std::vector P(pbegin, pend); - std::vector Q(qbegin, qend); - - if(P.front() != P.back()){ - P.push_back(P.front()); - if( !Q.empty() && P.size() > Q.size()) { - Q.push_back(Q.front()); - } - } - - std::vector patch_facets; - std::stack remaining_holes; - - remaining_holes.push(Range(0, P.size() -2)); - - while(!remaining_holes.empty()) { - Range h = remaining_holes.top(); - remaining_holes.pop(); - - std::vector P_r(&P[h.first], (&P[h.second]) + 1); - std::vector Q_r; - if(!Q.empty()) { Q_r.insert(Q_r.begin(), &Q[h.first], (&Q[h.second]) + 1); }; - - Facet_vector new_facets; - OutIt new_facets_out(new_facets); - std::vector new_holes; - std::back_insert_iterator > new_holes_out(new_holes); - Tracer tracer(new_facets_out, new_holes_out); - - triangulate_hole_polyline(P_r, Q_r, tracer, WC(), true, true); - - if(new_facets.empty()) { - new_holes.clear(); - //triangulate_hole_polyline(P_r, Q_r, tracer, WC(), false, true); - if(new_facets.empty()) { - // if no patch facets created and also we are using brute force approach, then there is nothing to do, - // leave `out` intact and return - CGAL_warning_msg(false, "Returning no output. Filling hole with incomplete patches is not successful!"); - return out; - } - } - // put new borders to remaining_holes - for(typename std::vector::iterator it = new_holes.begin(); it != new_holes.end(); ++it) { - remaining_holes.push(std::make_pair(it->first + h.first, it->second + h.first)); - } - tracer.remaining_holes.clear(); - for(Facet_vector::iterator it = new_facets.begin(); it != new_facets.end(); ++it) { - patch_facets.push_back( - OutputIteratorValueType(it->get<0>() + h.first, it->get<1>() + h.first, it->get<2>() + h.first)); - } - } - - return std::copy(patch_facets.begin(), patch_facets.end(), out); -} - -// (for Polyhedron_3) Try closing holes by gathering incomplete patches together (an external approach) -template -std::pair -triangulate_hole_Polyhedron_incomplete(Polyhedron& polyhedron, - typename Polyhedron::Halfedge_handle border_halfedge, - OutputIterator out) -{ - typedef typename Polyhedron::Halfedge_handle Halfedge_handle; - typedef typename Polyhedron::Facet_handle Facet_handle; - - Weight_min_max_dihedral_and_area weight_total = Weight_min_max_dihedral_and_area::DEFAULT(); - std::vector patch_facets; - std::stack remaining_holes; - remaining_holes.push(border_halfedge); - - while(!remaining_holes.empty()) { - Halfedge_handle h = remaining_holes.top(); - remaining_holes.pop(); - std::vector holes_h; - - std::size_t patch_facets_before = patch_facets.size(); - Weight_min_max_dihedral_and_area w = - triangulate_hole_Polyhedron(polyhedron, h, back_inserter(patch_facets), back_inserter(holes_h), true); - - if(patch_facets_before == patch_facets.size()) { - holes_h.clear(); - patch_facets_before = patch_facets.size(); - w = triangulate_hole_Polyhedron(polyhedron, h, back_inserter(patch_facets), back_inserter(holes_h), false); - if(patch_facets_before == patch_facets.size()) { - // if no patch facets created and also we are using brute force approach, then there is nothing to do, - // leave `out` intact and return - CGAL_warning_msg(false, "Returning no output. Filling hole with incomplete patches is not successful!"); - return std::make_pair(out, Weight_min_max_dihedral_and_area::NOT_VALID()); - } - } - // put new borders to remaining_holes and update weight - for(typename std::vector::iterator it = holes_h.begin(); it != holes_h.end(); ++it) { - //remaining_holes.push(*it); - } - weight_total = weight_total + w; - } - - out = std::copy(patch_facets.begin(), patch_facets.end(), out); - return std::make_pair(out, weight_total); -} diff --git a/Polygon_mesh_processing/include/CGAL/polygon_mesh_processing.h b/Polygon_mesh_processing/include/CGAL/polygon_mesh_processing.h index b9892a67f16..b883e729935 100644 --- a/Polygon_mesh_processing/include/CGAL/polygon_mesh_processing.h +++ b/Polygon_mesh_processing/include/CGAL/polygon_mesh_processing.h @@ -17,6 +17,11 @@ * the free functions of this package. */ +#ifndef CGAL_POLYGON_MESH_PROCESSING_H +#define CGAL_POLYGON_MESH_PROCESSING_H + +#include + #include #include #include @@ -49,3 +54,6 @@ #include #include #include +#include + +#endif //CGAL_POLYGON_MESH_PROCESSING_H diff --git a/QP_solver/include/CGAL/QP_solver/Initialization.h b/QP_solver/include/CGAL/QP_solver/Initialization.h index 88eb0636fb3..99873022d2d 100644 --- a/QP_solver/include/CGAL/QP_solver/Initialization.h +++ b/QP_solver/include/CGAL/QP_solver/Initialization.h @@ -13,6 +13,11 @@ // Franz Wessendorp // Kaspar Fischer +#ifndef CGAL_QP_SOLVER_INITIALIZATION_H +#define CGAL_QP_SOLVER_INITIALIZATION_H + +#include + #include #include @@ -664,3 +669,5 @@ init_additional_data_members() } //namespace CGAL // ===== EOF ================================================================== + +#endif //CGAL_QP_SOLVER_INITIALIZATION_H diff --git a/QP_solver/include/CGAL/QP_solver/QP__filtered_base_impl.h b/QP_solver/include/CGAL/QP_solver/QP__filtered_base_impl.h index 194a7607e64..bffac7ad089 100644 --- a/QP_solver/include/CGAL/QP_solver/QP__filtered_base_impl.h +++ b/QP_solver/include/CGAL/QP_solver/QP__filtered_base_impl.h @@ -13,6 +13,11 @@ // Franz Wessendorp // Kaspar Fischer +#ifndef CGAL_QP_FILTERED_BASE_IMPL_H +#define CGAL_QP_FILTERED_BASE_IMPL_H + +#include + namespace CGAL { // ============================= @@ -370,3 +375,5 @@ transition( ) } //namespace CGAL // ===== EOF ================================================================== + +#endif // CGAL_QP_FILTERED_BASE_IMPL_H diff --git a/QP_solver/include/CGAL/QP_solver/QP_basis_inverse_impl.h b/QP_solver/include/CGAL/QP_solver/QP_basis_inverse_impl.h index 04e8f3f36d4..890d1ba296b 100644 --- a/QP_solver/include/CGAL/QP_solver/QP_basis_inverse_impl.h +++ b/QP_solver/include/CGAL/QP_solver/QP_basis_inverse_impl.h @@ -13,6 +13,11 @@ // Franz Wessendorp // Kaspar Fischer +#ifndef CGAL_QP_SOLVER_QP_BASIS_INVERSE_IMPL_H +#define CGAL_QP_SOLVER_QP_BASIS_INVERSE_IMPL_H + +#include + namespace CGAL { // ============================= @@ -700,3 +705,5 @@ print( ) } //namespace CGAL // ===== EOF ================================================================== + +#endif //CGAL_QP_SOLVER_QP_BASIS_INVERSE_IMPL_H diff --git a/QP_solver/include/CGAL/QP_solver/QP_solver_bounds_impl.h b/QP_solver/include/CGAL/QP_solver/QP_solver_bounds_impl.h index 1f0a73e1a49..1e67055cbf8 100644 --- a/QP_solver/include/CGAL/QP_solver/QP_solver_bounds_impl.h +++ b/QP_solver/include/CGAL/QP_solver/QP_solver_bounds_impl.h @@ -13,6 +13,11 @@ // Franz Wessendorp // Kaspar Fischer +#ifndef CGAL_QP_SOLVER_QP_SOLVER_BOUNDS_IMPL_H +#define CGAL_QP_SOLVER_QP_SOLVER_BOUNDS_IMPL_H + +#include + namespace CGAL { template < typename Q, typename ET, typename Tags > @@ -89,3 +94,5 @@ QP_solver::upper_bnd(int i) const } //namespace CGAL // ===== EOF ================================================================== + +#endif //CGAL_QP_SOLVER_QP_SOLVER_BOUNDS_IMPL_H diff --git a/QP_solver/include/CGAL/QP_solver/QP_solver_impl.h b/QP_solver/include/CGAL/QP_solver/QP_solver_impl.h index bc62b5ae88f..262e20f1ba7 100644 --- a/QP_solver/include/CGAL/QP_solver/QP_solver_impl.h +++ b/QP_solver/include/CGAL/QP_solver/QP_solver_impl.h @@ -13,6 +13,11 @@ // Franz Wessendorp // Kaspar Fischer +#ifndef CGAL_QP_SOLVER_IMPL_H +#define CGAL_QP_SOLVER_IMPL_H + +#include + #include #include @@ -3393,3 +3398,5 @@ get_l() const } //namespace CGAL // ===== EOF ================================================================== + +#endif //CGAL_QP_SOLVER_IMPL_H diff --git a/QP_solver/include/CGAL/QP_solver/QP_solver_nonstandardform_impl.h b/QP_solver/include/CGAL/QP_solver/QP_solver_nonstandardform_impl.h index 57118dac1e2..e5f2a0eb5df 100644 --- a/QP_solver/include/CGAL/QP_solver/QP_solver_nonstandardform_impl.h +++ b/QP_solver/include/CGAL/QP_solver/QP_solver_nonstandardform_impl.h @@ -13,6 +13,11 @@ // Franz Wessendorp // Kaspar Fischer +#ifndef CGAL_QP_SOLVER_NONSTANDARDFORM_IMPL_H +#define CGAL_QP_SOLVER_NONSTANDARDFORM_IMPL_H + +#include + namespace CGAL { // Looks in x_O_v_i which bound is present for variable i and returns @@ -219,3 +224,5 @@ init_w() } //namespace CGAL // ===== EOF ================================================================== + +#endif CGAL_QP_SOLVER_NONSTANDARDFORM_IMPL_H diff --git a/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_2/Segment_Delaunay_graph_2_impl.h b/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_2/Segment_Delaunay_graph_2_impl.h index 88d634e0324..00c2130c50a 100644 --- a/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_2/Segment_Delaunay_graph_2_impl.h +++ b/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_2/Segment_Delaunay_graph_2_impl.h @@ -10,6 +10,10 @@ // // Author(s) : Menelaos Karavelas +#ifndef CGAL_SEGMENT_DELAUNAY_GRAPH_2_SDG_2_IMPL_H +#define CGAL_SEGMENT_DELAUNAY_GRAPH_2_SDG_2_IMPL_H + +#include // class implementation continued //================================= @@ -3325,3 +3329,5 @@ file_input(std::istream& is, bool read_handle_vector, } //namespace CGAL // EOF + +#endif // CGAL_SEGMENT_DELAUNAY_GRAPH_2_SDG_2_IMPL_H diff --git a/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_2/Segment_Delaunay_graph_hierarchy_2_impl.h b/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_2/Segment_Delaunay_graph_hierarchy_2_impl.h index 14697569e3c..1434020ccd9 100644 --- a/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_2/Segment_Delaunay_graph_hierarchy_2_impl.h +++ b/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_2/Segment_Delaunay_graph_hierarchy_2_impl.h @@ -10,7 +10,10 @@ // // Author(s) : Menelaos Karavelas +#ifndef CGAL_SEGMENT_DELAUNAY_GRAPH_2_SDG_HIERARCHY_IMPL_H +#define CGAL_SEGMENT_DELAUNAY_GRAPH_2_SDG_HIERARCHY_IMPL_H +#include // class implementation continued @@ -1145,3 +1148,5 @@ file_input(std::istream& is) // EOF + +#endif //CGAL_SEGMENT_DELAUNAY_GRAPH_2_SDG_HIERARCHY_IMPL_H diff --git a/Segment_Delaunay_graph_Linf_2/include/CGAL/Segment_Delaunay_graph_Linf_2/Segment_Delaunay_graph_Linf_2_impl.h b/Segment_Delaunay_graph_Linf_2/include/CGAL/Segment_Delaunay_graph_Linf_2/Segment_Delaunay_graph_Linf_2_impl.h index 73a5247879e..4aff29fb69b 100644 --- a/Segment_Delaunay_graph_Linf_2/include/CGAL/Segment_Delaunay_graph_Linf_2/Segment_Delaunay_graph_Linf_2_impl.h +++ b/Segment_Delaunay_graph_Linf_2/include/CGAL/Segment_Delaunay_graph_Linf_2/Segment_Delaunay_graph_Linf_2_impl.h @@ -11,6 +11,11 @@ // Author(s) : Panagiotis Cheilaris, Sandeep Kumar Dey, Evanthia Papadopoulou //philaris@gmail.com, sandeep.kr.dey@gmail.com, evanthia.papadopoulou@usi.ch +#ifndef CGAL_SEGMENT_DELAUNAY_GRAPH_LINF_2_SDG_LINF_2_IMPL_H +#define CGAL_SEGMENT_DELAUNAY_GRAPH_LINF_2_SDG_LINF_2_IMPL_H + +#include + namespace CGAL { // print face in standard output @@ -759,3 +764,5 @@ insert_point_on_segment(const Storage_site_2& ss, const Site_2& , } //namespace CGAL // EOF + +#endif // CGAL_SEGMENT_DELAUNAY_GRAPH_LINF_2_SDG_LINF_2_IMPL_H diff --git a/Surface_mesh_parameterization/include/CGAL/surface_mesh_parameterization.h b/Surface_mesh_parameterization/include/CGAL/surface_mesh_parameterization.h index 09980d6e6dd..e5b31167532 100644 --- a/Surface_mesh_parameterization/include/CGAL/surface_mesh_parameterization.h +++ b/Surface_mesh_parameterization/include/CGAL/surface_mesh_parameterization.h @@ -10,6 +10,11 @@ // // Author(s) : Mael Rouxel-Labbé +#ifndef CGAL_SURFACE_MESH_PARAMETERIZATION_H +#define CGAL_SURFACE_MESH_PARAMETERIZATION_H + +#include + /** * \ingroup PkgSurfaceMeshParameterizationRef * \file CGAL/surface_mesh_parameterization.h @@ -17,7 +22,6 @@ * the free functions of this package. */ - #include #include #include @@ -34,3 +38,5 @@ #include #include #include + +#endif // CGAL_SURFACE_MESH_PARAMETERIZATION_H diff --git a/Surface_mesher/include/CGAL/make_piecewise_smooth_surface_mesh.h b/Surface_mesher/include/CGAL/make_piecewise_smooth_surface_mesh.h index 33f4683b534..ee7f4c54f0b 100644 --- a/Surface_mesher/include/CGAL/make_piecewise_smooth_surface_mesh.h +++ b/Surface_mesher/include/CGAL/make_piecewise_smooth_surface_mesh.h @@ -9,4 +9,11 @@ // // Author(s) : Laurent Rineau +#ifndef CGAL_MAKE_PIECEWISE_SMOOTH_SURFACE_MESH_H +#define CGAL_MAKE_PIECEWISE_SMOOTH_SURFACE_MESH_H + +#include + #include + +#endif //CGAL_MAKE_PIECEWISE_SMOOTH_SURFACE_MESH_H