23#ifndef VCL_ALGORITHMS_MESH_SORT_H
24#define VCL_ALGORITHMS_MESH_SORT_H
26#include <vclib/space/complex.h>
32template<FaceMeshConcept MeshType>
33std::vector<MeshEdgeUtil<MeshType>> fillAndSortMeshEdgeUtilVector(
35 bool includeFauxEdges =
true)
37 using FaceType = MeshType::FaceType;
39 std::vector<MeshEdgeUtil<MeshType>> vec;
42 for (
const FaceType& f : m.
faces())
43 n_edges += f.vertexNumber();
47 for (FaceType& f : m.
faces()) {
48 for (uint j = 0; j < f.vertexNumber(); ++j) {
49 if (includeFauxEdges || !f.edgeFaux(j)) {
50 vec.emplace_back(f, j);
56 std::sort(std::execution::par_unseq, vec.begin(), vec.end());
61template<FaceMeshConcept MeshType>
62std::vector<ConstMeshEdgeUtil<MeshType>> fillAndSortMeshEdgeUtilVector(
64 bool includeFauxEdges =
true)
66 using FaceType = MeshType::FaceType;
68 std::vector<ConstMeshEdgeUtil<MeshType>> vec;
71 for (
const FaceType& f : m.
faces())
72 n_edges += f.vertexNumber();
76 for (
const FaceType& f : m.
faces()) {
77 for (uint j = 0; j < f.vertexNumber(); ++j) {
78 if (includeFauxEdges || !f.edgeFaux(j)) {
79 vec.emplace_back(f, j);
85 std::sort(std::execution::par_unseq, vec.begin(), vec.end());
constexpr detail::FacesView faces
A view that allows to iterate overt the Face elements of an object.
Definition face.h:84