OpenMesh: OpenMesh/Core/Utils/HandleToPropHandle.hh Source File

| 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 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
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:59
OpenMesh::VertexHandle
Handle for a vertex entity.
Definition: Handles.hh:121
OpenMesh::HalfedgeHandle
Handle for a halfedge entity.
Definition: Handles.hh:128
OpenMesh::EdgeHandle
Handle for a edge entity.
Definition: Handles.hh:135
OpenMesh::FaceHandle
Handle for a face entity.
Definition: Handles.hh:142
OpenMesh::MeshHandle
Handle type for meshes to simplify some template programming.
Definition: Handles.hh:149
OpenMesh::HandleToPropHandle
Definition: HandleToPropHandle.hh:10
OpenMesh::VPropHandleT
Handle representing a vertex property.
Definition: Property.hh:417
OpenMesh::HPropHandleT
Handle representing a halfedge property.
Definition: Property.hh:432
OpenMesh::EPropHandleT
Handle representing an edge property.
Definition: Property.hh:447
OpenMesh::FPropHandleT
Handle representing a face property.
Definition: Property.hh:462
OpenMesh::MPropHandleT
Handle representing a mesh property.
Definition: Property.hh:477