VTK-m  2.0
TopologyElementTag.h
Go to the documentation of this file.
1 //============================================================================
2 // Copyright (c) Kitware, Inc.
3 // All rights reserved.
4 // See LICENSE.txt for details.
5 //
6 // This software is distributed WITHOUT ANY WARRANTY; without even
7 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8 // PURPOSE. See the above copyright notice for more information.
9 //============================================================================
10 #ifndef vtk_m_TopologyElementTag_h
11 #define vtk_m_TopologyElementTag_h
12 
13 #include <vtkm/Types.h>
14 
15 namespace vtkm
16 {
17 
25 {
26 };
27 
35 {
36 };
37 
45 {
46 };
47 
55 {
56 };
57 
58 namespace internal
59 {
60 
67 template <typename T>
68 struct TopologyElementTagCheck : std::false_type
69 {
70 };
71 
72 template <>
73 struct TopologyElementTagCheck<vtkm::TopologyElementTagCell> : std::true_type
74 {
75 };
76 
77 template <>
78 struct TopologyElementTagCheck<vtkm::TopologyElementTagPoint> : std::true_type
79 {
80 };
81 
82 template <>
83 struct TopologyElementTagCheck<vtkm::TopologyElementTagEdge> : std::true_type
84 {
85 };
86 
87 template <>
88 struct TopologyElementTagCheck<vtkm::TopologyElementTagFace> : std::true_type
89 {
90 };
91 
92 #define VTKM_IS_TOPOLOGY_ELEMENT_TAG(type) \
93  static_assert(::vtkm::internal::TopologyElementTagCheck<type>::value, \
94  "Invalid Topology Element Tag being used")
95 
96 } // namespace internal
97 
98 } // namespace vtkm
99 
100 #endif //vtk_m_TopologyElementTag_h
vtkm::TopologyElementTagPoint
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:34
vtkm::TopologyElementTagFace
A tag used to identify the face elements in a topology.
Definition: TopologyElementTag.h:54
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
Types.h
vtkm::TopologyElementTagEdge
A tag used to identify the edge elements in a topology.
Definition: TopologyElementTag.h:44
vtkm::TopologyElementTagCell
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:24