diff --git a/src/Unittests/unittests_read_write_OM.cc b/src/Unittests/unittests_read_write_OM.cc index 6de7336c..03f19c1e 100644 --- a/src/Unittests/unittests_read_write_OM.cc +++ b/src/Unittests/unittests_read_write_OM.cc @@ -9,7 +9,16 @@ struct RegisteredDataType{ double dval; bool bval; OpenMesh::Vec4f vec4fval; + RegisteredDataType() : ival(0), dval(0.0) , bval(false), vec4fval(OpenMesh::Vec4f(0,0,0,0)) {} + RegisteredDataType(int i) : ival(i), dval(i*1.234567), bval(i%2) , vec4fval(OpenMesh::Vec4f(dval,2*dval,3*dval,4*dval)) {} + bool operator==(const RegisteredDataType& _other) const + { + return ival == _other.ival && + dval == _other.dval && + bval == _other.bval && + vec4fval == _other.vec4fval; + } }; namespace OpenMesh @@ -1517,16 +1526,18 @@ std::string get_type_string(OpenMesh::EdgeHandle) { return "Edge"; } std::string get_type_string(OpenMesh::HalfedgeHandle) { return "Halfedge"; } std::string get_type_string(OpenMesh::VertexHandle) { return "Vertex"; } -std::string get_type_string(char) { return "char"; } -std::string get_type_string(signed char) { return "signed char"; } -std::string get_type_string(double) { return "double"; } -std::string get_type_string(float) { return "float"; } -std::string get_type_string(int) { return "int"; } -std::string get_type_string(short) { return "short"; } -std::string get_type_string(unsigned char) { return "unsigned char"; } -std::string get_type_string(unsigned int) { return "unsigned int"; } -std::string get_type_string(unsigned short) { return "unsigned short"; } -std::string get_type_string(bool) { return "bool"; } +std::string get_type_string(char) { return "char"; } +std::string get_type_string(signed char) { return "signed char"; } +std::string get_type_string(double) { return "double"; } +std::string get_type_string(float) { return "float"; } +std::string get_type_string(int) { return "int"; } +std::string get_type_string(short) { return "short"; } +std::string get_type_string(unsigned char) { return "unsigned char"; } +std::string get_type_string(unsigned int) { return "unsigned int"; } +std::string get_type_string(unsigned short) { return "unsigned short"; } +std::string get_type_string(bool) { return "bool"; } +std::string get_type_string(std::string) { return "string"; } +std::string get_type_string(RegisteredDataType) { return "RegisteredDataType"; } template std::string get_type_string(std::vector) { return "std::vector of " + get_type_string(T()); } @@ -1651,23 +1662,28 @@ void do_all_property_types(MeshT& _mesh, PropertyAction action, int version) if(version >= 22) { - do_property> (_mesh, action); - do_property> (_mesh, action); - do_property> (_mesh, action); - do_property> (_mesh, action); - do_property> (_mesh, action); + do_property (_mesh, action); - do_property>> (_mesh, action); - do_property>>(_mesh, action); - do_property>> (_mesh, action); - do_property>> (_mesh, action); - do_property>> (_mesh, action); + do_property> (_mesh, action); + do_property> (_mesh, action); + do_property> (_mesh, action); + do_property> (_mesh, action); + do_property> (_mesh, action); + do_property> (_mesh, action); - do_property>>> (_mesh, action); - do_property>>>(_mesh, action); - do_property>>> (_mesh, action); - do_property>>> (_mesh, action); - do_property>>> (_mesh, action); + do_property>> (_mesh, action); + do_property>> (_mesh, action); + do_property>> (_mesh, action); + do_property>> (_mesh, action); + do_property>> (_mesh, action); + do_property>> (_mesh, action); + + do_property>>> (_mesh, action); + do_property>>> (_mesh, action); + do_property>>> (_mesh, action); + do_property>>> (_mesh, action); + do_property>>> (_mesh, action); + do_property>>> (_mesh, action); } do_all_property_types_vec_all_dim(_mesh, action); @@ -1889,15 +1905,18 @@ TEST_F(OpenMeshReadWriteOM, WriteAndLoadBoolCheckSpaces) { } +OM_REGISTER_PROPERTY_TYPE(RegisteredDataType) OM_REGISTER_PROPERTY_TYPE(std::vector) +OM_REGISTER_PROPERTY_TYPE(std::vector) OM_REGISTER_PROPERTY_TYPE(std::vector>) OM_REGISTER_PROPERTY_TYPE(std::vector>) OM_REGISTER_PROPERTY_TYPE(std::vector>) OM_REGISTER_PROPERTY_TYPE(std::vector>) OM_REGISTER_PROPERTY_TYPE(std::vector>) +OM_REGISTER_PROPERTY_TYPE(std::vector>) OM_REGISTER_PROPERTY_TYPE(std::vector>>) OM_REGISTER_PROPERTY_TYPE(std::vector>>) OM_REGISTER_PROPERTY_TYPE(std::vector>>) OM_REGISTER_PROPERTY_TYPE(std::vector>>) OM_REGISTER_PROPERTY_TYPE(std::vector>>) -OM_REGISTER_PROPERTY_TYPE(RegisteredDataType) +OM_REGISTER_PROPERTY_TYPE(std::vector>>)