From bdd10562d204473fb13295f23c8f58e1774796a7 Mon Sep 17 00:00:00 2001 From: Alexandra Heuschling Date: Wed, 6 Jan 2021 23:30:31 +0100 Subject: [PATCH] add binary for handles and add string recognition support for meshhandle --- src/OpenMesh/Core/IO/SR_binary_spec.hh | 8 +++++++- src/OpenMesh/Core/Utils/PropertyCreator.cc | 9 +++++---- src/OpenMesh/Core/Utils/typename.hh | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/OpenMesh/Core/IO/SR_binary_spec.hh b/src/OpenMesh/Core/IO/SR_binary_spec.hh index 6d7bc2cc..6fbdf996 100644 --- a/src/OpenMesh/Core/IO/SR_binary_spec.hh +++ b/src/OpenMesh/Core/IO/SR_binary_spec.hh @@ -130,6 +130,13 @@ SIMPLE_BINARY(uint16_t); SIMPLE_BINARY(uint32_t); SIMPLE_BINARY(uint64_t); +//handles +SIMPLE_BINARY(OpenMesh::FaceHandle); +SIMPLE_BINARY(OpenMesh::EdgeHandle); +SIMPLE_BINARY(OpenMesh::HalfedgeHandle); +SIMPLE_BINARY(OpenMesh::VertexHandle); +SIMPLE_BINARY(OpenMesh::MeshHandle); + #undef SIMPLE_BINARY // For unsigned long which is of size 64 bit on 64 bit @@ -259,7 +266,6 @@ template <> struct binary< std::string > { } }; - template <> struct binary { typedef OpenMesh::Attributes::StatusInfo value_type; diff --git a/src/OpenMesh/Core/Utils/PropertyCreator.cc b/src/OpenMesh/Core/Utils/PropertyCreator.cc index 38912284..d9b5bbf8 100644 --- a/src/OpenMesh/Core/Utils/PropertyCreator.cc +++ b/src/OpenMesh/Core/Utils/PropertyCreator.cc @@ -62,10 +62,11 @@ bool PropertyCreator::can_you_create(const std::string& _type_name) } /* namespace OpenMesh */ -//OM_REGISTER_PROPERTY_TYPE(OpenMesh::FaceHandle) -//OM_REGISTER_PROPERTY_TYPE(OpenMesh::EdgeHandle) -//OM_REGISTER_PROPERTY_TYPE(OpenMesh::HalfedgeHandle) -//OM_REGISTER_PROPERTY_TYPE(OpenMesh::VertexHandle) +OM_REGISTER_PROPERTY_TYPE(OpenMesh::FaceHandle) +OM_REGISTER_PROPERTY_TYPE(OpenMesh::EdgeHandle) +OM_REGISTER_PROPERTY_TYPE(OpenMesh::HalfedgeHandle) +OM_REGISTER_PROPERTY_TYPE(OpenMesh::VertexHandle) +OM_REGISTER_PROPERTY_TYPE(OpenMesh::MeshHandle) OM_REGISTER_PROPERTY_TYPE(bool) OM_REGISTER_PROPERTY_TYPE(char) diff --git a/src/OpenMesh/Core/Utils/typename.hh b/src/OpenMesh/Core/Utils/typename.hh index f553f392..0c903ffa 100644 --- a/src/OpenMesh/Core/Utils/typename.hh +++ b/src/OpenMesh/Core/Utils/typename.hh @@ -30,9 +30,9 @@ std::string get_type_name() inline std::string get_string_for_type(OpenMesh::FaceHandle){ return "facehandle";} inline std::string get_string_for_type(OpenMesh::EdgeHandle){ return "edgehandle";} - inline std::string get_string_for_type(OpenMesh::HalfedgeHandle){ return "halfedgehandle";} inline std::string get_string_for_type(OpenMesh::VertexHandle){ return "vertexhandle";} +inline std::string get_string_for_type(OpenMesh::MeshHandle){ return "meshhandle";} inline std::string get_string_for_type(bool){ return "bool";} inline std::string get_string_for_type(char){ return "char";}