| OpenMesh

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 } // namespace OpenMesh
39
40 #endif // HANDLETOPROPHANDLE_HH_
OpenMesh::HalfedgeHandle
Handle for a halfedge entity.
Definition: Handles.hh:127
OpenMesh::FPropHandleT
Handle representing a face property.
Definition: Property.hh:524
OpenMesh::VPropHandleT
Handle representing a vertex property.
Definition: Property.hh:482
OpenMesh::VertexHandle
Handle for a vertex entity.
Definition: Handles.hh:120
OpenMesh::EdgeHandle
Handle for a edge entity.
Definition: Handles.hh:134
OpenMesh
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:59
OpenMesh::HandleToPropHandle
Definition: HandleToPropHandle.hh:10
OpenMesh::EPropHandleT
Handle representing an edge property.
Definition: Property.hh:510
OpenMesh::FaceHandle
Handle for a face entity.
Definition: Handles.hh:141
OpenMesh::MPropHandleT
Handle representing a mesh property.
Definition: Property.hh:538
OpenMesh::HPropHandleT
Handle representing a halfedge property.
Definition: Property.hh:496