1 #ifndef INCLUDE_UNITTESTS_OpenMeshAddFaceTriangleMesh_HH
2 #define INCLUDE_UNITTESTS_OpenMeshAddFaceTriangleMesh_HH
4 #include <gtest/gtest.h>
5 #include <Unittests/unittests_common.hh>
13 virtual void SetUp() {
19 virtual void TearDown() {
33 virtual void SetUp() {
39 virtual void TearDown() {
61 Mesh::VertexHandle vhandle[4];
63 vhandle[0] = mesh_.add_vertex(Mesh::Point(0, 0, 0));
64 vhandle[1] = mesh_.add_vertex(Mesh::Point(0, 1, 0));
65 vhandle[2] = mesh_.add_vertex(Mesh::Point(1, 1, 0));
66 vhandle[3] = mesh_.add_vertex(Mesh::Point(1, 0, 0));
69 std::vector<Mesh::VertexHandle> face_vhandles;
71 face_vhandles.push_back(vhandle[2]);
72 face_vhandles.push_back(vhandle[1]);
73 face_vhandles.push_back(vhandle[0]);
75 mesh_.add_face(face_vhandles);
77 face_vhandles.clear();
79 face_vhandles.push_back(vhandle[2]);
80 face_vhandles.push_back(vhandle[0]);
81 face_vhandles.push_back(vhandle[3]);
82 mesh_.add_face(face_vhandles);
92 EXPECT_EQ(4u, mesh_.n_vertices() ) <<
"Wrong number of vertices";
93 EXPECT_EQ(2u, mesh_.n_faces() ) <<
"Wrong number of faces";
104 Mesh::VertexHandle vhandle[4];
106 vhandle[0] = mesh_.add_vertex(Mesh::Point(0, 0, 0));
107 vhandle[1] = mesh_.add_vertex(Mesh::Point(0, 1, 0));
108 vhandle[2] = mesh_.add_vertex(Mesh::Point(1, 1, 0));
109 vhandle[3] = mesh_.add_vertex(Mesh::Point(1, 0, 0));
112 std::vector<Mesh::VertexHandle> face_vhandles;
114 face_vhandles.push_back(vhandle[0]);
115 face_vhandles.push_back(vhandle[1]);
116 face_vhandles.push_back(vhandle[2]);
117 face_vhandles.push_back(vhandle[3]);
119 mesh_.add_face(face_vhandles);
129 EXPECT_EQ(4u, mesh_.n_vertices() ) <<
"Wrong number of vertices";
130 EXPECT_EQ(2u, mesh_.n_faces() ) <<
"Wrong number of faces";
141 Mesh::VertexHandle vhandle[8];
142 vhandle[0] = mesh_.add_vertex(Mesh::Point(-1, -1, 1));
143 vhandle[1] = mesh_.add_vertex(Mesh::Point( 1, -1, 1));
144 vhandle[2] = mesh_.add_vertex(Mesh::Point( 1, 1, 1));
145 vhandle[3] = mesh_.add_vertex(Mesh::Point(-1, 1, 1));
146 vhandle[4] = mesh_.add_vertex(Mesh::Point(-1, -1, -1));
147 vhandle[5] = mesh_.add_vertex(Mesh::Point( 1, -1, -1));
148 vhandle[6] = mesh_.add_vertex(Mesh::Point( 1, 1, -1));
149 vhandle[7] = mesh_.add_vertex(Mesh::Point(-1, 1, -1));
152 std::vector<Mesh::VertexHandle> face_vhandles;
154 face_vhandles.clear();
155 face_vhandles.push_back(vhandle[0]);
156 face_vhandles.push_back(vhandle[1]);
157 face_vhandles.push_back(vhandle[3]);
158 mesh_.add_face(face_vhandles);
160 face_vhandles.clear();
161 face_vhandles.push_back(vhandle[1]);
162 face_vhandles.push_back(vhandle[2]);
163 face_vhandles.push_back(vhandle[3]);
164 mesh_.add_face(face_vhandles);
168 face_vhandles.clear();
169 face_vhandles.push_back(vhandle[7]);
170 face_vhandles.push_back(vhandle[6]);
171 face_vhandles.push_back(vhandle[5]);
172 mesh_.add_face(face_vhandles);
174 face_vhandles.clear();
175 face_vhandles.push_back(vhandle[7]);
176 face_vhandles.push_back(vhandle[5]);
177 face_vhandles.push_back(vhandle[4]);
178 mesh_.add_face(face_vhandles);
182 face_vhandles.clear();
183 face_vhandles.push_back(vhandle[1]);
184 face_vhandles.push_back(vhandle[0]);
185 face_vhandles.push_back(vhandle[4]);
186 mesh_.add_face(face_vhandles);
188 face_vhandles.clear();
189 face_vhandles.push_back(vhandle[1]);
190 face_vhandles.push_back(vhandle[4]);
191 face_vhandles.push_back(vhandle[5]);
192 mesh_.add_face(face_vhandles);
196 face_vhandles.clear();
197 face_vhandles.push_back(vhandle[2]);
198 face_vhandles.push_back(vhandle[1]);
199 face_vhandles.push_back(vhandle[5]);
200 mesh_.add_face(face_vhandles);
202 face_vhandles.clear();
203 face_vhandles.push_back(vhandle[2]);
204 face_vhandles.push_back(vhandle[5]);
205 face_vhandles.push_back(vhandle[6]);
206 mesh_.add_face(face_vhandles);
211 face_vhandles.clear();
212 face_vhandles.push_back(vhandle[3]);
213 face_vhandles.push_back(vhandle[2]);
214 face_vhandles.push_back(vhandle[6]);
215 mesh_.add_face(face_vhandles);
217 face_vhandles.clear();
218 face_vhandles.push_back(vhandle[3]);
219 face_vhandles.push_back(vhandle[6]);
220 face_vhandles.push_back(vhandle[7]);
221 mesh_.add_face(face_vhandles);
225 face_vhandles.clear();
226 face_vhandles.push_back(vhandle[0]);
227 face_vhandles.push_back(vhandle[3]);
228 face_vhandles.push_back(vhandle[7]);
229 mesh_.add_face(face_vhandles);
231 face_vhandles.clear();
232 face_vhandles.push_back(vhandle[0]);
233 face_vhandles.push_back(vhandle[7]);
234 face_vhandles.push_back(vhandle[4]);
235 mesh_.add_face(face_vhandles);
253 EXPECT_EQ(18u, mesh_.n_edges() ) <<
"Wrong number of Edges";
254 EXPECT_EQ(36u, mesh_.n_halfedges() ) <<
"Wrong number of HalfEdges";
255 EXPECT_EQ(8u, mesh_.n_vertices() ) <<
"Wrong number of vertices";
256 EXPECT_EQ(12u, mesh_.n_faces() ) <<
"Wrong number of faces";
266 Mesh::VertexHandle vh[7];
267 Mesh::FaceHandle fh[4];
288 vh[0] = mesh_.add_vertex (Mesh::Point (0, 0, 0));
289 vh[1] = mesh_.add_vertex (Mesh::Point (1, 1, 1));
290 vh[2] = mesh_.add_vertex (Mesh::Point (2, 2, 2));
291 vh[3] = mesh_.add_vertex (Mesh::Point (3, 3, 3));
292 vh[4] = mesh_.add_vertex (Mesh::Point (4, 4, 4));
293 vh[5] = mesh_.add_vertex (Mesh::Point (5, 5, 5));
294 vh[6] = mesh_.add_vertex (Mesh::Point (6, 6, 6));
296 mesh_.add_face( vh[0], vh[1], vh[2] );
297 mesh_.add_face( vh[0], vh[3], vh[4] );
298 mesh_.add_face( vh[0], vh[5], vh[6] );
301 mesh_.add_face( vh[3], vh[0], vh[4] );
304 EXPECT_EQ(7u, mesh_.n_vertices() ) <<
"Wrong number of vertices";
305 EXPECT_EQ(4u, mesh_.n_faces() ) <<
"Wrong number of faces";
317 Mesh::VertexHandle vhandle[4];
325 std::vector<Mesh::VertexHandle> face_vhandles;
327 face_vhandles.push_back(vhandle[0]);
328 face_vhandles.push_back(vhandle[1]);
329 face_vhandles.push_back(vhandle[2]);
330 face_vhandles.push_back(vhandle[3]);
332 mesh_.add_face(face_vhandles);
342 EXPECT_EQ(4u, mesh_.n_vertices() ) <<
"Wrong number of vertices";
343 EXPECT_EQ(1u, mesh_.n_faces() ) <<
"Wrong number of faces";
354 Mesh::VertexHandle vhandle[8];
365 std::vector<Mesh::VertexHandle> face_vhandles;
367 face_vhandles.clear();
368 face_vhandles.push_back(vhandle[0]);
369 face_vhandles.push_back(vhandle[1]);
370 face_vhandles.push_back(vhandle[2]);
371 face_vhandles.push_back(vhandle[3]);
372 mesh_.add_face(face_vhandles);
374 face_vhandles.clear();
375 face_vhandles.push_back(vhandle[7]);
376 face_vhandles.push_back(vhandle[6]);
377 face_vhandles.push_back(vhandle[5]);
378 face_vhandles.push_back(vhandle[4]);
379 mesh_.add_face(face_vhandles);
381 face_vhandles.clear();
382 face_vhandles.push_back(vhandle[1]);
383 face_vhandles.push_back(vhandle[0]);
384 face_vhandles.push_back(vhandle[4]);
385 face_vhandles.push_back(vhandle[5]);
386 mesh_.add_face(face_vhandles);
388 face_vhandles.clear();
389 face_vhandles.push_back(vhandle[2]);
390 face_vhandles.push_back(vhandle[1]);
391 face_vhandles.push_back(vhandle[5]);
392 face_vhandles.push_back(vhandle[6]);
393 mesh_.add_face(face_vhandles);
395 face_vhandles.clear();
396 face_vhandles.push_back(vhandle[3]);
397 face_vhandles.push_back(vhandle[2]);
398 face_vhandles.push_back(vhandle[6]);
399 face_vhandles.push_back(vhandle[7]);
400 mesh_.add_face(face_vhandles);
402 face_vhandles.clear();
403 face_vhandles.push_back(vhandle[0]);
404 face_vhandles.push_back(vhandle[3]);
405 face_vhandles.push_back(vhandle[7]);
406 face_vhandles.push_back(vhandle[4]);
407 mesh_.add_face(face_vhandles);
425 EXPECT_EQ(12u, mesh_.n_edges() ) <<
"Wrong number of Edges";
426 EXPECT_EQ(24u, mesh_.n_halfedges() ) <<
"Wrong number of HalfEdges";
427 EXPECT_EQ(8u, mesh_.n_vertices() ) <<
"Wrong number of vertices";
428 EXPECT_EQ(6u, mesh_.n_faces() ) <<
"Wrong number of faces";
433 #endif // INCLUDE GUARD