1 #include <gtest/gtest.h> 2 #include <Unittests/unittests_common.hh> 3 4 #include <iostream> 5 6 struct CustomTraitsVec2i : OpenMesh::DefaultTraits 7 { 8 typedef OpenMesh::Vec2i Point; 9 }; 10 11 12 13 typedef OpenMesh::PolyMesh_ArrayKernelT<CustomTraitsVec2i> PolyMeshVec2i; 14 15 16 17 /* 18 * OpenMesh Poly with Vec2i 19 */ 20 21 class OpenMeshBasePolyVec2i : public testing::Test { 22 23 protected: 24 25 // This function is called before each test is run SetUp()26 virtual void SetUp() { 27 28 // Do some initial stuff with the member data here... 29 } 30 31 // This function is called after all tests are through TearDown()32 virtual void TearDown() { 33 34 // Do some final stuff with the member data here... 35 } 36 37 // This member will be accessible in all tests 38 PolyMeshVec2i mesh_; 39 }; 40 41 42 43 namespace { 44 45 /* 46 * ==================================================================== 47 * Define tests below 48 * ==================================================================== 49 */ 50 51 52 /* 53 * Checking for feature edges based on angle 54 */ TEST_F(OpenMeshBasePolyVec2i,Instance_Vec2i_Mesh)55TEST_F(OpenMeshBasePolyVec2i, Instance_Vec2i_Mesh) { 56 57 mesh_.clear(); 58 59 // Add some vertices 60 PolyMeshVec2i::VertexHandle vhandle[4]; 61 62 vhandle[0] = mesh_.add_vertex(PolyMeshVec2i::Point(0, 0)); 63 vhandle[1] = mesh_.add_vertex(PolyMeshVec2i::Point(0, 1)); 64 vhandle[2] = mesh_.add_vertex(PolyMeshVec2i::Point(1, 1)); 65 66 // Add face 67 std::vector<PolyMeshVec2i::VertexHandle> face_vhandles; 68 69 face_vhandles.push_back(vhandle[0]); 70 face_vhandles.push_back(vhandle[1]); 71 face_vhandles.push_back(vhandle[2]); 72 mesh_.add_face(face_vhandles); 73 74 // =============================================== 75 // Setup complete 76 // =============================================== 77 78 // Check one Request only vertex normals 79 // Face normals are required for vertex and halfedge normals, so 80 // that prevent access to non existing properties are in place 81 82 mesh_.request_vertex_normals(); 83 mesh_.request_halfedge_normals(); 84 mesh_.request_face_normals(); 85 86 } 87 88 } 89