23#ifndef VCL_ALGORITHMS_MESH_UPDATE_BORDER_H
24#define VCL_ALGORITHMS_MESH_UPDATE_BORDER_H
26#include <vclib/algorithms/mesh/sort.h>
28#include <vclib/mesh.h>
45template<FaceMeshConcept MeshType>
46void updateBorder(MeshType& m)
48 using VertexType = MeshType::VertexType;
49 using FaceType = MeshType::FaceType;
51 for (FaceType& f : m.
faces())
52 for (uint i = 0; i < f.vertexNumber(); ++i)
53 f.edgeOnBorder(i) =
false;
55 if (m.faceNumber() == 0)
58 std::vector<MeshEdgeUtil<MeshType>> e = fillAndSortMeshEdgeUtilVector(m);
60 typename std::vector<MeshEdgeUtil<MeshType>>::iterator pe, ps;
64 if (pe == e.end() || *pe != *ps) {
66 ps->f->edgeOnBorder(ps->e) =
true;
72 }
while (pe != e.end());
constexpr detail::FacesView faces
A view that allows to iterate overt the Face elements of an object.
Definition face.h:84