Skip to content

Commit baf0849

Browse files
committed
use default value for dynamic maps
1 parent 12c80ac commit baf0849

File tree

6 files changed

+13
-36
lines changed

6 files changed

+13
-36
lines changed

Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/angle_and_area_smoothing.h

+1-8
Original file line numberDiff line numberDiff line change
@@ -209,14 +209,7 @@ void angle_and_area_smoothing(const FaceRange& faces,
209209
const bool use_Delaunay_flips = choose_parameter(get_parameter(np, internal_np::use_Delaunay_flips), true);
210210

211211
VCMap vcmap = choose_parameter(get_parameter(np, internal_np::vertex_is_constrained),
212-
get(Vertex_property_tag(), tmesh));
213-
214-
// If it's the default vcmap, manually set everything to false because the dynamic pmap has no default initialization
215-
if((std::is_same<VCMap, Default_VCMap>::value))
216-
{
217-
for(vertex_descriptor v : vertices(tmesh))
218-
put(vcmap, v, false);
219-
}
212+
get(Vertex_property_tag(), tmesh, false));
220213

221214
ECMap ecmap = choose_parameter(get_parameter(np, internal_np::edge_is_constrained),
222215
Static_boolean_property_map<edge_descriptor, false>());

Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Smoothing/mesh_smoothing_impl.h

+1-4
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,8 @@ class Delaunay_edge_flipper
154154
typedef typename boost::property_map<TriangleMesh,
155155
Edge_property_tag>::type Marked_edges_map;
156156

157-
Marked_edges_map marks = get(Edge_property_tag(), mesh_);
157+
Marked_edges_map marks = get(Edge_property_tag(), mesh_, false);
158158

159-
// dynamic pmaps do not have default values...
160-
for(edge_descriptor e : edges(mesh_))
161-
put(marks, e, false);
162159
for(edge_descriptor e : edge_range)
163160
put(marks, e, true);
164161
#ifdef CGAL_PMP_SMOOTHING_DEBUG

Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Snapping/snap.h

+5-7
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,7 @@ void simplify_range(HalfedgeRange& halfedge_range,
104104
typedef CGAL::dynamic_halfedge_property_t<bool> Halfedge_bool_tag;
105105
typedef typename boost::property_map<TriangleMesh, Halfedge_bool_tag>::type Range_halfedges;
106106

107-
Range_halfedges range_halfedges = get(Halfedge_bool_tag(), tm);
108-
for(halfedge_descriptor h : halfedge_range)
109-
put(range_halfedges, h, true);
107+
Range_halfedges range_halfedges = get(Halfedge_bool_tag(), tm, false);
110108

111109
CGAL_postcondition_code(const std::size_t initial_n = halfedge_range.size();)
112110

@@ -1233,10 +1231,10 @@ std::size_t snap_non_conformal(HalfedgeRange& halfedge_range_A,
12331231
// We keep in memory pairs of source/target edges that are stitchable after vertex-vertex snapping
12341232
// --> these halfedges should not be considered as targets in non-conformal snapping
12351233
// Similarly, matching vertices whose incident edges have matching directions are also locked
1236-
Locked_vertices locked_vertices_A = get(Vertex_bool_tag(), tm_A);
1237-
Locked_vertices locked_vertices_B = get(Vertex_bool_tag(), tm_B);
1238-
Locked_halfedges locked_halfedges_A = get(Halfedge_bool_tag(), tm_A);
1239-
Locked_halfedges locked_halfedges_B = get(Halfedge_bool_tag(), tm_B);
1234+
Locked_vertices locked_vertices_A = get(Vertex_bool_tag(), tm_A, false);
1235+
Locked_vertices locked_vertices_B = get(Vertex_bool_tag(), tm_B, false);
1236+
Locked_halfedges locked_halfedges_A = get(Halfedge_bool_tag(), tm_A, false);
1237+
Locked_halfedges locked_halfedges_B = get(Halfedge_bool_tag(), tm_B, false);
12401238

12411239
std::vector<std::pair<vertex_descriptor, vertex_descriptor> > locked_vertices;
12421240
std::vector<halfedge_descriptor> locked_halfedges_A_vector, locked_halfedges_B_vector;

Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/manifoldness.h

+4-15
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,7 @@ bool is_non_manifold_vertex(typename boost::graph_traits<PolygonMesh>::vertex_de
5858
typedef typename boost::property_map<PolygonMesh, Halfedge_property_tag>::const_type Visited_halfedge_map;
5959

6060
// Dynamic pmaps do not have default initialization values (yet)
61-
Visited_halfedge_map visited_halfedges = get(Halfedge_property_tag(), pm);
62-
for(halfedge_descriptor h : halfedges(pm))
63-
put(visited_halfedges, h, false);
61+
Visited_halfedge_map visited_halfedges = get(Halfedge_property_tag(), pm, false);
6462

6563
std::size_t incident_null_faces_counter = 0;
6664
for(halfedge_descriptor h : halfedges_around_target(v, pm))
@@ -324,20 +322,11 @@ OutputIterator non_manifold_vertices(const PolygonMesh& pm,
324322
typedef CGAL::dynamic_halfedge_property_t<bool> Halfedge_property_tag;
325323
typedef typename boost::property_map<PolygonMesh, Halfedge_property_tag>::const_type Visited_halfedge_map;
326324

327-
Known_manifold_vertex_map known_nm_vertices = get(Vertex_bool_tag(), pm);
328-
Visited_vertex_map visited_vertices = get(Vertex_halfedge_tag(), pm);
329-
Visited_halfedge_map visited_halfedges = get(Halfedge_property_tag(), pm);
330-
331325
halfedge_descriptor null_h = boost::graph_traits<PolygonMesh>::null_halfedge();
332326

333-
// Dynamic pmaps do not have default initialization values (yet)
334-
for(vertex_descriptor v : vertices(pm))
335-
{
336-
put(known_nm_vertices, v, false);
337-
put(visited_vertices, v, null_h);
338-
}
339-
for(halfedge_descriptor h : halfedges(pm))
340-
put(visited_halfedges, h, false);
327+
Known_manifold_vertex_map known_nm_vertices = get(Vertex_bool_tag(), pm, false);
328+
Visited_vertex_map visited_vertices = get(Vertex_halfedge_tag(), pm, null_h);
329+
Visited_halfedge_map visited_halfedges = get(Halfedge_property_tag(), pm, false);
341330

342331
for(halfedge_descriptor h : halfedges(pm))
343332
{

Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/repair_degeneracies.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ bool remove_almost_degenerate_faces(const FaceRange& face_range,
639639
// Vertex property map that combines the VCM and the fact that extremities of a constrained edge should be constrained
640640
typedef CGAL::dynamic_vertex_property_t<bool> Vertex_property_tag;
641641
typedef typename boost::property_map<TriangleMesh, Vertex_property_tag>::type DVCM;
642-
DVCM vcm = get(Vertex_property_tag(), tmesh);
642+
DVCM vcm = get(Vertex_property_tag(), tmesh, false);
643643

644644
// parameters
645645
const double cap_threshold =

Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/stitch_borders.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ struct Boundary_cycle_rep_maintainer
190190
Boundary_cycle_rep_maintainer(PolygonMesh& pmesh)
191191
: m_pmesh(pmesh)
192192
{
193-
m_candidate_halfedges = get(Candidate_tag(), pmesh);
193+
m_candidate_halfedges = get(Candidate_tag(), pmesh, false);
194194
}
195195

196196
public:

0 commit comments

Comments
 (0)