1 #ifndef INCLUDE_UNITTESTS_LOADING_HH
2 #define INCLUDE_UNITTESTS_LOADING_HH
4 #include <gtest/gtest.h>
5 #include <Unittests/unittests_common.hh>
13 virtual void SetUp() {
19 virtual void TearDown() {
46 EXPECT_EQ(7526u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
47 EXPECT_EQ(22572u, mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
48 EXPECT_EQ(15048u, mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
65 EXPECT_EQ(7526u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
66 EXPECT_EQ(22572u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
67 EXPECT_EQ(15048u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
84 EXPECT_EQ(7526u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
85 EXPECT_EQ(22572u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
86 EXPECT_EQ(15048u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
101 EXPECT_TRUE(ok) <<
"Unable to load pointCloudBadEncoding.ply";
103 EXPECT_EQ(10u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
104 EXPECT_EQ(0u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
105 EXPECT_EQ(0u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
118 EXPECT_TRUE(ok) <<
"Unable to load pointCloudGoodEncoding.ply";
120 EXPECT_EQ(10u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
121 EXPECT_EQ(0u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
122 EXPECT_EQ(0u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
135 EXPECT_TRUE(ok) <<
"Unable to load cube-minimal.obj";
137 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
138 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
139 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
145 TEST_F(
OpenMeshLoader, LoadSimpleOBJCheckHalfEdgeAndVertexNormals) {
149 mesh_.request_halfedge_normals();
150 mesh_.request_vertex_normals();
155 std::string file_name =
"cube-minimal.obj";
159 EXPECT_TRUE(ok) << file_name;
161 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
162 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
163 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
164 EXPECT_EQ(36u , mesh_.n_halfedges()) <<
"The number of loaded halfedges is not correct!";
168 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(0))[0] ) <<
"Wrong vertex normal at vertex 0 component 0";
169 EXPECT_EQ(-1, mesh_.normal(mesh_.vertex_handle(0))[1] ) <<
"Wrong vertex normal at vertex 0 component 1";
170 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(0))[2] ) <<
"Wrong vertex normal at vertex 0 component 2";
172 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(3))[0] ) <<
"Wrong vertex normal at vertex 3 component 0";
173 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(3))[1] ) <<
"Wrong vertex normal at vertex 3 component 1";
174 EXPECT_EQ(1, mesh_.normal(mesh_.vertex_handle(3))[2] ) <<
"Wrong vertex normal at vertex 3 component 2";
176 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(4))[0] ) <<
"Wrong vertex normal at vertex 4 component 0";
177 EXPECT_EQ(-1, mesh_.normal(mesh_.vertex_handle(4))[1] ) <<
"Wrong vertex normal at vertex 4 component 1";
178 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(4))[2] ) <<
"Wrong vertex normal at vertex 4 component 2";
180 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(7))[0] ) <<
"Wrong vertex normal at vertex 7 component 0";
181 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(7))[1] ) <<
"Wrong vertex normal at vertex 7 component 1";
182 EXPECT_EQ(1, mesh_.normal(mesh_.vertex_handle(7))[2] ) <<
"Wrong vertex normal at vertex 7 component 2";
186 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(0))[0] ) <<
"Wrong halfedge normal at halfedge 0 component 0";
187 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(0))[1] ) <<
"Wrong halfedge normal at halfedge 0 component 1";
188 EXPECT_EQ(-1, mesh_.normal(mesh_.halfedge_handle(0))[2] ) <<
"Wrong halfedge normal at halfedge 0 component 2";
190 EXPECT_EQ(-1, mesh_.normal(mesh_.halfedge_handle(10))[0] ) <<
"Wrong halfedge normal at halfedge 10 component 0";
191 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(10))[1] ) <<
"Wrong halfedge normal at halfedge 10 component 1";
192 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(10))[2] ) <<
"Wrong halfedge normal at halfedge 10 component 2";
194 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(19))[0] ) <<
"Wrong halfedge normal at halfedge 19 component 0";
195 EXPECT_EQ(1, mesh_.normal(mesh_.halfedge_handle(19))[1] ) <<
"Wrong halfedge normal at halfedge 19 component 1";
196 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(19))[2] ) <<
"Wrong halfedge normal at halfedge 19 component 2";
198 EXPECT_EQ(1, mesh_.normal(mesh_.halfedge_handle(24))[0] ) <<
"Wrong halfedge normal at halfedge 24 component 0";
199 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(24))[1] ) <<
"Wrong halfedge normal at halfedge 24 component 1";
200 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(24))[2] ) <<
"Wrong halfedge normal at halfedge 24 component 2";
202 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(30))[0] ) <<
"Wrong halfedge normal at halfedge 30 component 0";
203 EXPECT_EQ(-1, mesh_.normal(mesh_.halfedge_handle(30))[1] ) <<
"Wrong halfedge normal at halfedge 30 component 1";
204 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(30))[2] ) <<
"Wrong halfedge normal at halfedge 30 component 2";
206 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(35))[0] ) <<
"Wrong halfedge normal at halfedge 35 component 0";
207 EXPECT_EQ(0, mesh_.normal(mesh_.halfedge_handle(35))[1] ) <<
"Wrong halfedge normal at halfedge 35 component 1";
208 EXPECT_EQ(1, mesh_.normal(mesh_.halfedge_handle(35))[2] ) <<
"Wrong halfedge normal at halfedge 35 component 2";
210 mesh_.release_vertex_normals();
211 mesh_.release_halfedge_normals();
218 TEST_F(
OpenMeshLoader, LoadSimpleOBJForceVertexColorsAlthoughNotAvailable) {
222 mesh_.request_vertex_colors();
224 std::string file_name =
"cube-minimal.obj";
231 EXPECT_TRUE(ok) << file_name;
233 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
234 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
235 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
236 EXPECT_EQ(36u , mesh_.n_halfedges()) <<
"The number of loaded halfedges is not correct!";
248 mesh_.request_halfedge_texcoords2D();
253 std::string file_name =
"cube-minimal-texCoords.obj";
257 EXPECT_TRUE(ok) << file_name;
259 EXPECT_EQ(1, mesh_.texcoord2D(mesh_.halfedge_handle(0))[0] ) <<
"Wrong texCoord at halfedge 0 component 0";
260 EXPECT_EQ(1, mesh_.texcoord2D(mesh_.halfedge_handle(0))[1] ) <<
"Wrong texCoord at halfedge 0 component 1";
262 EXPECT_EQ(3, mesh_.texcoord2D(mesh_.halfedge_handle(10))[0] ) <<
"Wrong texCoord at halfedge 1 component 0";
263 EXPECT_EQ(3, mesh_.texcoord2D(mesh_.halfedge_handle(10))[1] ) <<
"Wrong texCoord at halfedge 1 component 1";
265 EXPECT_EQ(6, mesh_.texcoord2D(mesh_.halfedge_handle(19))[0] ) <<
"Wrong texCoord at halfedge 4 component 0";
266 EXPECT_EQ(6, mesh_.texcoord2D(mesh_.halfedge_handle(19))[1] ) <<
"Wrong texCoord at halfedge 4 component 1";
268 EXPECT_EQ(7, mesh_.texcoord2D(mesh_.halfedge_handle(24))[0] ) <<
"Wrong texCoord at halfedge 7 component 0";
269 EXPECT_EQ(7, mesh_.texcoord2D(mesh_.halfedge_handle(24))[1] ) <<
"Wrong texCoord at halfedge 7 component 1";
271 EXPECT_EQ(9, mesh_.texcoord2D(mesh_.halfedge_handle(30))[0] ) <<
"Wrong texCoord at halfedge 9 component 0";
272 EXPECT_EQ(9, mesh_.texcoord2D(mesh_.halfedge_handle(30))[1] ) <<
"Wrong texCoord at halfedge 9 component 1";
274 EXPECT_EQ(12, mesh_.texcoord2D(mesh_.halfedge_handle(35))[0] ) <<
"Wrong texCoord at halfedge 11 component 0";
275 EXPECT_EQ(12, mesh_.texcoord2D(mesh_.halfedge_handle(35))[1] ) <<
"Wrong texCoord at halfedge 11 component 1";
277 mesh_.release_halfedge_texcoords2D();
284 TEST_F(
OpenMeshLoader, LoadSimpleOBJWithVertexColorsAfterVertices) {
288 mesh_.request_vertex_colors();
295 EXPECT_TRUE(ok) <<
"Unable to load cube-minimal-vertex-colors-after-vertex-definition.obj";
297 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
298 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
299 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
301 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(0))[0] ) <<
"Wrong vertex color at vertex 0 component 0";
302 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(0))[1] ) <<
"Wrong vertex color at vertex 0 component 1";
303 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(0))[2] ) <<
"Wrong vertex color at vertex 0 component 2";
305 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(3))[0] ) <<
"Wrong vertex color at vertex 3 component 0";
306 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(3))[1] ) <<
"Wrong vertex color at vertex 3 component 1";
307 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(3))[2] ) <<
"Wrong vertex color at vertex 3 component 2";
309 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(4))[0] ) <<
"Wrong vertex color at vertex 4 component 0";
310 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(4))[1] ) <<
"Wrong vertex color at vertex 4 component 1";
311 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(4))[2] ) <<
"Wrong vertex color at vertex 4 component 2";
313 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(7))[0] ) <<
"Wrong vertex color at vertex 7 component 0";
314 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(7))[1] ) <<
"Wrong vertex color at vertex 7 component 1";
315 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(7))[2] ) <<
"Wrong vertex color at vertex 7 component 2";
317 mesh_.release_vertex_colors();
327 mesh_.request_vertex_colors();
334 EXPECT_TRUE(ok) <<
"Unable to load cube-minimal-vertex-colors-as-vc-lines.obj";
336 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
337 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
338 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
340 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(0))[0] ) <<
"Wrong vertex color at vertex 0 component 0";
341 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(0))[1] ) <<
"Wrong vertex color at vertex 0 component 1";
342 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(0))[2] ) <<
"Wrong vertex color at vertex 0 component 2";
344 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(3))[0] ) <<
"Wrong vertex color at vertex 3 component 0";
345 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(3))[1] ) <<
"Wrong vertex color at vertex 3 component 1";
346 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(3))[2] ) <<
"Wrong vertex color at vertex 3 component 2";
348 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(4))[0] ) <<
"Wrong vertex color at vertex 4 component 0";
349 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(4))[1] ) <<
"Wrong vertex color at vertex 4 component 1";
350 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(4))[2] ) <<
"Wrong vertex color at vertex 4 component 2";
352 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(7))[0] ) <<
"Wrong vertex color at vertex 7 component 0";
353 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(7))[1] ) <<
"Wrong vertex color at vertex 7 component 1";
354 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(7))[2] ) <<
"Wrong vertex color at vertex 7 component 2";
356 mesh_.release_vertex_colors();
369 EXPECT_TRUE(ok) <<
"Unable to load cube-minimal.ply";
371 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
372 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
373 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
380 TEST_F(
OpenMeshLoader, LoadSimplePLYForceVertexColorsAlthoughNotAvailable) {
384 mesh_.request_vertex_colors();
386 std::string file_name =
"cube-minimal.ply";
393 EXPECT_TRUE(ok) << file_name;
395 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
396 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
397 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
398 EXPECT_EQ(36u , mesh_.n_halfedges()) <<
"The number of loaded halfedges is not correct!";
400 EXPECT_FALSE(options.vertex_has_normal()) <<
"Wrong user options are returned!";
401 EXPECT_FALSE(options.vertex_has_texcoord()) <<
"Wrong user options are returned!";
402 EXPECT_FALSE(options.vertex_has_color()) <<
"Wrong user options are returned!";
412 mesh_.request_vertex_colors();
419 EXPECT_TRUE(ok) <<
"Unable to load cube-minimal-vertexColors.ply";
421 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
422 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
423 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
425 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(0))[0] ) <<
"Wrong vertex color at vertex 0 component 0";
426 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(0))[1] ) <<
"Wrong vertex color at vertex 0 component 1";
427 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(0))[2] ) <<
"Wrong vertex color at vertex 0 component 2";
429 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(3))[0] ) <<
"Wrong vertex color at vertex 3 component 0";
430 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(3))[1] ) <<
"Wrong vertex color at vertex 3 component 1";
431 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(3))[2] ) <<
"Wrong vertex color at vertex 3 component 2";
433 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(4))[0] ) <<
"Wrong vertex color at vertex 4 component 0";
434 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(4))[1] ) <<
"Wrong vertex color at vertex 4 component 1";
435 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(4))[2] ) <<
"Wrong vertex color at vertex 4 component 2";
437 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(7))[0] ) <<
"Wrong vertex color at vertex 7 component 0";
438 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(7))[1] ) <<
"Wrong vertex color at vertex 7 component 1";
439 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(7))[2] ) <<
"Wrong vertex color at vertex 7 component 2";
441 EXPECT_FALSE(options.vertex_has_normal()) <<
"Wrong user options are returned!";
442 EXPECT_FALSE(options.vertex_has_texcoord()) <<
"Wrong user options are returned!";
443 EXPECT_TRUE(options.vertex_has_color()) <<
"Wrong user options are returned!";
445 mesh_.release_vertex_colors();
455 mesh_.request_vertex_texcoords2D();
462 EXPECT_TRUE(ok) <<
"Unable to load cube-minimal-texCoords.ply";
464 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
465 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
466 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
468 EXPECT_EQ(10, mesh_.texcoord2D(mesh_.vertex_handle(0))[0] ) <<
"Wrong vertex color at vertex 0 component 0";
469 EXPECT_EQ(10, mesh_.texcoord2D(mesh_.vertex_handle(0))[1] ) <<
"Wrong vertex color at vertex 0 component 1";
471 EXPECT_EQ(6, mesh_.texcoord2D(mesh_.vertex_handle(2))[0] ) <<
"Wrong vertex color at vertex 2 component 0";
472 EXPECT_EQ(6, mesh_.texcoord2D(mesh_.vertex_handle(2))[1] ) <<
"Wrong vertex color at vertex 2 component 1";
474 EXPECT_EQ(9, mesh_.texcoord2D(mesh_.vertex_handle(4))[0] ) <<
"Wrong vertex color at vertex 4 component 0";
475 EXPECT_EQ(9, mesh_.texcoord2D(mesh_.vertex_handle(4))[1] ) <<
"Wrong vertex color at vertex 4 component 1";
477 EXPECT_EQ(12, mesh_.texcoord2D(mesh_.vertex_handle(7))[0] ) <<
"Wrong vertex color at vertex 7 component 0";
478 EXPECT_EQ(12, mesh_.texcoord2D(mesh_.vertex_handle(7))[1] ) <<
"Wrong vertex color at vertex 7 component 1";
481 EXPECT_FALSE(options.vertex_has_normal()) <<
"Wrong user options are returned!";
482 EXPECT_TRUE(options.vertex_has_texcoord()) <<
"Wrong user options are returned!";
483 EXPECT_FALSE(options.vertex_has_color()) <<
"Wrong user options are returned!";
485 mesh_.release_vertex_texcoords2D();
495 mesh_.request_vertex_normals();
502 EXPECT_TRUE(ok) <<
"Unable to load cube-minimal-normals.ply";
504 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
505 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
506 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
508 EXPECT_TRUE(options.vertex_has_normal()) <<
"Wrong user options are returned!";
509 EXPECT_FALSE(options.vertex_has_texcoord()) <<
"Wrong user options are returned!";
510 EXPECT_FALSE(options.vertex_has_color()) <<
"Wrong user options are returned!";
513 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(0))[0] ) <<
"Wrong normal at vertex 0 component 0";
514 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(0))[1] ) <<
"Wrong normal at vertex 0 component 1";
515 EXPECT_EQ(1, mesh_.normal(mesh_.vertex_handle(0))[2] ) <<
"Wrong normal at vertex 0 component 2";
517 EXPECT_EQ(1, mesh_.normal(mesh_.vertex_handle(3))[0] ) <<
"Wrong normal at vertex 3 component 0";
518 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(3))[1] ) <<
"Wrong normal at vertex 3 component 1";
519 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(3))[2] ) <<
"Wrong normal at vertex 3 component 2";
521 EXPECT_EQ(1, mesh_.normal(mesh_.vertex_handle(4))[0] ) <<
"Wrong normal at vertex 4 component 0";
522 EXPECT_EQ(0, mesh_.normal(mesh_.vertex_handle(4))[1] ) <<
"Wrong normal at vertex 4 component 1";
523 EXPECT_EQ(1, mesh_.normal(mesh_.vertex_handle(4))[2] ) <<
"Wrong normal at vertex 4 component 2";
525 EXPECT_EQ(1, mesh_.normal(mesh_.vertex_handle(7))[0] ) <<
"Wrong normal at vertex 7 component 0";
526 EXPECT_EQ(1, mesh_.normal(mesh_.vertex_handle(7))[1] ) <<
"Wrong normal at vertex 7 component 1";
527 EXPECT_EQ(2, mesh_.normal(mesh_.vertex_handle(7))[2] ) <<
"Wrong normal at vertex 7 component 2";
529 mesh_.release_vertex_normals();
536 TEST_F(
OpenMeshLoader, LoadSimpleOMForceVertexColorsAlthoughNotAvailable) {
540 mesh_.request_vertex_colors();
542 std::string file_name =
"cube-minimal.om";
549 EXPECT_TRUE(ok) << file_name;
551 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
552 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
553 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
554 EXPECT_EQ(36u , mesh_.n_halfedges()) <<
"The number of loaded halfedges is not correct!";
556 EXPECT_FALSE(options.vertex_has_normal()) <<
"Wrong user options are returned!";
557 EXPECT_FALSE(options.vertex_has_texcoord()) <<
"Wrong user options are returned!";
558 EXPECT_FALSE(options.vertex_has_color()) <<
"Wrong user options are returned!";
568 mesh_.request_vertex_texcoords2D();
575 EXPECT_TRUE(ok) <<
"Unable to load cube-minimal-texCoords.om";
577 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
578 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
579 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
581 EXPECT_EQ(10, mesh_.texcoord2D(mesh_.vertex_handle(0))[0] ) <<
"Wrong vertex color at vertex 0 component 0";
582 EXPECT_EQ(10, mesh_.texcoord2D(mesh_.vertex_handle(0))[1] ) <<
"Wrong vertex color at vertex 0 component 1";
584 EXPECT_EQ(6, mesh_.texcoord2D(mesh_.vertex_handle(2))[0] ) <<
"Wrong vertex color at vertex 2 component 0";
585 EXPECT_EQ(6, mesh_.texcoord2D(mesh_.vertex_handle(2))[1] ) <<
"Wrong vertex color at vertex 2 component 1";
587 EXPECT_EQ(9, mesh_.texcoord2D(mesh_.vertex_handle(4))[0] ) <<
"Wrong vertex color at vertex 4 component 0";
588 EXPECT_EQ(9, mesh_.texcoord2D(mesh_.vertex_handle(4))[1] ) <<
"Wrong vertex color at vertex 4 component 1";
590 EXPECT_EQ(12, mesh_.texcoord2D(mesh_.vertex_handle(7))[0] ) <<
"Wrong vertex color at vertex 7 component 0";
591 EXPECT_EQ(12, mesh_.texcoord2D(mesh_.vertex_handle(7))[1] ) <<
"Wrong vertex color at vertex 7 component 1";
594 EXPECT_FALSE(options.vertex_has_normal()) <<
"Wrong user options are returned!";
595 EXPECT_TRUE(options.vertex_has_texcoord()) <<
"Wrong user options are returned!";
596 EXPECT_FALSE(options.vertex_has_color()) <<
"Wrong user options are returned!";
598 mesh_.release_vertex_texcoords2D();
608 mesh_.request_vertex_colors();
615 EXPECT_TRUE(ok) <<
"Unable to load cube-minimal-vertexColors.om";
617 EXPECT_EQ(8u , mesh_.n_vertices()) <<
"The number of loaded vertices is not correct!";
618 EXPECT_EQ(18u , mesh_.n_edges()) <<
"The number of loaded edges is not correct!";
619 EXPECT_EQ(12u , mesh_.n_faces()) <<
"The number of loaded faces is not correct!";
621 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(0))[0] ) <<
"Wrong vertex color at vertex 0 component 0";
622 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(0))[1] ) <<
"Wrong vertex color at vertex 0 component 1";
623 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(0))[2] ) <<
"Wrong vertex color at vertex 0 component 2";
625 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(3))[0] ) <<
"Wrong vertex color at vertex 3 component 0";
626 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(3))[1] ) <<
"Wrong vertex color at vertex 3 component 1";
627 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(3))[2] ) <<
"Wrong vertex color at vertex 3 component 2";
629 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(4))[0] ) <<
"Wrong vertex color at vertex 4 component 0";
630 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(4))[1] ) <<
"Wrong vertex color at vertex 4 component 1";
631 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(4))[2] ) <<
"Wrong vertex color at vertex 4 component 2";
633 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(7))[0] ) <<
"Wrong vertex color at vertex 7 component 0";
634 EXPECT_EQ(0, mesh_.color(mesh_.vertex_handle(7))[1] ) <<
"Wrong vertex color at vertex 7 component 1";
635 EXPECT_EQ(255, mesh_.color(mesh_.vertex_handle(7))[2] ) <<
"Wrong vertex color at vertex 7 component 2";
637 EXPECT_FALSE(options.vertex_has_normal()) <<
"Wrong user options are returned!";
638 EXPECT_FALSE(options.vertex_has_texcoord()) <<
"Wrong user options are returned!";
639 EXPECT_TRUE(options.vertex_has_color()) <<
"Wrong user options are returned!";
641 mesh_.release_vertex_colors();
644 #endif // INCLUDE GUARD