Developer Documentation

HandleToPropHandle.hh
1 #ifndef HANDLETOPROPHANDLE_HH_
2 #define HANDLETOPROPHANDLE_HH_
3
4 #include <OpenMesh/Core/Mesh/Handles.hh>
5 #include <OpenMesh/Core/Utils/Property.hh>
6
7 namespace OpenMesh {
8
9 template<typename ElementT, typename T>
10 struct HandleToPropHandle {
11 };
12
13 template<typename T>
14 struct HandleToPropHandle<OpenMesh::VertexHandle, T> {
15 using type = OpenMesh::VPropHandleT<T>;
16 };
17
18 template<typename T>
19 struct HandleToPropHandle<OpenMesh::HalfedgeHandle, T> {
20 using type = OpenMesh::HPropHandleT<T>;
21 };
22
23 template<typename T>
24 struct HandleToPropHandle<OpenMesh::EdgeHandle, T> {
25 using type = OpenMesh::EPropHandleT<T>;
26 };
27
28 template<typename T>
29 struct HandleToPropHandle<OpenMesh::FaceHandle, T> {
30 using type = OpenMesh::FPropHandleT<T>;
31 };
32
33 template<typename T>
34 struct HandleToPropHandle<void, T> {
35 using type = OpenMesh::MPropHandleT<T>;
36 };
37
38 template<typename T>
39 struct HandleToPropHandle<OpenMesh::MeshHandle, T> {
40 using type = OpenMesh::MPropHandleT<T>;
41 };
42
43 } // namespace OpenMesh
44
45 #endif // HANDLETOPROPHANDLE_HH_
OpenMesh::MPropHandleT
Definition: Property.hh:544
OpenMesh::EdgeHandle
Handle for a edge entity.
Definition: Handles.hh:134
OpenMesh::FaceHandle
Handle for a face entity.
Definition: Handles.hh:141
OpenMesh::VPropHandleT
Definition: Property.hh:484
OpenMesh::MeshHandle
Handle type for meshes to simplify some template programming.
Definition: Handles.hh:148
OpenMesh::HPropHandleT
Definition: Property.hh:499
OpenMesh::EPropHandleT
Definition: Property.hh:514
OpenMesh::HalfedgeHandle
Handle for a halfedge entity.
Definition: Handles.hh:127
OpenMesh::VertexHandle
Handle for a vertex entity.
Definition: Handles.hh:120
OpenMesh
Definition: MeshItems.hh:59
OpenMesh::FPropHandleT
Definition: Property.hh:529
OpenMesh::HandleToPropHandle
Definition: HandleToPropHandle.hh:10