mirror of https://github.com/CGAL/cgal
replace CGAL_PMP_NP macros with CGAL_BGL_NP ones
This commit is contained in:
parent
a6d9b99466
commit
28ab8e9293
|
|
@ -13,12 +13,6 @@ ALIASES += "cgalDescribePolylineType=A polyline is defined as a sequence of poin
|
||||||
|
|
||||||
EXAMPLE_PATH += ${CGAL_Poisson_surface_reconstruction_3_EXAMPLE_DIR}
|
EXAMPLE_PATH += ${CGAL_Poisson_surface_reconstruction_3_EXAMPLE_DIR}
|
||||||
|
|
||||||
MACRO_EXPANSION = YES
|
|
||||||
EXPAND_ONLY_PREDEF = YES
|
|
||||||
EXPAND_AS_DEFINED = CGAL_PMP_NP_TEMPLATE_PARAMETERS \
|
|
||||||
CGAL_PMP_NP_CLASS \
|
|
||||||
CGAL_DEPRECATED
|
|
||||||
|
|
||||||
EXCLUDE = ${CGAL_PACKAGE_INCLUDE_DIR}/CGAL/Polygon_mesh_processing/internal
|
EXCLUDE = ${CGAL_PACKAGE_INCLUDE_DIR}/CGAL/Polygon_mesh_processing/internal
|
||||||
EXCLUDE_SYMBOLS += experimental
|
EXCLUDE_SYMBOLS += experimental
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,16 +20,9 @@
|
||||||
|
|
||||||
#include <boost/graph/graph_traits.hpp>
|
#include <boost/graph/graph_traits.hpp>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
|
|
||||||
#ifdef DOXYGEN_RUNNING
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS NamedParameters
|
|
||||||
#define CGAL_PMP_NP_CLASS NamedParameters
|
|
||||||
#define CGAL_DEPRECATED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
|
|
||||||
namespace Polygon_mesh_processing {
|
namespace Polygon_mesh_processing {
|
||||||
|
|
@ -64,18 +57,18 @@ namespace CGAL {
|
||||||
*
|
*
|
||||||
* @return a bounding box of `pmesh`
|
* @return a bounding box of `pmesh`
|
||||||
*/
|
*/
|
||||||
template<typename PolygonMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template<typename PolygonMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
CGAL::Bbox_3 bbox(const PolygonMesh& pmesh,
|
CGAL::Bbox_3 bbox(const PolygonMesh& pmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
typename GetVertexPointMap<PolygonMesh, CGAL_PMP_NP_CLASS>::const_type
|
typename GetVertexPointMap<PolygonMesh, CGAL_BGL_NP_CLASS>::const_type
|
||||||
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(CGAL::vertex_point, pmesh));
|
get_const_property_map(CGAL::vertex_point, pmesh));
|
||||||
|
|
||||||
typedef typename GetGeomTraits<PolygonMesh, CGAL_PMP_NP_CLASS>::type GT;
|
typedef typename GetGeomTraits<PolygonMesh, CGAL_BGL_NP_CLASS>::type GT;
|
||||||
GT gt = choose_parameter<GT>(get_parameter(np, internal_np::geom_traits));
|
GT gt = choose_parameter<GT>(get_parameter(np, internal_np::geom_traits));
|
||||||
typename GT::Construct_bbox_3 get_bbox = gt.construct_bbox_3_object();
|
typename GT::Construct_bbox_3 get_bbox = gt.construct_bbox_3_object();
|
||||||
|
|
||||||
|
|
@ -283,9 +276,9 @@ namespace CGAL {
|
||||||
* \ingroup PkgPolygonMeshProcessingRef
|
* \ingroup PkgPolygonMeshProcessingRef
|
||||||
* \deprecated This function is deprecated since \cgal 4.10, `CGAL::Polygon_mesh_processing::bbox()` should be used instead.
|
* \deprecated This function is deprecated since \cgal 4.10, `CGAL::Polygon_mesh_processing::bbox()` should be used instead.
|
||||||
*/
|
*/
|
||||||
template<typename PolygonMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template<typename PolygonMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
CGAL_DEPRECATED CGAL::Bbox_3 bbox_3(const PolygonMesh& pmesh,
|
CGAL_DEPRECATED CGAL::Bbox_3 bbox_3(const PolygonMesh& pmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
return bbox(pmesh, np);
|
return bbox(pmesh, np);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
#include <CGAL/algorithm.h>
|
#include <CGAL/algorithm.h>
|
||||||
#include <CGAL/boost/graph/iterator.h>
|
#include <CGAL/boost/graph/iterator.h>
|
||||||
#include <CGAL/boost/graph/helpers.h>
|
#include <CGAL/boost/graph/helpers.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#include <boost/graph/graph_traits.hpp>
|
#include <boost/graph/graph_traits.hpp>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
#include <CGAL/license/Polygon_mesh_processing/Compute_normal.h>
|
#include <CGAL/license/Polygon_mesh_processing/Compute_normal.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#include <CGAL/boost/graph/helpers.h>
|
#include <CGAL/boost/graph/helpers.h>
|
||||||
|
|
|
||||||
|
|
@ -41,15 +41,9 @@
|
||||||
#include <CGAL/iterator.h>
|
#include <CGAL/iterator.h>
|
||||||
#include <CGAL/tuple.h>
|
#include <CGAL/tuple.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#ifdef DOXYGEN_RUNNING
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS NamedParameters
|
|
||||||
#define CGAL_PMP_NP_CLASS NamedParameters
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
namespace Polygon_mesh_processing{
|
namespace Polygon_mesh_processing{
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
|
@ -321,9 +315,9 @@ namespace internal {
|
||||||
// *
|
// *
|
||||||
// */
|
// */
|
||||||
template <typename PolygonMesh,
|
template <typename PolygonMesh,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t number_of_connected_components(const PolygonMesh& pmesh,
|
std::size_t number_of_connected_components(const PolygonMesh& pmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef typename boost::graph_traits<PolygonMesh>::faces_size_type faces_size_type;
|
typedef typename boost::graph_traits<PolygonMesh>::faces_size_type faces_size_type;
|
||||||
typedef CGAL::dynamic_face_property_t<faces_size_type> Face_property_tag;
|
typedef CGAL::dynamic_face_property_t<faces_size_type> Face_property_tag;
|
||||||
|
|
@ -917,10 +911,10 @@ void remove_connected_components(PolygonMesh& pmesh
|
||||||
*/
|
*/
|
||||||
template <typename PolygonMesh
|
template <typename PolygonMesh
|
||||||
, typename FaceRange
|
, typename FaceRange
|
||||||
, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
void remove_connected_components(PolygonMesh& pmesh
|
void remove_connected_components(PolygonMesh& pmesh
|
||||||
, const FaceRange& components_to_remove
|
, const FaceRange& components_to_remove
|
||||||
, const CGAL_PMP_NP_CLASS& np)
|
, const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
@ -931,7 +925,7 @@ void remove_connected_components(PolygonMesh& pmesh
|
||||||
typedef PolygonMesh PM;
|
typedef PolygonMesh PM;
|
||||||
typedef typename boost::graph_traits<PM>::face_descriptor face_descriptor;
|
typedef typename boost::graph_traits<PM>::face_descriptor face_descriptor;
|
||||||
|
|
||||||
typedef typename CGAL::GetInitializedFaceIndexMap<PolygonMesh, CGAL_PMP_NP_CLASS>::type FaceIndexMap;
|
typedef typename CGAL::GetInitializedFaceIndexMap<PolygonMesh, CGAL_BGL_NP_CLASS>::type FaceIndexMap;
|
||||||
FaceIndexMap fim = CGAL::get_initialized_face_index_map(pmesh, np);
|
FaceIndexMap fim = CGAL::get_initialized_face_index_map(pmesh, np);
|
||||||
|
|
||||||
boost::vector_property_map<std::size_t, FaceIndexMap> face_cc(static_cast<unsigned>(num_faces(pmesh)), fim);
|
boost::vector_property_map<std::size_t, FaceIndexMap> face_cc(static_cast<unsigned>(num_faces(pmesh)), fim);
|
||||||
|
|
@ -987,10 +981,10 @@ void remove_connected_components(PolygonMesh& pmesh
|
||||||
*/
|
*/
|
||||||
template <typename PolygonMesh
|
template <typename PolygonMesh
|
||||||
, typename FaceRange
|
, typename FaceRange
|
||||||
, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
void keep_connected_components(PolygonMesh& pmesh
|
void keep_connected_components(PolygonMesh& pmesh
|
||||||
, const FaceRange& components_to_keep
|
, const FaceRange& components_to_keep
|
||||||
, const CGAL_PMP_NP_CLASS& np)
|
, const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef PolygonMesh PM;
|
typedef PolygonMesh PM;
|
||||||
typedef typename boost::graph_traits<PM>::face_descriptor face_descriptor;
|
typedef typename boost::graph_traits<PM>::face_descriptor face_descriptor;
|
||||||
|
|
@ -998,7 +992,7 @@ void keep_connected_components(PolygonMesh& pmesh
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
typedef typename CGAL::GetInitializedFaceIndexMap<PolygonMesh, CGAL_PMP_NP_CLASS>::type FaceIndexMap;
|
typedef typename CGAL::GetInitializedFaceIndexMap<PolygonMesh, CGAL_BGL_NP_CLASS>::type FaceIndexMap;
|
||||||
FaceIndexMap fim = CGAL::get_initialized_face_index_map(pmesh, np);
|
FaceIndexMap fim = CGAL::get_initialized_face_index_map(pmesh, np);
|
||||||
|
|
||||||
boost::vector_property_map<std::size_t, FaceIndexMap> face_cc(static_cast<unsigned>(num_faces(pmesh)), fim);
|
boost::vector_property_map<std::size_t, FaceIndexMap> face_cc(static_cast<unsigned>(num_faces(pmesh)), fim);
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
#include <CGAL/AABB_triangle_primitive.h>
|
#include <CGAL/AABB_triangle_primitive.h>
|
||||||
#include <CGAL/AABB_face_graph_triangle_primitive.h>
|
#include <CGAL/AABB_face_graph_triangle_primitive.h>
|
||||||
#include <CGAL/utility.h>
|
#include <CGAL/utility.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
#include <CGAL/point_generators_3.h>
|
#include <CGAL/point_generators_3.h>
|
||||||
#include <CGAL/Spatial_sort_traits_adapter_3.h>
|
#include <CGAL/Spatial_sort_traits_adapter_3.h>
|
||||||
|
|
|
||||||
|
|
@ -25,11 +25,6 @@
|
||||||
#include <CGAL/boost/graph/Euler_operations.h>
|
#include <CGAL/boost/graph/Euler_operations.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#ifdef DOXYGEN_RUNNING
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS NamedParameters
|
|
||||||
#define CGAL_PMP_NP_CLASS NamedParameters
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
namespace Polygon_mesh_processing {
|
namespace Polygon_mesh_processing {
|
||||||
namespace extrude_impl{
|
namespace extrude_impl{
|
||||||
|
|
@ -320,11 +315,11 @@ void extrude_mesh(const InputMesh& input,
|
||||||
template <class InputMesh,
|
template <class InputMesh,
|
||||||
class OutputMesh,
|
class OutputMesh,
|
||||||
typename Vector,
|
typename Vector,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
void extrude_mesh(const InputMesh& input,
|
void extrude_mesh(const InputMesh& input,
|
||||||
OutputMesh& output,
|
OutputMesh& output,
|
||||||
Vector dir,
|
Vector dir,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
extrude_mesh(input, output, dir,
|
extrude_mesh(input, output, dir,
|
||||||
np,
|
np,
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
#include <CGAL/disable_warnings.h>
|
#include <CGAL/disable_warnings.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/fair_impl.h>
|
#include <CGAL/Polygon_mesh_processing/internal/fair_impl.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
#include <CGAL/Weights/cotangent_weights.h>
|
#include <CGAL/Weights/cotangent_weights.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
#include <CGAL/license/Polygon_mesh_processing/meshing_hole_filling.h>
|
#include <CGAL/license/Polygon_mesh_processing/meshing_hole_filling.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/measure.h>
|
#include <CGAL/Polygon_mesh_processing/measure.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
#include <CGAL/Weights/cotangent_weights.h>
|
#include <CGAL/Weights/cotangent_weights.h>
|
||||||
#include <CGAL/Dynamic_property_map.h>
|
#include <CGAL/Dynamic_property_map.h>
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
#include <CGAL/boost/graph/iterator.h>
|
#include <CGAL/boost/graph/iterator.h>
|
||||||
#include <CGAL/number_utils.h>
|
#include <CGAL/number_utils.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/Snapping/helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/Snapping/helper.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/Snapping/snap_vertices.h>
|
#include <CGAL/Polygon_mesh_processing/internal/Snapping/snap_vertices.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/border.h>
|
#include <CGAL/Polygon_mesh_processing/border.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/compute_normal.h>
|
#include <CGAL/Polygon_mesh_processing/compute_normal.h>
|
||||||
|
|
@ -1371,10 +1371,10 @@ std::size_t snap_borders(TriangleMesh& tm_A,
|
||||||
template <typename ConcurrencyTag = CGAL::Sequential_tag,
|
template <typename ConcurrencyTag = CGAL::Sequential_tag,
|
||||||
typename TriangleMesh,
|
typename TriangleMesh,
|
||||||
typename ToleranceMap,
|
typename ToleranceMap,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t snap_borders(TriangleMesh& tm,
|
std::size_t snap_borders(TriangleMesh& tm,
|
||||||
ToleranceMap tolerance_map,
|
ToleranceMap tolerance_map,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor halfedge_descriptor;
|
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor halfedge_descriptor;
|
||||||
|
|
||||||
|
|
@ -1397,9 +1397,9 @@ std::size_t snap_borders(TriangleMesh& tm,
|
||||||
|
|
||||||
template <typename ConcurrencyTag = CGAL::Sequential_tag,
|
template <typename ConcurrencyTag = CGAL::Sequential_tag,
|
||||||
typename TriangleMesh,
|
typename TriangleMesh,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t snap_borders(TriangleMesh& tm,
|
std::size_t snap_borders(TriangleMesh& tm,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor halfedge_descriptor;
|
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor halfedge_descriptor;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/Snapping/helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/Snapping/helper.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/border.h>
|
#include <CGAL/Polygon_mesh_processing/border.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +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) : Jane Tournois
|
|
||||||
|
|
||||||
#ifndef CGAL_PMP_BGL_NAMED_FUNCTION_PARAMS_H
|
|
||||||
#define CGAL_PMP_BGL_NAMED_FUNCTION_PARAMS_H
|
|
||||||
|
|
||||||
#include <CGAL/license/Polygon_mesh_processing/core.h>
|
|
||||||
|
|
||||||
|
|
||||||
#include <CGAL/boost/graph/Named_function_parameters.h>
|
|
||||||
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS CGAL_BGL_NP_TEMPLATE_PARAMETERS
|
|
||||||
#define CGAL_PMP_NP_CLASS CGAL_BGL_NP_CLASS
|
|
||||||
|
|
||||||
namespace CGAL { namespace Polygon_mesh_processing { namespace parameters = CGAL::parameters; } }
|
|
||||||
|
|
||||||
#endif //CGAL_PMP_BGL_NAMED_FUNCTION_PARAMS_H
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
#include <CGAL/license/Polygon_mesh_processing/repair.h>
|
#include <CGAL/license/Polygon_mesh_processing/repair.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#include <CGAL/algorithm.h>
|
#include <CGAL/algorithm.h>
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
#include <CGAL/boost/graph/iterator.h>
|
#include <CGAL/boost/graph/iterator.h>
|
||||||
#include <CGAL/boost/graph/helpers.h>
|
#include <CGAL/boost/graph/helpers.h>
|
||||||
#include <CGAL/boost/graph/properties.h>
|
#include <CGAL/boost/graph/properties.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -35,16 +35,11 @@
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
#ifdef DOXYGEN_RUNNING
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS NamedParameters
|
|
||||||
#define CGAL_PMP_NP_CLASS NamedParameters
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
|
|
||||||
// workaround for area(face_range, tm) overload
|
// workaround for area(face_range, tm) overload
|
||||||
template<typename CGAL_PMP_NP_TEMPLATE_PARAMETERS, typename NP>
|
template<typename CGAL_BGL_NP_TEMPLATE_PARAMETERS, typename NP>
|
||||||
class GetGeomTraits<CGAL_PMP_NP_CLASS, NP>
|
class GetGeomTraits<CGAL_BGL_NP_CLASS, NP>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
struct type{};
|
struct type{};
|
||||||
|
|
@ -454,15 +449,15 @@ longest_border(const PolygonMesh& pmesh)
|
||||||
* @sa `area()`
|
* @sa `area()`
|
||||||
*/
|
*/
|
||||||
template<typename TriangleMesh,
|
template<typename TriangleMesh,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
#ifdef DOXYGEN_RUNNING
|
#ifdef DOXYGEN_RUNNING
|
||||||
FT
|
FT
|
||||||
#else
|
#else
|
||||||
typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type::FT
|
typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type::FT
|
||||||
#endif
|
#endif
|
||||||
face_area(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
face_area(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
||||||
const TriangleMesh& tmesh,
|
const TriangleMesh& tmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
@ -471,14 +466,14 @@ face_area(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
||||||
|
|
||||||
CGAL_precondition(boost::graph_traits<TriangleMesh>::null_face() != f);
|
CGAL_precondition(boost::graph_traits<TriangleMesh>::null_face() != f);
|
||||||
|
|
||||||
typename GetVertexPointMap<TriangleMesh, CGAL_PMP_NP_CLASS>::const_type
|
typename GetVertexPointMap<TriangleMesh, CGAL_BGL_NP_CLASS>::const_type
|
||||||
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(CGAL::vertex_point, tmesh));
|
get_const_property_map(CGAL::vertex_point, tmesh));
|
||||||
|
|
||||||
halfedge_descriptor hd = halfedge(f, tmesh);
|
halfedge_descriptor hd = halfedge(f, tmesh);
|
||||||
halfedge_descriptor nhd = next(hd, tmesh);
|
halfedge_descriptor nhd = next(hd, tmesh);
|
||||||
|
|
||||||
typedef typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type GT;
|
typedef typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type GT;
|
||||||
GT traits = choose_parameter<GT>(get_parameter(np, internal_np::geom_traits));
|
GT traits = choose_parameter<GT>(get_parameter(np, internal_np::geom_traits));
|
||||||
|
|
||||||
return approximate_sqrt(traits.compute_squared_area_3_object()(get(vpm, source(hd, tmesh)),
|
return approximate_sqrt(traits.compute_squared_area_3_object()(get(vpm, source(hd, tmesh)),
|
||||||
|
|
@ -534,15 +529,15 @@ face_area(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
||||||
* @sa `face_area()`
|
* @sa `face_area()`
|
||||||
*/
|
*/
|
||||||
template<typename TriangleMesh,
|
template<typename TriangleMesh,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
#ifdef DOXYGEN_RUNNING
|
#ifdef DOXYGEN_RUNNING
|
||||||
FT
|
FT
|
||||||
#else
|
#else
|
||||||
typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type::FT
|
typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type::FT
|
||||||
#endif
|
#endif
|
||||||
squared_face_area(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
squared_face_area(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
||||||
const TriangleMesh& tmesh,
|
const TriangleMesh& tmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
@ -551,14 +546,14 @@ squared_face_area(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
||||||
|
|
||||||
CGAL_precondition(boost::graph_traits<TriangleMesh>::null_face() != f);
|
CGAL_precondition(boost::graph_traits<TriangleMesh>::null_face() != f);
|
||||||
|
|
||||||
typename GetVertexPointMap<TriangleMesh, CGAL_PMP_NP_CLASS>::const_type
|
typename GetVertexPointMap<TriangleMesh, CGAL_BGL_NP_CLASS>::const_type
|
||||||
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(CGAL::vertex_point, tmesh));
|
get_const_property_map(CGAL::vertex_point, tmesh));
|
||||||
|
|
||||||
halfedge_descriptor hd = halfedge(f, tmesh);
|
halfedge_descriptor hd = halfedge(f, tmesh);
|
||||||
halfedge_descriptor nhd = next(hd, tmesh);
|
halfedge_descriptor nhd = next(hd, tmesh);
|
||||||
|
|
||||||
typedef typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type GT;
|
typedef typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type GT;
|
||||||
GT traits = choose_parameter<GT>(get_parameter(np, internal_np::geom_traits));
|
GT traits = choose_parameter<GT>(get_parameter(np, internal_np::geom_traits));
|
||||||
|
|
||||||
return traits.compute_squared_area_3_object()(get(vpm, source(hd, tmesh)),
|
return traits.compute_squared_area_3_object()(get(vpm, source(hd, tmesh)),
|
||||||
|
|
@ -621,19 +616,19 @@ squared_face_area(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
||||||
*/
|
*/
|
||||||
template<typename FaceRange,
|
template<typename FaceRange,
|
||||||
typename TriangleMesh,
|
typename TriangleMesh,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
#ifdef DOXYGEN_RUNNING
|
#ifdef DOXYGEN_RUNNING
|
||||||
FT
|
FT
|
||||||
#else
|
#else
|
||||||
typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type::FT
|
typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type::FT
|
||||||
#endif
|
#endif
|
||||||
area(FaceRange face_range,
|
area(FaceRange face_range,
|
||||||
const TriangleMesh& tmesh,
|
const TriangleMesh& tmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef typename boost::graph_traits<TriangleMesh>::face_descriptor face_descriptor;
|
typedef typename boost::graph_traits<TriangleMesh>::face_descriptor face_descriptor;
|
||||||
|
|
||||||
typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type::FT result = 0;
|
typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type::FT result = 0;
|
||||||
for(face_descriptor f : face_range)
|
for(face_descriptor f : face_range)
|
||||||
{
|
{
|
||||||
result += face_area(f, tmesh, np);
|
result += face_area(f, tmesh, np);
|
||||||
|
|
@ -689,13 +684,13 @@ area(FaceRange face_range, const TriangleMesh& tmesh)
|
||||||
* @sa `face_area()`
|
* @sa `face_area()`
|
||||||
*/
|
*/
|
||||||
template<typename TriangleMesh,
|
template<typename TriangleMesh,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
#ifdef DOXYGEN_RUNNING
|
#ifdef DOXYGEN_RUNNING
|
||||||
FT
|
FT
|
||||||
#else
|
#else
|
||||||
typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type::FT
|
typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type::FT
|
||||||
#endif
|
#endif
|
||||||
area(const TriangleMesh& tmesh, const CGAL_PMP_NP_CLASS& np)
|
area(const TriangleMesh& tmesh, const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
return area(faces(tmesh), tmesh, np);
|
return area(faces(tmesh), tmesh, np);
|
||||||
}
|
}
|
||||||
|
|
@ -744,14 +739,14 @@ area(const TriangleMesh& tmesh)
|
||||||
* of `tmesh`.
|
* of `tmesh`.
|
||||||
*/
|
*/
|
||||||
template<typename TriangleMesh,
|
template<typename TriangleMesh,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
#ifdef DOXYGEN_RUNNING
|
#ifdef DOXYGEN_RUNNING
|
||||||
FT
|
FT
|
||||||
#else
|
#else
|
||||||
typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type::FT
|
typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type::FT
|
||||||
#endif
|
#endif
|
||||||
volume(const TriangleMesh& tmesh,
|
volume(const TriangleMesh& tmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
CGAL_assertion(is_triangle_mesh(tmesh));
|
CGAL_assertion(is_triangle_mesh(tmesh));
|
||||||
CGAL_assertion(is_closed(tmesh));
|
CGAL_assertion(is_closed(tmesh));
|
||||||
|
|
@ -759,14 +754,14 @@ volume(const TriangleMesh& tmesh,
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
typename GetVertexPointMap<TriangleMesh, CGAL_PMP_NP_CLASS>::const_type
|
typename GetVertexPointMap<TriangleMesh, CGAL_BGL_NP_CLASS>::const_type
|
||||||
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(CGAL::vertex_point, tmesh));
|
get_const_property_map(CGAL::vertex_point, tmesh));
|
||||||
typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type::Point_3 origin(0, 0, 0);
|
typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type::Point_3 origin(0, 0, 0);
|
||||||
|
|
||||||
typedef typename boost::graph_traits<TriangleMesh>::face_descriptor face_descriptor;
|
typedef typename boost::graph_traits<TriangleMesh>::face_descriptor face_descriptor;
|
||||||
|
|
||||||
typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type::FT volume = 0;
|
typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type::FT volume = 0;
|
||||||
typename CGAL::Kernel_traits<typename property_map_value<TriangleMesh,
|
typename CGAL::Kernel_traits<typename property_map_value<TriangleMesh,
|
||||||
CGAL::vertex_point_t>::type>::Kernel::Compute_volume_3 cv3;
|
CGAL::vertex_point_t>::type>::Kernel::Compute_volume_3 cv3;
|
||||||
|
|
||||||
|
|
@ -825,27 +820,27 @@ volume(const TriangleMesh& tmesh)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
template<typename TriangleMesh,
|
template<typename TriangleMesh,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
#ifdef DOXYGEN_RUNNING
|
#ifdef DOXYGEN_RUNNING
|
||||||
FT
|
FT
|
||||||
#else
|
#else
|
||||||
typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type::FT
|
typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type::FT
|
||||||
#endif
|
#endif
|
||||||
face_aspect_ratio(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
face_aspect_ratio(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
||||||
const TriangleMesh& tmesh,
|
const TriangleMesh& tmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
CGAL_precondition(is_triangle(f, tmesh));
|
CGAL_precondition(is_triangle(f, tmesh));
|
||||||
|
|
||||||
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor halfedge_descriptor;
|
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor halfedge_descriptor;
|
||||||
|
|
||||||
typedef typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type Geom_traits;
|
typedef typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type Geom_traits;
|
||||||
typedef typename Geom_traits::FT FT;
|
typedef typename Geom_traits::FT FT;
|
||||||
|
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
typename GetVertexPointMap<TriangleMesh, CGAL_PMP_NP_CLASS>::const_type
|
typename GetVertexPointMap<TriangleMesh, CGAL_BGL_NP_CLASS>::const_type
|
||||||
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(CGAL::vertex_point, tmesh));
|
get_const_property_map(CGAL::vertex_point, tmesh));
|
||||||
|
|
||||||
|
|
@ -940,13 +935,13 @@ face_aspect_ratio(typename boost::graph_traits<TriangleMesh>::face_descriptor f,
|
||||||
*
|
*
|
||||||
* @return the centroid of the domain bounded by `tmesh`.
|
* @return the centroid of the domain bounded by `tmesh`.
|
||||||
*/
|
*/
|
||||||
template<typename TriangleMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template<typename TriangleMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
#ifdef DOXYGEN_RUNNING
|
#ifdef DOXYGEN_RUNNING
|
||||||
Point_3
|
Point_3
|
||||||
#else
|
#else
|
||||||
typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type::Point_3
|
typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type::Point_3
|
||||||
#endif
|
#endif
|
||||||
centroid(const TriangleMesh& tmesh, const CGAL_PMP_NP_CLASS& np)
|
centroid(const TriangleMesh& tmesh, const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
// See: http://www2.imperial.ac.uk/~rn/centroid.pdf
|
// See: http://www2.imperial.ac.uk/~rn/centroid.pdf
|
||||||
|
|
||||||
|
|
@ -956,11 +951,11 @@ centroid(const TriangleMesh& tmesh, const CGAL_PMP_NP_CLASS& np)
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
typedef typename GetVertexPointMap<TriangleMesh, CGAL_PMP_NP_CLASS>::const_type Vpm;
|
typedef typename GetVertexPointMap<TriangleMesh, CGAL_BGL_NP_CLASS>::const_type Vpm;
|
||||||
Vpm vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
Vpm vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(CGAL::vertex_point, tmesh));
|
get_const_property_map(CGAL::vertex_point, tmesh));
|
||||||
|
|
||||||
typedef typename GetGeomTraits<TriangleMesh, CGAL_PMP_NP_CLASS>::type Kernel;
|
typedef typename GetGeomTraits<TriangleMesh, CGAL_BGL_NP_CLASS>::type Kernel;
|
||||||
typedef typename Kernel::Point_3 Point_3;
|
typedef typename Kernel::Point_3 Point_3;
|
||||||
typedef typename Kernel::Vector_3 Vector_3;
|
typedef typename Kernel::Vector_3 Vector_3;
|
||||||
typedef typename Kernel::Construct_translated_point_3 Construct_translated_point_3;
|
typedef typename Kernel::Construct_translated_point_3 Construct_translated_point_3;
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
#include <CGAL/boost/graph/helpers.h>
|
#include <CGAL/boost/graph/helpers.h>
|
||||||
#include <CGAL/boost/graph/properties.h>
|
#include <CGAL/boost/graph/properties.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/border.h>
|
#include <CGAL/Polygon_mesh_processing/border.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/stitch_borders.h>
|
#include <CGAL/Polygon_mesh_processing/stitch_borders.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
#include <CGAL/Polygon_mesh_processing/connected_components.h>
|
#include <CGAL/Polygon_mesh_processing/connected_components.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/stitch_borders.h>
|
#include <CGAL/Polygon_mesh_processing/stitch_borders.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/compute_normal.h>
|
#include <CGAL/Polygon_mesh_processing/compute_normal.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/self_intersections.h>
|
#include <CGAL/Polygon_mesh_processing/self_intersections.h>
|
||||||
#include <CGAL/Side_of_triangle_mesh.h>
|
#include <CGAL/Side_of_triangle_mesh.h>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h>
|
#include <CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#include <CGAL/AABB_tree.h>
|
#include <CGAL/AABB_tree.h>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
#include <CGAL/license/Polygon_mesh_processing/meshing_hole_filling.h>
|
#include <CGAL/license/Polygon_mesh_processing/meshing_hole_filling.h>
|
||||||
|
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/refine_impl.h>
|
#include <CGAL/Polygon_mesh_processing/internal/refine_impl.h>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h>
|
#include <CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#ifdef CGAL_PMP_REMESHING_VERBOSE
|
#ifdef CGAL_PMP_REMESHING_VERBOSE
|
||||||
|
|
|
||||||
|
|
@ -920,12 +920,12 @@ bool remove_almost_degenerate_faces(const FaceRange& face_range,
|
||||||
CGAL::parameters::all_default());
|
CGAL::parameters::all_default());
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename TriangleMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename TriangleMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
bool remove_almost_degenerate_faces(TriangleMesh& tmesh,
|
bool remove_almost_degenerate_faces(TriangleMesh& tmesh,
|
||||||
const double cap_threshold,
|
const double cap_threshold,
|
||||||
const double needle_threshold,
|
const double needle_threshold,
|
||||||
const double collapse_length_threshold,
|
const double collapse_length_threshold,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
return remove_almost_degenerate_faces(faces(tmesh), tmesh, cap_threshold, needle_threshold,
|
return remove_almost_degenerate_faces(faces(tmesh), tmesh, cap_threshold, needle_threshold,
|
||||||
collapse_length_threshold, np);
|
collapse_length_threshold, np);
|
||||||
|
|
@ -1728,18 +1728,18 @@ bool remove_degenerate_edges(const EdgeRange& edge_range,
|
||||||
return all_removed;
|
return all_removed;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename EdgeRange, typename TriangleMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename EdgeRange, typename TriangleMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
bool remove_degenerate_edges(const EdgeRange& edge_range,
|
bool remove_degenerate_edges(const EdgeRange& edge_range,
|
||||||
TriangleMesh& tmesh,
|
TriangleMesh& tmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
std::set<typename boost::graph_traits<TriangleMesh>::face_descriptor> face_set;
|
std::set<typename boost::graph_traits<TriangleMesh>::face_descriptor> face_set;
|
||||||
return remove_degenerate_edges(edge_range, tmesh, face_set, np);
|
return remove_degenerate_edges(edge_range, tmesh, face_set, np);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename TriangleMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename TriangleMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
bool remove_degenerate_edges(TriangleMesh& tmesh,
|
bool remove_degenerate_edges(TriangleMesh& tmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
std::set<typename boost::graph_traits<TriangleMesh>::face_descriptor> face_set;
|
std::set<typename boost::graph_traits<TriangleMesh>::face_descriptor> face_set;
|
||||||
return remove_degenerate_edges(edges(tmesh), tmesh, face_set, np);
|
return remove_degenerate_edges(edges(tmesh), tmesh, face_set, np);
|
||||||
|
|
@ -2624,9 +2624,9 @@ bool remove_degenerate_faces(const FaceRange& face_range,
|
||||||
return remove_degenerate_faces(face_range, tmesh, CGAL::parameters::all_default());
|
return remove_degenerate_faces(face_range, tmesh, CGAL::parameters::all_default());
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename TriangleMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename TriangleMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
bool remove_degenerate_faces(TriangleMesh& tmesh,
|
bool remove_degenerate_faces(TriangleMesh& tmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
return remove_degenerate_faces(faces(tmesh), tmesh, np);
|
return remove_degenerate_faces(faces(tmesh), tmesh, np);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
#include <CGAL/license/Polygon_mesh_processing/repair.h>
|
#include <CGAL/license/Polygon_mesh_processing/repair.h>
|
||||||
|
|
||||||
#include <CGAL/boost/graph/Named_function_parameters.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#include <CGAL/iterator.h>
|
#include <CGAL/iterator.h>
|
||||||
|
|
|
||||||
|
|
@ -2110,8 +2110,8 @@ bool remove_self_intersections(const FaceRange& face_range, TriangleMesh& tmesh)
|
||||||
return remove_self_intersections(face_range, tmesh, parameters::all_default());
|
return remove_self_intersections(face_range, tmesh, parameters::all_default());
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename TriangleMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename TriangleMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
bool remove_self_intersections(TriangleMesh& tmesh, const CGAL_PMP_NP_CLASS& np)
|
bool remove_self_intersections(TriangleMesh& tmesh, const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
return remove_self_intersections(faces(tmesh), tmesh, np);
|
return remove_self_intersections(faces(tmesh), tmesh, np);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include <CGAL/disable_warnings.h>
|
#include <CGAL/disable_warnings.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#include <CGAL/algorithm.h>
|
#include <CGAL/algorithm.h>
|
||||||
|
|
@ -50,11 +50,6 @@
|
||||||
#include <typeinfo>
|
#include <typeinfo>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#ifdef DOXYGEN_RUNNING
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS NamedParameters
|
|
||||||
#define CGAL_PMP_NP_CLASS NamedParameters
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
namespace Polygon_mesh_processing {
|
namespace Polygon_mesh_processing {
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
|
@ -539,11 +534,11 @@ self_intersections(const FaceRange& face_range,
|
||||||
template <class ConcurrencyTag = Sequential_tag,
|
template <class ConcurrencyTag = Sequential_tag,
|
||||||
class TriangleMesh,
|
class TriangleMesh,
|
||||||
class FacePairOutputIterator,
|
class FacePairOutputIterator,
|
||||||
class CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
class CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
FacePairOutputIterator
|
FacePairOutputIterator
|
||||||
self_intersections(const TriangleMesh& tmesh,
|
self_intersections(const TriangleMesh& tmesh,
|
||||||
FacePairOutputIterator out,
|
FacePairOutputIterator out,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
return self_intersections<ConcurrencyTag>(faces(tmesh), tmesh, out, np);
|
return self_intersections<ConcurrencyTag>(faces(tmesh), tmesh, out, np);
|
||||||
}
|
}
|
||||||
|
|
@ -660,9 +655,9 @@ bool does_self_intersect(const FaceRange& face_range,
|
||||||
*/
|
*/
|
||||||
template <class ConcurrencyTag = Sequential_tag,
|
template <class ConcurrencyTag = Sequential_tag,
|
||||||
class TriangleMesh,
|
class TriangleMesh,
|
||||||
class CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
class CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
bool does_self_intersect(const TriangleMesh& tmesh,
|
bool does_self_intersect(const TriangleMesh& tmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
return does_self_intersect<ConcurrencyTag>(faces(tmesh), tmesh, np);
|
return does_self_intersect<ConcurrencyTag>(faces(tmesh), tmesh, np);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
#include <CGAL/license/Polygon_mesh_processing/repair.h>
|
#include <CGAL/license/Polygon_mesh_processing/repair.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#include <CGAL/array.h>
|
#include <CGAL/array.h>
|
||||||
|
|
|
||||||
|
|
@ -25,11 +25,6 @@
|
||||||
|
|
||||||
#include <CGAL/property_map.h>
|
#include <CGAL/property_map.h>
|
||||||
|
|
||||||
#ifdef DOXYGEN_RUNNING
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS NamedParameters
|
|
||||||
#define CGAL_PMP_NP_CLASS NamedParameters
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
namespace Polygon_mesh_processing {
|
namespace Polygon_mesh_processing {
|
||||||
|
|
||||||
|
|
@ -335,8 +330,8 @@ void smooth_mesh(const FaceRange& face_range, TriangleMesh& tmesh)
|
||||||
smooth_mesh(face_range, tmesh, parameters::all_default());
|
smooth_mesh(face_range, tmesh, parameters::all_default());
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename TriangleMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename TriangleMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
void smooth_mesh(TriangleMesh& tmesh, const CGAL_PMP_NP_CLASS& np)
|
void smooth_mesh(TriangleMesh& tmesh, const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
smooth_mesh(faces(tmesh), tmesh, np);
|
smooth_mesh(faces(tmesh), tmesh, np);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,11 +30,6 @@
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DOXYGEN_RUNNING
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS NamedParameters
|
|
||||||
#define CGAL_PMP_NP_CLASS NamedParameters
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
namespace Polygon_mesh_processing {
|
namespace Polygon_mesh_processing {
|
||||||
|
|
||||||
|
|
@ -210,10 +205,10 @@ void smooth_shape(const FaceRange& faces,
|
||||||
smooth_shape(faces, tmesh, time, parameters::all_default());
|
smooth_shape(faces, tmesh, time, parameters::all_default());
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename TriangleMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename TriangleMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
void smooth_shape(TriangleMesh& tmesh,
|
void smooth_shape(TriangleMesh& tmesh,
|
||||||
const double time,
|
const double time,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
smooth_shape(faces(tmesh), tmesh, time, np);
|
smooth_shape(faces(tmesh), tmesh, time, np);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
#include <CGAL/boost/graph/helpers.h>
|
#include <CGAL/boost/graph/helpers.h>
|
||||||
#include <CGAL/boost/graph/properties.h>
|
#include <CGAL/boost/graph/properties.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/border.h>
|
#include <CGAL/Polygon_mesh_processing/border.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/connected_components.h>
|
#include <CGAL/Polygon_mesh_processing/connected_components.h>
|
||||||
|
|
@ -44,11 +44,6 @@
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#ifdef DOXYGEN_RUNNING
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS NamedParameters
|
|
||||||
#define CGAL_PMP_NP_CLASS NamedParameters
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CGAL_PMP_STITCHING_DEBUG_PP
|
#ifdef CGAL_PMP_STITCHING_DEBUG_PP
|
||||||
# ifndef CGAL_PMP_STITCHING_DEBUG
|
# ifndef CGAL_PMP_STITCHING_DEBUG
|
||||||
# define CGAL_PMP_STITCHING_DEBUG
|
# define CGAL_PMP_STITCHING_DEBUG
|
||||||
|
|
@ -366,20 +361,20 @@ template <typename HalfedgeRange,
|
||||||
typename PolygonMesh,
|
typename PolygonMesh,
|
||||||
typename HalfedgeKeeper,
|
typename HalfedgeKeeper,
|
||||||
typename OutputIterator,
|
typename OutputIterator,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
OutputIterator collect_duplicated_stitchable_boundary_edges(const HalfedgeRange& halfedge_range,
|
OutputIterator collect_duplicated_stitchable_boundary_edges(const HalfedgeRange& halfedge_range,
|
||||||
PolygonMesh& pmesh,
|
PolygonMesh& pmesh,
|
||||||
const HalfedgeKeeper& hd_kpr,
|
const HalfedgeKeeper& hd_kpr,
|
||||||
const bool per_cc,
|
const bool per_cc,
|
||||||
OutputIterator out,
|
OutputIterator out,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
||||||
|
|
||||||
typedef typename GetVertexPointMap<PolygonMesh, CGAL_PMP_NP_CLASS>::const_type VPM;
|
typedef typename GetVertexPointMap<PolygonMesh, CGAL_BGL_NP_CLASS>::const_type VPM;
|
||||||
VPM vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
VPM vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(vertex_point, pmesh));
|
get_const_property_map(vertex_point, pmesh));
|
||||||
|
|
||||||
|
|
@ -1026,11 +1021,11 @@ std::size_t zip_boundary_cycle(typename boost::graph_traits<PolygonMesh>::halfed
|
||||||
|
|
||||||
/// High-level functions
|
/// High-level functions
|
||||||
|
|
||||||
template <typename PolygonMesh, typename CycleRepMaintainer, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename PolygonMesh, typename CycleRepMaintainer, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t stitch_boundary_cycle(const typename boost::graph_traits<PolygonMesh>::halfedge_descriptor h,
|
std::size_t stitch_boundary_cycle(const typename boost::graph_traits<PolygonMesh>::halfedge_descriptor h,
|
||||||
PolygonMesh& pmesh,
|
PolygonMesh& pmesh,
|
||||||
CycleRepMaintainer& cycle_reps_maintainer,
|
CycleRepMaintainer& cycle_reps_maintainer,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
||||||
typedef typename std::pair<halfedge_descriptor, halfedge_descriptor> halfedges_pair;
|
typedef typename std::pair<halfedge_descriptor, halfedge_descriptor> halfedges_pair;
|
||||||
|
|
@ -1042,12 +1037,12 @@ std::size_t stitch_boundary_cycle(const typename boost::graph_traits<PolygonMesh
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
typedef typename GetVertexPointMap<PolygonMesh, CGAL_PMP_NP_CLASS>::const_type VPM;
|
typedef typename GetVertexPointMap<PolygonMesh, CGAL_BGL_NP_CLASS>::const_type VPM;
|
||||||
VPM vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
VPM vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(vertex_point, pmesh));
|
get_const_property_map(vertex_point, pmesh));
|
||||||
|
|
||||||
typedef typename internal_np::Lookup_named_param_def<internal_np::halfedges_keeper_t,
|
typedef typename internal_np::Lookup_named_param_def<internal_np::halfedges_keeper_t,
|
||||||
CGAL_PMP_NP_CLASS,
|
CGAL_BGL_NP_CLASS,
|
||||||
Default_halfedges_keeper<PolygonMesh> >::type Halfedge_keeper;
|
Default_halfedges_keeper<PolygonMesh> >::type Halfedge_keeper;
|
||||||
const Halfedge_keeper hd_kpr = choose_parameter(get_parameter(np, internal_np::halfedges_keeper),
|
const Halfedge_keeper hd_kpr = choose_parameter(get_parameter(np, internal_np::halfedges_keeper),
|
||||||
Default_halfedges_keeper<PolygonMesh>());
|
Default_halfedges_keeper<PolygonMesh>());
|
||||||
|
|
@ -1119,10 +1114,10 @@ std::size_t stitch_boundary_cycle(const typename boost::graph_traits<PolygonMesh
|
||||||
/// \sa `stitch_boundary_cycles()`
|
/// \sa `stitch_boundary_cycles()`
|
||||||
/// \sa `stitch_borders()`
|
/// \sa `stitch_borders()`
|
||||||
///
|
///
|
||||||
template <typename PolygonMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename PolygonMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t stitch_boundary_cycle(const typename boost::graph_traits<PolygonMesh>::halfedge_descriptor h,
|
std::size_t stitch_boundary_cycle(const typename boost::graph_traits<PolygonMesh>::halfedge_descriptor h,
|
||||||
PolygonMesh& pmesh,
|
PolygonMesh& pmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
internal::Dummy_cycle_rep_maintainer<PolygonMesh> dummy_maintainer(pmesh);
|
internal::Dummy_cycle_rep_maintainer<PolygonMesh> dummy_maintainer(pmesh);
|
||||||
return internal::stitch_boundary_cycle(h, pmesh, dummy_maintainer, np);
|
return internal::stitch_boundary_cycle(h, pmesh, dummy_maintainer, np);
|
||||||
|
|
@ -1138,11 +1133,11 @@ std::size_t stitch_boundary_cycle(const typename boost::graph_traits<PolygonMesh
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
|
||||||
template <typename BorderHalfedgeRange, typename PolygonMesh,
|
template <typename BorderHalfedgeRange, typename PolygonMesh,
|
||||||
typename CycleRepMaintainer, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CycleRepMaintainer, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t stitch_boundary_cycles(const BorderHalfedgeRange& boundary_cycle_representatives,
|
std::size_t stitch_boundary_cycles(const BorderHalfedgeRange& boundary_cycle_representatives,
|
||||||
PolygonMesh& pmesh,
|
PolygonMesh& pmesh,
|
||||||
CycleRepMaintainer& cycle_reps_maintainer,
|
CycleRepMaintainer& cycle_reps_maintainer,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
||||||
|
|
||||||
|
|
@ -1187,10 +1182,10 @@ std::size_t stitch_boundary_cycles(const BorderHalfedgeRange& boundary_cycle_rep
|
||||||
/// \sa `stitch_boundary_cycle()`
|
/// \sa `stitch_boundary_cycle()`
|
||||||
/// \sa `stitch_borders()`
|
/// \sa `stitch_borders()`
|
||||||
///
|
///
|
||||||
template <typename BorderHalfedgeRange, typename PolygonMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename BorderHalfedgeRange, typename PolygonMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t stitch_boundary_cycles(const BorderHalfedgeRange& boundary_cycle_representatives,
|
std::size_t stitch_boundary_cycles(const BorderHalfedgeRange& boundary_cycle_representatives,
|
||||||
PolygonMesh& pmesh,
|
PolygonMesh& pmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
// If this API is called, we are not from stitch_borders() (otherwise there would be a maintainer)
|
// If this API is called, we are not from stitch_borders() (otherwise there would be a maintainer)
|
||||||
// so there is only one pass and we don't carea bout maintaining the cycle subset
|
// so there is only one pass and we don't carea bout maintaining the cycle subset
|
||||||
|
|
@ -1201,9 +1196,9 @@ std::size_t stitch_boundary_cycles(const BorderHalfedgeRange& boundary_cycle_rep
|
||||||
///\cond SKIP_IN_MANUAL
|
///\cond SKIP_IN_MANUAL
|
||||||
|
|
||||||
// convenience overloads
|
// convenience overloads
|
||||||
template <typename PolygonMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename PolygonMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t stitch_boundary_cycles(PolygonMesh& pmesh,
|
std::size_t stitch_boundary_cycles(PolygonMesh& pmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
||||||
|
|
||||||
|
|
@ -1231,10 +1226,10 @@ std::size_t stitch_boundary_cycles(PolygonMesh& pmesh)
|
||||||
// There is thus nothing interesting to pass via named parameters and this overload is not documented.
|
// There is thus nothing interesting to pass via named parameters and this overload is not documented.
|
||||||
template <typename PolygonMesh,
|
template <typename PolygonMesh,
|
||||||
typename HalfedgePairsRange,
|
typename HalfedgePairsRange,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t stitch_borders(PolygonMesh& pmesh,
|
std::size_t stitch_borders(PolygonMesh& pmesh,
|
||||||
const HalfedgePairsRange& hedge_pairs_to_stitch,
|
const HalfedgePairsRange& hedge_pairs_to_stitch,
|
||||||
const CGAL_PMP_NP_CLASS& np,
|
const CGAL_BGL_NP_CLASS& np,
|
||||||
typename boost::enable_if<
|
typename boost::enable_if<
|
||||||
typename boost::has_range_iterator<HalfedgePairsRange>
|
typename boost::has_range_iterator<HalfedgePairsRange>
|
||||||
>::type* = 0)
|
>::type* = 0)
|
||||||
|
|
@ -1242,7 +1237,7 @@ std::size_t stitch_borders(PolygonMesh& pmesh,
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
typedef typename GetVertexPointMap<PolygonMesh, CGAL_PMP_NP_CLASS>::const_type VPM;
|
typedef typename GetVertexPointMap<PolygonMesh, CGAL_BGL_NP_CLASS>::const_type VPM;
|
||||||
VPM vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
VPM vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(vertex_point, pmesh));
|
get_const_property_map(vertex_point, pmesh));
|
||||||
|
|
||||||
|
|
@ -1291,11 +1286,11 @@ namespace internal {
|
||||||
|
|
||||||
template <typename BorderHalfedgeRange, typename PolygonMesh,
|
template <typename BorderHalfedgeRange, typename PolygonMesh,
|
||||||
typename CycleRepMaintainer,
|
typename CycleRepMaintainer,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t stitch_borders(const BorderHalfedgeRange& boundary_cycle_representatives,
|
std::size_t stitch_borders(const BorderHalfedgeRange& boundary_cycle_representatives,
|
||||||
PolygonMesh& pmesh,
|
PolygonMesh& pmesh,
|
||||||
CycleRepMaintainer& cycle_maintainer,
|
CycleRepMaintainer& cycle_maintainer,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
||||||
|
|
||||||
|
|
@ -1305,12 +1300,12 @@ std::size_t stitch_borders(const BorderHalfedgeRange& boundary_cycle_representat
|
||||||
if(boundary_cycle_representatives.size() == 0)
|
if(boundary_cycle_representatives.size() == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
typedef typename GetVertexPointMap<PolygonMesh, CGAL_PMP_NP_CLASS>::const_type VPM;
|
typedef typename GetVertexPointMap<PolygonMesh, CGAL_BGL_NP_CLASS>::const_type VPM;
|
||||||
VPM vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
VPM vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(vertex_point, pmesh));
|
get_const_property_map(vertex_point, pmesh));
|
||||||
|
|
||||||
typedef typename internal_np::Lookup_named_param_def<internal_np::halfedges_keeper_t,
|
typedef typename internal_np::Lookup_named_param_def<internal_np::halfedges_keeper_t,
|
||||||
CGAL_PMP_NP_CLASS,
|
CGAL_BGL_NP_CLASS,
|
||||||
Default_halfedges_keeper<PolygonMesh> >::type Halfedge_keeper;
|
Default_halfedges_keeper<PolygonMesh> >::type Halfedge_keeper;
|
||||||
const Halfedge_keeper hd_kpr = choose_parameter(get_parameter(np, internal_np::halfedges_keeper),
|
const Halfedge_keeper hd_kpr = choose_parameter(get_parameter(np, internal_np::halfedges_keeper),
|
||||||
Default_halfedges_keeper<PolygonMesh>());
|
Default_halfedges_keeper<PolygonMesh>());
|
||||||
|
|
@ -1403,10 +1398,10 @@ std::size_t stitch_borders(const BorderHalfedgeRange& boundary_cycle_representat
|
||||||
/// \sa `stitch_boundary_cycle()`
|
/// \sa `stitch_boundary_cycle()`
|
||||||
/// \sa `stitch_boundary_cycles()`
|
/// \sa `stitch_boundary_cycles()`
|
||||||
///
|
///
|
||||||
template <typename BorderHalfedgeRange, typename PolygonMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename BorderHalfedgeRange, typename PolygonMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t stitch_borders(const BorderHalfedgeRange& boundary_cycle_representatives,
|
std::size_t stitch_borders(const BorderHalfedgeRange& boundary_cycle_representatives,
|
||||||
PolygonMesh& pmesh,
|
PolygonMesh& pmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np
|
const CGAL_BGL_NP_CLASS& np
|
||||||
#ifndef DOXYGEN_RUNNING
|
#ifndef DOXYGEN_RUNNING
|
||||||
, typename boost::enable_if<
|
, typename boost::enable_if<
|
||||||
typename boost::has_range_iterator<BorderHalfedgeRange>
|
typename boost::has_range_iterator<BorderHalfedgeRange>
|
||||||
|
|
@ -1433,9 +1428,9 @@ std::size_t stitch_borders(const BorderHalfedgeRange& boundary_cycle_representat
|
||||||
return stitch_borders(boundary_cycle_representatives, pmesh, cycle_reps_maintainer, parameters::all_default());
|
return stitch_borders(boundary_cycle_representatives, pmesh, cycle_reps_maintainer, parameters::all_default());
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename PolygonMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename PolygonMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
std::size_t stitch_borders(PolygonMesh& pmesh,
|
std::size_t stitch_borders(PolygonMesh& pmesh,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
typedef typename boost::graph_traits<PolygonMesh>::halfedge_descriptor halfedge_descriptor;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
#define CGAL_POLYGON_MESH_PROCESSING_TRANSFORM_H
|
#define CGAL_POLYGON_MESH_PROCESSING_TRANSFORM_H
|
||||||
#include <CGAL/license/Polygon_mesh_processing/core.h>
|
#include <CGAL/license/Polygon_mesh_processing/core.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
namespace CGAL{
|
namespace CGAL{
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/triangulate_hole.h>
|
#include <CGAL/Polygon_mesh_processing/triangulate_hole.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/compute_normal.h>
|
#include <CGAL/Polygon_mesh_processing/compute_normal.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#include <boost/range/size.hpp>
|
#include <boost/range/size.hpp>
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
#include <CGAL/Polygon_mesh_processing/refine.h>
|
#include <CGAL/Polygon_mesh_processing/refine.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/fair.h>
|
#include <CGAL/Polygon_mesh_processing/fair.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
#include <CGAL/boost/graph/helpers.h>
|
#include <CGAL/boost/graph/helpers.h>
|
||||||
|
|
@ -31,11 +31,6 @@
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#ifdef DOXYGEN_RUNNING
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS NamedParameters
|
|
||||||
#define CGAL_PMP_NP_CLASS NamedParameters
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
|
|
||||||
namespace Polygon_mesh_processing {
|
namespace Polygon_mesh_processing {
|
||||||
|
|
@ -634,11 +629,11 @@ bool use_dt3 =
|
||||||
*/
|
*/
|
||||||
template <typename PointRange,
|
template <typename PointRange,
|
||||||
typename OutputIterator,
|
typename OutputIterator,
|
||||||
typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
OutputIterator
|
OutputIterator
|
||||||
triangulate_hole_polyline(const PointRange& points,
|
triangulate_hole_polyline(const PointRange& points,
|
||||||
OutputIterator out,
|
OutputIterator out,
|
||||||
const CGAL_PMP_NP_CLASS& np)
|
const CGAL_BGL_NP_CLASS& np)
|
||||||
{
|
{
|
||||||
typedef typename std::iterator_traits<
|
typedef typename std::iterator_traits<
|
||||||
typename PointRange::iterator>::value_type Point;
|
typename PointRange::iterator>::value_type Point;
|
||||||
|
|
|
||||||
|
|
@ -88,11 +88,6 @@
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
#ifdef DOXYGEN_RUNNING
|
|
||||||
#define CGAL_PMP_NP_TEMPLATE_PARAMETERS NamedParameters
|
|
||||||
#define CGAL_PMP_NP_CLASS NamedParameters
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -2249,14 +2244,14 @@ public:
|
||||||
* the initial list of prisms.
|
* the initial list of prisms.
|
||||||
* \todo apply that to the soup versions
|
* \todo apply that to the soup versions
|
||||||
*/
|
*/
|
||||||
template <typename TriangleMesh, typename CGAL_PMP_NP_TEMPLATE_PARAMETERS>
|
template <typename TriangleMesh, typename CGAL_BGL_NP_TEMPLATE_PARAMETERS>
|
||||||
bool
|
bool
|
||||||
operator()(const TriangleMesh& tmesh, const CGAL_PMP_NP_CLASS& np) const
|
operator()(const TriangleMesh& tmesh, const CGAL_BGL_NP_CLASS& np) const
|
||||||
{
|
{
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
typename GetVertexPointMap<TriangleMesh, CGAL_PMP_NP_CLASS>::const_type
|
typename GetVertexPointMap<TriangleMesh, CGAL_BGL_NP_CLASS>::const_type
|
||||||
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(CGAL::vertex_point, tmesh));
|
get_const_property_map(CGAL::vertex_point, tmesh));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@
|
||||||
#include <vtkCommand.h>
|
#include <vtkCommand.h>
|
||||||
#include <vtkXMLUnstructuredGridWriter.h>
|
#include <vtkXMLUnstructuredGridWriter.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
typedef Scene_surface_mesh_item Scene_facegraph_item;
|
typedef Scene_surface_mesh_item Scene_facegraph_item;
|
||||||
typedef Scene_facegraph_item::Face_graph FaceGraph;
|
typedef Scene_facegraph_item::Face_graph FaceGraph;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
#include <CGAL/Polygon_mesh_processing/triangulate_hole.h>
|
#include <CGAL/Polygon_mesh_processing/triangulate_hole.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/self_intersections.h>
|
#include <CGAL/Polygon_mesh_processing/self_intersections.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/refine.h>
|
#include <CGAL/Polygon_mesh_processing/refine.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/polygon_soup_to_polygon_mesh.h>
|
#include <CGAL/Polygon_mesh_processing/polygon_soup_to_polygon_mesh.h>
|
||||||
#include <CGAL/Weights/uniform_weights.h>
|
#include <CGAL/Weights/uniform_weights.h>
|
||||||
#include <CGAL/Weights/cotangent_weights.h>
|
#include <CGAL/Weights/cotangent_weights.h>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
#include <CGAL/Polygon_mesh_processing/orient_polygon_soup.h>
|
#include <CGAL/Polygon_mesh_processing/orient_polygon_soup.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/repair.h>
|
#include <CGAL/Polygon_mesh_processing/repair.h>
|
||||||
|
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_function_params.h>
|
#include <CGAL/boost/graph/Named_function_parameters.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
#include <CGAL/Polygon_mesh_processing/internal/named_params_helper.h>
|
||||||
|
|
||||||
//a material is composed of an material Id and a material name.
|
//a material is composed of an material Id and a material name.
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,3 @@ WARN_IF_UNDOCUMENTED = false
|
||||||
EXAMPLE_PATH += ${CGAL_Tetrahedral_remeshing_EXAMPLE_DIR}
|
EXAMPLE_PATH += ${CGAL_Tetrahedral_remeshing_EXAMPLE_DIR}
|
||||||
|
|
||||||
EXCLUDE = ${CGAL_PACKAGE_INCLUDE_DIR}/CGAL/Tetrahedral_remeshing/internal
|
EXCLUDE = ${CGAL_PACKAGE_INCLUDE_DIR}/CGAL/Tetrahedral_remeshing/internal
|
||||||
|
|
||||||
#MACRO_EXPANSION = YES
|
|
||||||
#EXPAND_ONLY_PREDEF = YES
|
|
||||||
#EXPAND_AS_DEFINED = CGAL_PMP_NP_TEMPLATE_PARAMETERS \
|
|
||||||
# CGAL_PMP_NP_CLASS
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue