23#ifndef VCL_SPACE_COMPLEX_MESH_EDGE_UTIL_H
24#define VCL_SPACE_COMPLEX_MESH_EDGE_UTIL_H
26#include <vclib/mesh.h>
27#include <vclib/base.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 v[1] =
pf.vertexMod(
ne + 1);
75 std::swap(v[0], v[1]);
84 else if (v[0] >
pe.v[0])
87 return v[1] <
pe.v[1];
92 return v[0] ==
pe.v[0] && v[1] ==
pe.v[1];
97 return v[0] !=
pe.v[0] || v[1] !=
pe.v[1];
106template<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