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;
|
||||
|
||||
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)
|
||||
{
|
||||
//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));
|
||||
auto fim =
|
||||
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(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::get_parameter;
|
||||
|
||||
// FaceIndexMap
|
||||
typedef typename GetFaceIndexMap<PM, NamedParameters>::type FaceIndexMap;
|
||||
FaceIndexMap fim = choose_parameter(get_parameter(np, internal_np::face_index),
|
||||
get_property_map(boost::face_index, pmesh));
|
||||
typedef typename Default_face_index_map<NamedParameters, PolygonMesh>::type FaceIndexMap;
|
||||
FaceIndexMap fim =
|
||||
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||
|
||||
typedef typename internal_np::Lookup_named_param_def<internal_np::face_size_map_t,
|
||||
NamedParameters,
|
||||
|
|
@ -488,9 +487,8 @@ void keep_or_remove_connected_components(PolygonMesh& pmesh
|
|||
typedef typename boost::graph_traits<PolygonMesh>::edge_iterator edge_iterator;
|
||||
|
||||
//VertexIndexMap
|
||||
typedef typename GetVertexIndexMap<PM, NamedParameters>::type VertexIndexMap;
|
||||
VertexIndexMap vim = choose_parameter(get_parameter(np, internal_np::vertex_index),
|
||||
get_const_property_map(boost::vertex_index, pmesh));
|
||||
typedef typename Default_vertex_index_map<NamedParameters, PM>::type VertexIndexMap;
|
||||
VertexIndexMap vim = get_initialized_vertex_index_map(pmesh, np);
|
||||
|
||||
std::set<std::size_t> cc_to_keep;
|
||||
for(std::size_t i : components_to_keep)
|
||||
|
|
@ -730,9 +728,9 @@ void remove_connected_components(PolygonMesh& pmesh
|
|||
using parameters::get_parameter;
|
||||
|
||||
//FaceIndexMap
|
||||
typedef typename GetFaceIndexMap<PM, CGAL_PMP_NP_CLASS>::type FaceIndexMap;
|
||||
FaceIndexMap fim = choose_parameter(get_parameter(np, internal_np::face_index),
|
||||
get_property_map(boost::face_index, pmesh));
|
||||
typedef typename Default_face_index_map<CGAL_PMP_NP_CLASS, PolygonMesh>::type FaceIndexMap;
|
||||
FaceIndexMap fim =
|
||||
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||
|
||||
//vector_property_map
|
||||
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;
|
||||
|
||||
//FaceIndexMap
|
||||
typedef typename GetFaceIndexMap<PM, CGAL_PMP_NP_CLASS>::type FaceIndexMap;
|
||||
FaceIndexMap fim = choose_parameter(get_parameter(np, internal_np::face_index),
|
||||
get_property_map(boost::face_index, pmesh));
|
||||
typedef typename Default_face_index_map<CGAL_PMP_NP_CLASS, PolygonMesh>::type FaceIndexMap;
|
||||
FaceIndexMap fim =
|
||||
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||
|
||||
//vector_property_map
|
||||
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 GetVertexPointMap<TriangleMesh,
|
||||
NamedParameters>::const_type Vpm;
|
||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
||||
NamedParameters>::const_type Fid_map;
|
||||
typedef typename Kernel_traits<
|
||||
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),
|
||||
get_const_property_map(boost::vertex_point, tm));
|
||||
|
||||
Fid_map fid_map = parameters::choose_parameter(parameters::get_parameter(np, internal_np::face_index),
|
||||
get_const_property_map(boost::face_index, tm));
|
||||
auto fid_map =
|
||||
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));
|
||||
|
||||
|
|
@ -524,19 +522,18 @@ corefine_and_compute_boolean_operations(
|
|||
Edge_mark_map_tuple;
|
||||
|
||||
// Face index point maps
|
||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
||||
NamedParameters1>::type Fid_map;
|
||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
||||
NamedParameters2>::type Fid_map2;
|
||||
|
||||
typedef typename CGAL::Polygon_mesh_processing::
|
||||
Default_face_index_map<NamedParameters1, TriangleMesh>::type Fid_map;
|
||||
typedef typename CGAL::Polygon_mesh_processing::
|
||||
Default_face_index_map<NamedParameters2, TriangleMesh>::type Fid_map2;
|
||||
|
||||
CGAL_USE_TYPE(Fid_map2);
|
||||
CGAL_assertion_code(
|
||||
static const bool same_fidmap = (boost::is_same<Fid_map,Fid_map2>::value);)
|
||||
CGAL_static_assertion(same_fidmap);
|
||||
|
||||
Fid_map fid_map1 = parameters::choose_parameter(parameters::get_parameter(np1, internal_np::face_index),
|
||||
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));
|
||||
Fid_map fid_map1 = get_initialized_face_index_map(tm1, np1);
|
||||
Fid_map fid_map2 = get_initialized_face_index_map(tm2, np2);
|
||||
// User visitor
|
||||
typedef typename internal_np::Lookup_named_param_def <
|
||||
internal_np::graph_visitor_t,
|
||||
|
|
@ -1023,10 +1020,10 @@ namespace experimental {
|
|||
Vpm vpm = parameters::choose_parameter(parameters::get_parameter(np, internal_np::vertex_point),
|
||||
get_property_map(boost::vertex_point, tm));
|
||||
// Face index map
|
||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
||||
NamedParameters>::type Fid_map;
|
||||
Fid_map fid_map = parameters::choose_parameter(parameters::get_parameter(np, internal_np::face_index),
|
||||
get_property_map(boost::face_index, tm));
|
||||
typedef typename Default_face_index_map<NamedParameters, TriangleMesh>::type Fid_map;
|
||||
Fid_map fid_map =
|
||||
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(tm, np);
|
||||
|
||||
// Edge is-constrained maps
|
||||
typedef typename internal_np::Lookup_named_param_def <
|
||||
internal_np::edge_is_constrained_t,
|
||||
|
|
|
|||
|
|
@ -148,9 +148,8 @@ detect_surface_patches(PolygonMesh& p,
|
|||
const NamedParameters& np)
|
||||
{
|
||||
//extract types from NPs
|
||||
typename GetFaceIndexMap<PolygonMesh, NamedParameters>::const_type
|
||||
fimap = parameters::choose_parameter(parameters::get_parameter(np, internal_np::face_index),
|
||||
get_const_property_map(boost::face_index, p));
|
||||
auto fimap =
|
||||
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(p, np);
|
||||
|
||||
int offset = static_cast<int>(
|
||||
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 GetVertexPointMap<TriangleMesh,
|
||||
NamedParameters>::const_type Vpm;
|
||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
||||
NamedParameters>::const_type Fid_map;
|
||||
|
||||
CGAL_assertion(is_triangle_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),
|
||||
get_const_property_map(boost::vertex_point, tm));
|
||||
|
||||
Fid_map fid_map = choose_parameter(get_parameter(np, internal_np::face_index),
|
||||
get_const_property_map(boost::face_index, tm));
|
||||
auto fid_map =
|
||||
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));
|
||||
|
||||
|
|
@ -582,8 +580,6 @@ void orient_to_bound_a_volume(TriangleMesh& tm,
|
|||
typedef typename Graph_traits::vertex_descriptor vertex_descriptor;
|
||||
typedef typename GetVertexPointMap<TriangleMesh,
|
||||
NamedParameters>::const_type Vpm;
|
||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
||||
NamedParameters>::const_type Fid_map;
|
||||
typedef typename Kernel_traits<
|
||||
typename boost::property_traits<Vpm>::value_type >::Kernel Kernel;
|
||||
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),
|
||||
get_const_property_map(boost::vertex_point, tm));
|
||||
|
||||
Fid_map fid_map = choose_parameter(get_parameter(np, internal_np::face_index),
|
||||
get_const_property_map(boost::face_index, tm));
|
||||
auto fid_map =
|
||||
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));
|
||||
|
||||
|
|
|
|||
|
|
@ -168,10 +168,9 @@ void isotropic_remeshing(const FaceRange& faces
|
|||
typedef typename GetVertexPointMap<PM, NamedParameters>::type VPMap;
|
||||
VPMap vpmap = choose_parameter(get_parameter(np, internal_np::vertex_point),
|
||||
get_property_map(vertex_point, pmesh));
|
||||
|
||||
typedef typename GetFaceIndexMap<PM, NamedParameters>::type FIMap;
|
||||
FIMap fimap = choose_parameter(get_parameter(np, internal_np::face_index),
|
||||
get_property_map(face_index, pmesh));
|
||||
typedef typename Default_face_index_map<NamedParameters, PolygonMesh>::type FIMap;
|
||||
FIMap fimap =
|
||||
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||
|
||||
typedef typename internal_np::Lookup_named_param_def <
|
||||
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),
|
||||
get_property_map(vertex_point, pmesh));
|
||||
|
||||
typedef typename GetFaceIndexMap<PM, NamedParameters>::type FIMap;
|
||||
FIMap fimap = choose_parameter(get_parameter(np, internal_np::face_index),
|
||||
get_property_map(face_index, pmesh));
|
||||
typedef typename Default_face_index_map<NamedParameters, PolygonMesh>::type FIMap;
|
||||
FIMap fimap =
|
||||
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||
|
||||
typedef typename internal_np::Lookup_named_param_def <
|
||||
internal_np::edge_is_constrained_t,
|
||||
|
|
|
|||
|
|
@ -186,9 +186,9 @@ collect_duplicated_stitchable_boundary_edges
|
|||
if(per_cc)
|
||||
{
|
||||
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),
|
||||
get_const_property_map(face_index, pmesh));
|
||||
|
||||
auto fim =
|
||||
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(pmesh, np);
|
||||
num_component = num_component_wrapper(pmesh, cc, fim);
|
||||
border_edges_per_cc.resize(num_component);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -551,12 +551,9 @@ public:
|
|||
std::vector<std::size_t> cc_ids(num_faces(tm));
|
||||
|
||||
// face index map
|
||||
typedef typename GetFaceIndexMap<TriangleMesh,
|
||||
NamedParameters>::type Fid_map;
|
||||
|
||||
Fid_map fid_map =
|
||||
parameters::choose_parameter(parameters::get_parameter(np, internal_np::face_index),
|
||||
get_const_property_map(boost::face_index, tm));
|
||||
auto fid_map =
|
||||
CGAL::Polygon_mesh_processing::get_initialized_face_index_map(tm, np);
|
||||
|
||||
std::size_t nb_cc =
|
||||
Polygon_mesh_processing::connected_components(
|
||||
|
|
|
|||
Loading…
Reference in New Issue