1#include "unittests_common.hh"
4using namespace OpenVolumeMesh;
8 generateHexahedralMesh(mesh_);
12 EXPECT_TRUE(hv_it.valid());
14 EXPECT_HANDLE_EQ(VertexHandle(0), *hv_it); ++hv_it;
15 EXPECT_HANDLE_EQ(VertexHandle(1), *hv_it); ++hv_it;
16 EXPECT_HANDLE_EQ(VertexHandle(2), *hv_it); ++hv_it;
17 EXPECT_HANDLE_EQ(VertexHandle(3), *hv_it); ++hv_it;
18 EXPECT_HANDLE_EQ(VertexHandle(4), *hv_it); ++hv_it;
19 EXPECT_HANDLE_EQ(VertexHandle(7), *hv_it); ++hv_it;
20 EXPECT_HANDLE_EQ(VertexHandle(6), *hv_it); ++hv_it;
21 EXPECT_HANDLE_EQ(VertexHandle(5), *hv_it);
26 generateTetrahedralMesh(mesh_);
32 EXPECT_TRUE(vv_it.valid());
34 std::set<VertexHandle> onering;
40 onering.insert(*vv_it);
45 EXPECT_EQ(3, valence);
48 EXPECT_EQ(3u, onering.size());
51 EXPECT_EQ(onering.end(), std::find(onering.begin(), onering.end(), VertexHandle(-1)));
57 std::set<VertexHandle> onering;
60 for (
auto vh : mesh_.vertex_vertices(VertexHandle(0)))
67 EXPECT_EQ(3, valence);
70 EXPECT_EQ(3u, onering.size());
73 EXPECT_EQ(onering.end(), std::find(onering.begin(), onering.end(), VertexHandle(-1)));
81 generateTetrahedralMesh(mesh_);
87 EXPECT_TRUE(vf_it.valid());
89 std::set<FaceHandle> incident_faces;
95 incident_faces.insert(*vf_it);
100 EXPECT_EQ(3, valence);
103 EXPECT_EQ(3u, incident_faces.size());
106 EXPECT_EQ(incident_faces.end(), std::find(incident_faces.begin(), incident_faces.end(), FaceHandle(-1)));
112 std::set<VertexHandle> onering;
115 for (
auto vh : mesh_.vertex_vertices(VertexHandle(0)))
122 EXPECT_EQ(3, valence);
125 EXPECT_EQ(3u, onering.size());
128 EXPECT_EQ(onering.end(), std::find(onering.begin(), onering.end(), VertexHandle(-1)));
136 generateHexahedralMesh(mesh_);
138 for (
const auto& vh: mesh_.vertices()) { _dummy = vh;}
139 const auto& constref = mesh_;
140 for (
const auto& vh: constref.vertices()) { _dummy = vh;}
Iterate over all vertices of a hexahedron in a specific order.