mirror of https://github.com/CGAL/cgal
Use the functions where possible
This commit is contained in:
parent
fe78af0029
commit
8583935ae8
|
|
@ -187,20 +187,9 @@ namespace Polygon_mesh_processing {
|
||||||
{
|
{
|
||||||
if (faces.empty()) return out;
|
if (faces.empty()) return out;
|
||||||
|
|
||||||
typedef PolygonMesh PM;
|
|
||||||
typedef typename GetFaceIndexMap<PM, NamedParameters>::const_type FIMap;
|
|
||||||
typedef typename boost::property_map<typename internal::Dummy_PM,
|
|
||||||
CGAL::face_index_t>::type Unset_FIMap;
|
|
||||||
|
|
||||||
if (boost::is_same<FIMap, Unset_FIMap>::value || faces.size() == 1)
|
auto fim =
|
||||||
{
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||||
//face index map is not given in named parameters, nor as an internal property map
|
|
||||||
return internal::border_halfedges_impl(faces, out, pmesh);
|
|
||||||
}
|
|
||||||
|
|
||||||
//face index map given as a named parameter, or as an internal property map
|
|
||||||
FIMap fim = parameters::choose_parameter(parameters::get_parameter(np, internal_np::face_index),
|
|
||||||
get_const_property_map(CGAL::face_index, pmesh));
|
|
||||||
|
|
||||||
return internal::border_halfedges_impl(faces, fim, out, pmesh, np);
|
return internal::border_halfedges_impl(faces, fim, out, pmesh, np);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -413,10 +413,9 @@ std::size_t keep_large_connected_components(PolygonMesh& pmesh,
|
||||||
using parameters::choose_parameter;
|
using parameters::choose_parameter;
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
// FaceIndexMap
|
typedef typename Default_face_index_map<NamedParameters, PolygonMesh>::type FaceIndexMap;
|
||||||
typedef typename GetFaceIndexMap<PM, NamedParameters>::type FaceIndexMap;
|
FaceIndexMap fim =
|
||||||
FaceIndexMap fim = choose_parameter(get_parameter(np, internal_np::face_index),
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||||
get_property_map(boost::face_index, pmesh));
|
|
||||||
|
|
||||||
typedef typename internal_np::Lookup_named_param_def<internal_np::face_size_map_t,
|
typedef typename internal_np::Lookup_named_param_def<internal_np::face_size_map_t,
|
||||||
NamedParameters,
|
NamedParameters,
|
||||||
|
|
@ -488,9 +487,8 @@ void keep_or_remove_connected_components(PolygonMesh& pmesh
|
||||||
typedef typename boost::graph_traits<PolygonMesh>::edge_iterator edge_iterator;
|
typedef typename boost::graph_traits<PolygonMesh>::edge_iterator edge_iterator;
|
||||||
|
|
||||||
//VertexIndexMap
|
//VertexIndexMap
|
||||||
typedef typename GetVertexIndexMap<PM, NamedParameters>::type VertexIndexMap;
|
typedef typename Default_vertex_index_map<NamedParameters, PM>::type VertexIndexMap;
|
||||||
VertexIndexMap vim = choose_parameter(get_parameter(np, internal_np::vertex_index),
|
VertexIndexMap vim = get_initialized_vertex_index_map(pmesh, np);
|
||||||
get_const_property_map(boost::vertex_index, pmesh));
|
|
||||||
|
|
||||||
std::set<std::size_t> cc_to_keep;
|
std::set<std::size_t> cc_to_keep;
|
||||||
for(std::size_t i : components_to_keep)
|
for(std::size_t i : components_to_keep)
|
||||||
|
|
@ -730,9 +728,9 @@ void remove_connected_components(PolygonMesh& pmesh
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
//FaceIndexMap
|
//FaceIndexMap
|
||||||
typedef typename GetFaceIndexMap<PM, CGAL_PMP_NP_CLASS>::type FaceIndexMap;
|
typedef typename Default_face_index_map<CGAL_PMP_NP_CLASS, PolygonMesh>::type FaceIndexMap;
|
||||||
FaceIndexMap fim = choose_parameter(get_parameter(np, internal_np::face_index),
|
FaceIndexMap fim =
|
||||||
get_property_map(boost::face_index, pmesh));
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||||
|
|
||||||
//vector_property_map
|
//vector_property_map
|
||||||
boost::vector_property_map<std::size_t, FaceIndexMap> face_cc(fim);
|
boost::vector_property_map<std::size_t, FaceIndexMap> face_cc(fim);
|
||||||
|
|
@ -788,9 +786,9 @@ void keep_connected_components(PolygonMesh& pmesh
|
||||||
using parameters::get_parameter;
|
using parameters::get_parameter;
|
||||||
|
|
||||||
//FaceIndexMap
|
//FaceIndexMap
|
||||||
typedef typename GetFaceIndexMap<PM, CGAL_PMP_NP_CLASS>::type FaceIndexMap;
|
typedef typename Default_face_index_map<CGAL_PMP_NP_CLASS, PolygonMesh>::type FaceIndexMap;
|
||||||
FaceIndexMap fim = choose_parameter(get_parameter(np, internal_np::face_index),
|
FaceIndexMap fim =
|
||||||
get_property_map(boost::face_index, pmesh));
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||||
|
|
||||||
//vector_property_map
|
//vector_property_map
|
||||||
boost::vector_property_map<std::size_t, FaceIndexMap> face_cc(fim);
|
boost::vector_property_map<std::size_t, FaceIndexMap> face_cc(fim);
|
||||||
|
|
|
||||||
|
|
@ -185,8 +185,6 @@ bool does_bound_a_volume(const TriangleMesh& tm, const NamedParameters& np)
|
||||||
typedef typename GT::vertex_descriptor vertex_descriptor;
|
typedef typename GT::vertex_descriptor vertex_descriptor;
|
||||||
typedef typename GetVertexPointMap<TriangleMesh,
|
typedef typename GetVertexPointMap<TriangleMesh,
|
||||||
NamedParameters>::const_type Vpm;
|
NamedParameters>::const_type Vpm;
|
||||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
|
||||||
NamedParameters>::const_type Fid_map;
|
|
||||||
typedef typename Kernel_traits<
|
typedef typename Kernel_traits<
|
||||||
typename boost::property_traits<Vpm>::value_type >::Kernel Kernel;
|
typename boost::property_traits<Vpm>::value_type >::Kernel Kernel;
|
||||||
|
|
||||||
|
|
@ -196,8 +194,8 @@ bool does_bound_a_volume(const TriangleMesh& tm, const NamedParameters& np)
|
||||||
Vpm vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point),
|
Vpm vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point),
|
||||||
get_const_property_map(boost::vertex_point, tm));
|
get_const_property_map(boost::vertex_point, tm));
|
||||||
|
|
||||||
Fid_map fid_map = parameters::choose_parameter(parameters::get_parameter(np, internal_np::face_index),
|
auto fid_map =
|
||||||
get_const_property_map(boost::face_index, tm));
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(tm, np);
|
||||||
|
|
||||||
std::vector<std::size_t> face_cc(num_faces(tm), std::size_t(-1));
|
std::vector<std::size_t> face_cc(num_faces(tm), std::size_t(-1));
|
||||||
|
|
||||||
|
|
@ -524,19 +522,18 @@ corefine_and_compute_boolean_operations(
|
||||||
Edge_mark_map_tuple;
|
Edge_mark_map_tuple;
|
||||||
|
|
||||||
// Face index point maps
|
// Face index point maps
|
||||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
|
||||||
NamedParameters1>::type Fid_map;
|
typedef typename CGAL::Polygon_mesh_processing::
|
||||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
Default_face_index_map<NamedParameters1, TriangleMesh>::type Fid_map;
|
||||||
NamedParameters2>::type Fid_map2;
|
typedef typename CGAL::Polygon_mesh_processing::
|
||||||
|
Default_face_index_map<NamedParameters2, TriangleMesh>::type Fid_map2;
|
||||||
|
|
||||||
CGAL_USE_TYPE(Fid_map2);
|
CGAL_USE_TYPE(Fid_map2);
|
||||||
CGAL_assertion_code(
|
CGAL_assertion_code(
|
||||||
static const bool same_fidmap = (boost::is_same<Fid_map,Fid_map2>::value);)
|
static const bool same_fidmap = (boost::is_same<Fid_map,Fid_map2>::value);)
|
||||||
CGAL_static_assertion(same_fidmap);
|
CGAL_static_assertion(same_fidmap);
|
||||||
|
Fid_map fid_map1 = get_initialized_face_index_map(tm1, np1);
|
||||||
Fid_map fid_map1 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::face_index),
|
Fid_map fid_map2 = get_initialized_face_index_map(tm2, np2);
|
||||||
get_property_map(boost::face_index, tm1));
|
|
||||||
Fid_map fid_map2 = parameters::choose_parameter(parameters::get_parameter(np2, internal_np::face_index),
|
|
||||||
get_property_map(boost::face_index, tm2));
|
|
||||||
// User visitor
|
// User visitor
|
||||||
typedef typename internal_np::Lookup_named_param_def <
|
typedef typename internal_np::Lookup_named_param_def <
|
||||||
internal_np::graph_visitor_t,
|
internal_np::graph_visitor_t,
|
||||||
|
|
@ -1023,10 +1020,10 @@ namespace experimental {
|
||||||
Vpm vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point),
|
Vpm vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point),
|
||||||
get_property_map(boost::vertex_point, tm));
|
get_property_map(boost::vertex_point, tm));
|
||||||
// Face index map
|
// Face index map
|
||||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
typedef typename Default_face_index_map<NamedParameters, TriangleMesh>::type Fid_map;
|
||||||
NamedParameters>::type Fid_map;
|
Fid_map fid_map =
|
||||||
Fid_map fid_map = parameters::choose_parameter(parameters::get_parameter(np, internal_np::face_index),
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(tm, np);
|
||||||
get_property_map(boost::face_index, tm));
|
|
||||||
// Edge is-constrained maps
|
// Edge is-constrained maps
|
||||||
typedef typename internal_np::Lookup_named_param_def <
|
typedef typename internal_np::Lookup_named_param_def <
|
||||||
internal_np::edge_is_constrained_t,
|
internal_np::edge_is_constrained_t,
|
||||||
|
|
|
||||||
|
|
@ -148,9 +148,8 @@ detect_surface_patches(PolygonMesh& p,
|
||||||
const NamedParameters& np)
|
const NamedParameters& np)
|
||||||
{
|
{
|
||||||
//extract types from NPs
|
//extract types from NPs
|
||||||
typename GetFaceIndexMap<PolygonMesh, NamedParameters>::const_type
|
auto fimap =
|
||||||
fimap = parameters::choose_parameter(parameters::get_parameter(np, internal_np::face_index),
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(p, np);
|
||||||
get_const_property_map(boost::face_index, p));
|
|
||||||
|
|
||||||
int offset = static_cast<int>(
|
int offset = static_cast<int>(
|
||||||
parameters::choose_parameter(parameters::get_parameter(np, internal_np::first_index),
|
parameters::choose_parameter(parameters::get_parameter(np, internal_np::first_index),
|
||||||
|
|
|
||||||
|
|
@ -475,8 +475,6 @@ void orient(TriangleMesh& tm, const NamedParameters& np)
|
||||||
typedef typename Graph_traits::halfedge_descriptor halfedge_descriptor;
|
typedef typename Graph_traits::halfedge_descriptor halfedge_descriptor;
|
||||||
typedef typename GetVertexPointMap<TriangleMesh,
|
typedef typename GetVertexPointMap<TriangleMesh,
|
||||||
NamedParameters>::const_type Vpm;
|
NamedParameters>::const_type Vpm;
|
||||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
|
||||||
NamedParameters>::const_type Fid_map;
|
|
||||||
|
|
||||||
CGAL_assertion(is_triangle_mesh(tm));
|
CGAL_assertion(is_triangle_mesh(tm));
|
||||||
CGAL_assertion(is_valid_polygon_mesh(tm));
|
CGAL_assertion(is_valid_polygon_mesh(tm));
|
||||||
|
|
@ -491,8 +489,8 @@ void orient(TriangleMesh& tm, const NamedParameters& np)
|
||||||
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(boost::vertex_point, tm));
|
get_const_property_map(boost::vertex_point, tm));
|
||||||
|
|
||||||
Fid_map fid_map = choose_parameter(get_parameter(np, internal_np::face_index),
|
auto fid_map =
|
||||||
get_const_property_map(boost::face_index, tm));
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(tm, np);
|
||||||
|
|
||||||
std::vector<std::size_t> face_cc(num_faces(tm), std::size_t(-1));
|
std::vector<std::size_t> face_cc(num_faces(tm), std::size_t(-1));
|
||||||
|
|
||||||
|
|
@ -582,8 +580,6 @@ void orient_to_bound_a_volume(TriangleMesh& tm,
|
||||||
typedef typename Graph_traits::vertex_descriptor vertex_descriptor;
|
typedef typename Graph_traits::vertex_descriptor vertex_descriptor;
|
||||||
typedef typename GetVertexPointMap<TriangleMesh,
|
typedef typename GetVertexPointMap<TriangleMesh,
|
||||||
NamedParameters>::const_type Vpm;
|
NamedParameters>::const_type Vpm;
|
||||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
|
||||||
NamedParameters>::const_type Fid_map;
|
|
||||||
typedef typename Kernel_traits<
|
typedef typename Kernel_traits<
|
||||||
typename boost::property_traits<Vpm>::value_type >::Kernel Kernel;
|
typename boost::property_traits<Vpm>::value_type >::Kernel Kernel;
|
||||||
if (!is_closed(tm)) return;
|
if (!is_closed(tm)) return;
|
||||||
|
|
@ -598,8 +594,8 @@ void orient_to_bound_a_volume(TriangleMesh& tm,
|
||||||
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(boost::vertex_point, tm));
|
get_const_property_map(boost::vertex_point, tm));
|
||||||
|
|
||||||
Fid_map fid_map = choose_parameter(get_parameter(np, internal_np::face_index),
|
auto fid_map =
|
||||||
get_const_property_map(boost::face_index, tm));
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(tm, np);
|
||||||
|
|
||||||
std::vector<std::size_t> face_cc(num_faces(tm), std::size_t(-1));
|
std::vector<std::size_t> face_cc(num_faces(tm), std::size_t(-1));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -168,10 +168,9 @@ void isotropic_remeshing(const FaceRange& faces
|
||||||
typedef typename GetVertexPointMap<PM, NamedParameters>::type VPMap;
|
typedef typename GetVertexPointMap<PM, NamedParameters>::type VPMap;
|
||||||
VPMap vpmap = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
VPMap vpmap = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_property_map(vertex_point, pmesh));
|
get_property_map(vertex_point, pmesh));
|
||||||
|
typedef typename Default_face_index_map<NamedParameters, PolygonMesh>::type FIMap;
|
||||||
typedef typename GetFaceIndexMap<PM, NamedParameters>::type FIMap;
|
FIMap fimap =
|
||||||
FIMap fimap = choose_parameter(get_parameter(np, internal_np::face_index),
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||||
get_property_map(face_index, pmesh));
|
|
||||||
|
|
||||||
typedef typename internal_np::Lookup_named_param_def <
|
typedef typename internal_np::Lookup_named_param_def <
|
||||||
internal_np::edge_is_constrained_t,
|
internal_np::edge_is_constrained_t,
|
||||||
|
|
@ -347,9 +346,9 @@ void split_long_edges(const EdgeRange& edges
|
||||||
VPMap vpmap = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
VPMap vpmap = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||||
get_property_map(vertex_point, pmesh));
|
get_property_map(vertex_point, pmesh));
|
||||||
|
|
||||||
typedef typename GetFaceIndexMap<PM, NamedParameters>::type FIMap;
|
typedef typename Default_face_index_map<NamedParameters, PolygonMesh>::type FIMap;
|
||||||
FIMap fimap = choose_parameter(get_parameter(np, internal_np::face_index),
|
FIMap fimap =
|
||||||
get_property_map(face_index, pmesh));
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||||
|
|
||||||
typedef typename internal_np::Lookup_named_param_def <
|
typedef typename internal_np::Lookup_named_param_def <
|
||||||
internal_np::edge_is_constrained_t,
|
internal_np::edge_is_constrained_t,
|
||||||
|
|
|
||||||
|
|
@ -186,9 +186,9 @@ collect_duplicated_stitchable_boundary_edges
|
||||||
if(per_cc)
|
if(per_cc)
|
||||||
{
|
{
|
||||||
cc = get(Face_property_tag(), pmesh);
|
cc = get(Face_property_tag(), pmesh);
|
||||||
typedef typename GetFaceIndexMap<PM, CGAL_PMP_NP_CLASS>::const_type FIMap;
|
|
||||||
FIMap fim = parameters::choose_parameter(parameters::get_parameter(np, internal_np::face_index),
|
auto fim =
|
||||||
get_const_property_map(face_index, pmesh));
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||||
num_component = num_component_wrapper(pmesh, cc, fim);
|
num_component = num_component_wrapper(pmesh, cc, fim);
|
||||||
border_edges_per_cc.resize(num_component);
|
border_edges_per_cc.resize(num_component);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -551,12 +551,9 @@ public:
|
||||||
std::vector<std::size_t> cc_ids(num_faces(tm));
|
std::vector<std::size_t> cc_ids(num_faces(tm));
|
||||||
|
|
||||||
// face index map
|
// face index map
|
||||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
|
||||||
NamedParameters>::type Fid_map;
|
|
||||||
|
|
||||||
Fid_map fid_map =
|
auto fid_map =
|
||||||
parameters::choose_parameter(parameters::get_parameter(np, internal_np::face_index),
|
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(tm, np);
|
||||||
get_const_property_map(boost::face_index, tm));
|
|
||||||
|
|
||||||
std::size_t nb_cc =
|
std::size_t nb_cc =
|
||||||
Polygon_mesh_processing::connected_components(
|
Polygon_mesh_processing::connected_components(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue