Merge remote-tracking branch 'cgal/5.5.x-branch'

This commit is contained in:
Sébastien Loriot 2022-08-01 15:53:56 +02:00
commit d04f42c3b1
2 changed files with 5 additions and 2 deletions

View File

@ -1178,7 +1178,7 @@ private:
{ {
Point p1 = get(vpmap_, target(he, mesh_)); Point p1 = get(vpmap_, target(he, mesh_));
Point p2 = get(vpmap_, source(he, mesh_)); Point p2 = get(vpmap_, source(he, mesh_));
return CGAL::midpoint(p1, p2); return gt_.construct_midpoint_3_object()(p1, p2);
} }
void dump(const char* filename) const void dump(const char* filename) const

View File

@ -132,6 +132,7 @@ void tangential_relaxation(const VertexRange& vertices,
using parameters::choose_parameter; using parameters::choose_parameter;
typedef typename GetGeomTraits<TriangleMesh, NamedParameters>::type GT; typedef typename GetGeomTraits<TriangleMesh, NamedParameters>::type GT;
GT gt = choose_parameter(get_parameter(np, internal_np::geom_traits), GT());
typedef typename GetVertexPointMap<TriangleMesh, NamedParameters>::type VPMap; typedef typename GetVertexPointMap<TriangleMesh, NamedParameters>::type VPMap;
VPMap vpm = choose_parameter(get_parameter(np, internal_np::vertex_point), VPMap vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
@ -212,6 +213,7 @@ void tangential_relaxation(const VertexRange& vertices,
typedef std::tuple<vertex_descriptor, Vector_3, Point_3> VNP; typedef std::tuple<vertex_descriptor, Vector_3, Point_3> VNP;
std::vector< VNP > barycenters; std::vector< VNP > barycenters;
auto gt_barycenter = gt.construct_barycenter_3_object();
// at each vertex, compute vertex normal // at each vertex, compute vertex normal
std::unordered_map<vertex_descriptor, Vector_3> vnormals; std::unordered_map<vertex_descriptor, Vector_3> vnormals;
@ -263,7 +265,8 @@ void tangential_relaxation(const VertexRange& vertices,
//check squared cosine is < 0.25 (~120 degrees) //check squared cosine is < 0.25 (~120 degrees)
if (0.25 < dot*dot / ( squared_distance(get(vpm,ph0), get(vpm, v)) * if (0.25 < dot*dot / ( squared_distance(get(vpm,ph0), get(vpm, v)) *
squared_distance(get(vpm,ph1), get(vpm, v))) ) squared_distance(get(vpm,ph1), get(vpm, v))) )
barycenters.emplace_back(v, vn, barycenter(get(vpm, ph0), 0.25, get(vpm, ph1), 0.25, get(vpm, v), 0.5)); barycenters.emplace_back(v, vn,
gt_barycenter(get(vpm, ph0), 0.25, get(vpm, ph1), 0.25, get(vpm, v), 0.5));
} }
} }
} }