23#ifndef VCL_SPACE_COMPLEX_MESH_EDGE_UTIL_H
24#define VCL_SPACE_COMPLEX_MESH_EDGE_UTIL_H
26#include <vclib/base.h>
27#include <vclib/mesh.h>
49template<FaceMeshConcept MeshType,
bool CNST = false>
52 using VertexType = std::conditional_t<
54 const typename MeshType::VertexType,
55 typename MeshType::VertexType>;
56 using FaceType = std::conditional_t<
58 const typename MeshType::FaceType,
59 typename MeshType::FaceType>;
66 MeshEdgeUtil() : v {
nullptr,
nullptr}, f(
nullptr), e(-1) {}
71 FaceType*
pf =
nullptr,
72 int ne = -1) : f(
pf), e(
ne)
88 v[1] =
pf.vertexMod(
ne + 1);
92 std::swap(v[0], v[1]);
101 else if (v[0] >
pe.v[0])
104 return v[1] <
pe.v[1];
109 return v[0] ==
pe.v[0] && v[1] ==
pe.v[1];
114 return v[0] !=
pe.v[0] || v[1] !=
pe.v[1];
123template<FaceMeshConcept MeshType>
A class representing a box in N-dimensional space.
Definition box.h:46
Utility class that represents a edge in a Mesh having Vertices and Faces.
Definition mesh_edge_util.h:51