TTK
Loading...
Searching...
No Matches
ttkMacros.h
Go to the documentation of this file.
1#pragma once
2
3class vtkIdTypeArray;
4class vtkIntArray;
5
6#define TTK_COMMA ,
7
8#ifdef TTK_ENABLE_64BIT_IDS
9using ttkSimplexIdTypeArray = vtkIdTypeArray;
10#else
11using ttkSimplexIdTypeArray = vtkIntArray;
12#endif
13
14#ifndef vtkSetEnumMacro
15#define vtkSetEnumMacro(name, enumType) \
16 virtual void Set##name(enumType _arg) { \
17 vtkDebugMacro(<< this->GetClassName() << " (" << this \
18 << "): setting " #name " to " \
19 << static_cast<std::underlying_type<enumType>::type>(_arg)); \
20 if(this->name != _arg) { \
21 this->name = _arg; \
22 this->Modified(); \
23 } \
24 }
25#endif
26
27#ifndef vtkGetEnumMacro
28#define vtkGetEnumMacro(name, enumType) \
29 virtual enumType Get##name() const { \
30 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): returning " \
31 << #name " of " \
32 << static_cast<std::underlying_type<enumType>::type>( \
33 this->name)); \
34 return this->name; \
35 }
36#endif
37
38#define ttkSetEnumMacro(name, enumType) \
39 virtual void Set##name(int _arg) { \
40 vtkDebugMacro(<< this->GetClassName() << " (" << this \
41 << "): setting " #name " to " << _arg); \
42 if(this->name != static_cast<enumType>(_arg)) { \
43 this->name = static_cast<enumType>(_arg); \
44 this->Modified(); \
45 } \
46 } \
47 vtkSetEnumMacro(name, enumType);
48
49#ifdef TTK_REDUCE_TEMPLATE_INSTANTIATIONS
50// reduced list of template instantiations by redefining vtkTemplateMacro
51#include <vtkSetGet.h>
52#ifdef vtkTemplateMacro
53#undef vtkTemplateMacro
54#define vtkTemplateMacro(call) \
55 vtkTemplateMacroCase(VTK_DOUBLE, double, call); \
56 vtkTemplateMacroCase(VTK_FLOAT, float, call); \
57 vtkTemplateMacroCase(VTK_INT, int, call); \
58 vtkTemplateMacroCase(VTK_LONG_LONG, long long, call);
59#endif // vtkTemplateMacro
60#endif // TTK_REDUCE_TEMPLATE_INSTANTIATIONS
61
62#define ttkVtkTemplateMacroCase( \
63 dataType, triangulationType, triangulationClass, call) \
64 case triangulationType: { \
65 typedef triangulationClass TTK_TT; \
66 switch(dataType) { vtkTemplateMacro((call)); }; \
67 }; break;
68
69#define ttkVtkTemplateMacro(dataType, triangulationType, call) \
70 switch(triangulationType) { \
71 ttkVtkTemplateMacroCase(dataType, ttk::Triangulation::Type::EXPLICIT, \
72 ttk::ExplicitTriangulation, call); \
73 ttkVtkTemplateMacroCase(dataType, ttk::Triangulation::Type::IMPLICIT, \
74 ttk::ImplicitNoPreconditions, call); \
75 ttkVtkTemplateMacroCase(dataType, \
76 ttk::Triangulation::Type::HYBRID_IMPLICIT, \
77 ttk::ImplicitWithPreconditions, call); \
78 ttkVtkTemplateMacroCase(dataType, ttk::Triangulation::Type::PERIODIC, \
79 ttk::PeriodicNoPreconditions, call); \
80 ttkVtkTemplateMacroCase(dataType, \
81 ttk::Triangulation::Type::HYBRID_PERIODIC, \
82 ttk::PeriodicWithPreconditions, call); \
83 ttkVtkTemplateMacroCase(dataType, ttk::Triangulation::Type::COMPACT, \
84 ttk::CompactTriangulation, call); \
85 }
86
87#define ttkVtkTemplate2MacroCase2( \
88 triangulationClass1, triangulationType2, triangulationClass2, call) \
89 case triangulationType2: { \
90 typedef triangulationClass1 TTK_TT1; \
91 typedef triangulationClass2 TTK_TT2; \
92 (call); \
93 }; break;
94
95#define ttkVtkTemplate2MacroCase1( \
96 triangulationType1, triangulationClass1, triangulationType2, call) \
97 case triangulationType1: { \
98 switch(triangulationType2) { \
99 ttkVtkTemplate2MacroCase2(triangulationClass1, \
100 ttk::Triangulation::Type::EXPLICIT, \
101 ttk::ExplicitTriangulation, call); \
102 ttkVtkTemplate2MacroCase2(triangulationClass1, \
103 ttk::Triangulation::Type::IMPLICIT, \
104 ttk::ImplicitNoPreconditions, call); \
105 ttkVtkTemplate2MacroCase2(triangulationClass1, \
106 ttk::Triangulation::Type::HYBRID_IMPLICIT, \
107 ttk::ImplicitWithPreconditions, call); \
108 ttkVtkTemplate2MacroCase2(triangulationClass1, \
109 ttk::Triangulation::Type::PERIODIC, \
110 ttk::PeriodicNoPreconditions, call); \
111 ttkVtkTemplate2MacroCase2(triangulationClass1, \
112 ttk::Triangulation::Type::HYBRID_PERIODIC, \
113 ttk::PeriodicWithPreconditions, call); \
114 ttkVtkTemplate2MacroCase2(triangulationClass1, \
115 ttk::Triangulation::Type::COMPACT, \
116 ttk::CompactTriangulation, call); \
117 } \
118 }; break;
119
120#define ttkVtkTemplate2Macro(triangulationType1, triangulationType2, call) \
121 switch(triangulationType1) { \
122 ttkVtkTemplate2MacroCase1(ttk::Triangulation::Type::EXPLICIT, \
123 ttk::ExplicitTriangulation, triangulationType2, \
124 call); \
125 ttkVtkTemplate2MacroCase1(ttk::Triangulation::Type::IMPLICIT, \
126 ttk::ImplicitNoPreconditions, \
127 triangulationType2, call); \
128 ttkVtkTemplate2MacroCase1(ttk::Triangulation::Type::HYBRID_IMPLICIT, \
129 ttk::ImplicitWithPreconditions, \
130 triangulationType2, call); \
131 ttkVtkTemplate2MacroCase1(ttk::Triangulation::Type::PERIODIC, \
132 ttk::PeriodicNoPreconditions, \
133 triangulationType2, call); \
134 ttkVtkTemplate2MacroCase1(ttk::Triangulation::Type::HYBRID_PERIODIC, \
135 ttk::PeriodicWithPreconditions, \
136 triangulationType2, call); \
137 ttkVtkTemplate2MacroCase1(ttk::Triangulation::Type::COMPACT, \
138 ttk::CompactTriangulation, triangulationType2, \
139 call); \
140 }
141
142#define ttkTemplate2IdMacro(call) \
143 vtkTemplate2MacroCase1(VTK_LONG_LONG, long long, call); \
144 vtkTemplate2MacroCase1(VTK_UNSIGNED_LONG_LONG, unsigned long long, call); \
145 vtkTemplate2MacroCase1(VTK_ID_TYPE, vtkIdType, call); \
146 vtkTemplate2MacroCase1(VTK_LONG, long, call); \
147 vtkTemplate2MacroCase1(VTK_UNSIGNED_LONG, unsigned long, call); \
148 vtkTemplate2MacroCase1(VTK_INT, int, call); \
149 vtkTemplate2MacroCase1(VTK_UNSIGNED_INT, unsigned int, call);
150
151#ifndef vtkTemplate2MacroCase1
152#define vtkTemplate2MacroCase1(type1N, type1, call) \
153 vtkTemplate2MacroCase2(type1N, type1, VTK_DOUBLE, double, call); \
154 vtkTemplate2MacroCase2(type1N, type1, VTK_FLOAT, float, call); \
155 vtkTemplate2MacroCase2(type1N, type1, VTK_LONG_LONG, long long, call); \
156 vtkTemplate2MacroCase2( \
157 type1N, type1, VTK_UNSIGNED_LONG_LONG, unsigned long long, call); \
158 vtkTemplate2MacroCase2(type1N, type1, VTK_ID_TYPE, vtkIdType, call); \
159 vtkTemplate2MacroCase2(type1N, type1, VTK_LONG, long, call); \
160 vtkTemplate2MacroCase2( \
161 type1N, type1, VTK_UNSIGNED_LONG, unsigned long, call); \
162 vtkTemplate2MacroCase2(type1N, type1, VTK_INT, int, call); \
163 vtkTemplate2MacroCase2(type1N, type1, VTK_UNSIGNED_INT, unsigned int, call); \
164 vtkTemplate2MacroCase2(type1N, type1, VTK_SHORT, short, call); \
165 vtkTemplate2MacroCase2( \
166 type1N, type1, VTK_UNSIGNED_SHORT, unsigned short, call); \
167 vtkTemplate2MacroCase2(type1N, type1, VTK_CHAR, char, call); \
168 vtkTemplate2MacroCase2(type1N, type1, VTK_SIGNED_CHAR, signed char, call); \
169 vtkTemplate2MacroCase2(type1N, type1, VTK_UNSIGNED_CHAR, unsigned char, call)
170#endif
171
172#ifndef vtkTemplate2MacroCase2
173#define vtkTemplate2MacroCase2(type1N, type1, type2N, type2, call) \
174 case vtkTemplate2PackMacro(type1N, type2N): { \
175 typedef type1 VTK_T1; \
176 typedef type2 VTK_T2; \
177 call; \
178 }; break
179#endif
180
181// -----------------------------------------------------------------------------
182
183#define ttkTypeMacroErrorCase(idx, type) \
184 default: { \
185 this->printErr("Unsupported " #idx "-th Template Data Type: " \
186 + std::to_string(static_cast<int>(type))); \
187 } break;
188
189#define ttkTypeMacroCase(enum, type, number, call) \
190 case enum: { \
191 typedef type T##number; \
192 call; \
193 } break;
194
195#define ttkTypeMacroT(group, call) \
196 switch(group) { \
197 ttkTypeMacroCase(ttk::Triangulation::Type::EXPLICIT, \
198 ttk::ExplicitTriangulation, 0, call); \
199 ttkTypeMacroCase( \
200 ttk::Triangulation::Type::COMPACT, ttk::CompactTriangulation, 0, call); \
201 ttkTypeMacroCase(ttk::Triangulation::Type::IMPLICIT, \
202 ttk::ImplicitNoPreconditions, 0, call); \
203 ttkTypeMacroCase(ttk::Triangulation::Type::HYBRID_IMPLICIT, \
204 ttk::ImplicitWithPreconditions, 0, call); \
205 ttkTypeMacroCase(ttk::Triangulation::Type::PERIODIC, \
206 ttk::PeriodicNoPreconditions, 0, call); \
207 ttkTypeMacroCase(ttk::Triangulation::Type::HYBRID_PERIODIC, \
208 ttk::PeriodicWithPreconditions, 0, call); \
209 ttkTypeMacroErrorCase(0, group); \
210 }
211
212#define ttkTypeMacroR(group, call) \
213 switch(group) { \
214 ttkTypeMacroCase(VTK_FLOAT, float, 0, call); \
215 ttkTypeMacroCase(VTK_DOUBLE, double, 0, call); \
216 ttkTypeMacroErrorCase(0, group); \
217 }
218
219#define ttkTypeMacroI(group, call) \
220 switch(group) { \
221 ttkTypeMacroCase(VTK_INT, int, 0, call); \
222 ttkTypeMacroCase(VTK_UNSIGNED_INT, unsigned int, 0, call); \
223 ttkTypeMacroCase(VTK_CHAR, char, 0, call); \
224 ttkTypeMacroCase(VTK_SIGNED_CHAR, signed char, 0, call); \
225 ttkTypeMacroCase(VTK_UNSIGNED_CHAR, unsigned char, 0, call); \
226 ttkTypeMacroCase(VTK_LONG, long, 0, call); \
227 ttkTypeMacroCase(VTK_LONG_LONG, long long, 0, call); \
228 ttkTypeMacroCase(VTK_UNSIGNED_LONG, unsigned long, 0, call); \
229 ttkTypeMacroCase(VTK_UNSIGNED_LONG_LONG, unsigned long long, 0, call); \
230 ttkTypeMacroCase(VTK_ID_TYPE, vtkIdType, 0, call); \
231 ttkTypeMacroErrorCase(0, group); \
232 }
233
234#define ttkTypeMacroA(group, call) \
235 switch(group) { \
236 ttkTypeMacroCase(VTK_FLOAT, float, 0, call); \
237 ttkTypeMacroCase(VTK_DOUBLE, double, 0, call); \
238 ttkTypeMacroCase(VTK_INT, int, 0, call); \
239 ttkTypeMacroCase(VTK_UNSIGNED_INT, unsigned int, 0, call); \
240 ttkTypeMacroCase(VTK_CHAR, char, 0, call); \
241 ttkTypeMacroCase(VTK_SIGNED_CHAR, signed char, 0, call); \
242 ttkTypeMacroCase(VTK_UNSIGNED_CHAR, unsigned char, 0, call); \
243 ttkTypeMacroCase(VTK_LONG, long, 0, call); \
244 ttkTypeMacroCase(VTK_LONG_LONG, long long, 0, call); \
245 ttkTypeMacroCase(VTK_UNSIGNED_LONG, unsigned long, 0, call); \
246 ttkTypeMacroCase(VTK_UNSIGNED_LONG_LONG, unsigned long long, 0, call); \
247 ttkTypeMacroCase(VTK_ID_TYPE, vtkIdType, 0, call); \
248 ttkTypeMacroErrorCase(0, group); \
249 }
250
251#ifdef TTK_REDUCE_TEMPLATE_INSTANTIATIONS
252// reduced list of template instantiations by redefining ttkTypeMacroI
253// & ttkTypeMacroA
254#undef ttkTypeMacroI
255#define ttkTypeMacroI(group, call) \
256 switch(group) { \
257 ttkTypeMacroCase(VTK_INT, int, 0, call); \
258 ttkTypeMacroCase(VTK_LONG_LONG, long long, 0, call); \
259 ttkTypeMacroErrorCase(0, group); \
260 }
261#undef ttkTypeMacroA
262#define ttkTypeMacroA(group, call) \
263 switch(group) { \
264 ttkTypeMacroCase(VTK_FLOAT, float, 0, call); \
265 ttkTypeMacroCase(VTK_DOUBLE, double, 0, call); \
266 ttkTypeMacroCase(VTK_INT, int, 0, call); \
267 ttkTypeMacroCase(VTK_LONG_LONG, long long, 0, call); \
268 ttkTypeMacroErrorCase(0, group); \
269 }
270#endif // TTK_REDUCE_TEMPLATE_INSTANTIATIONS
271
272#define ttkTypeMacroAT(group0, group1, call) \
273 switch(group1) { \
274 ttkTypeMacroCase(ttk::Triangulation::Type::EXPLICIT, \
275 ttk::ExplicitTriangulation, 1, \
276 ttkTypeMacroA(group0, call)); \
277 ttkTypeMacroCase(ttk::Triangulation::Type::COMPACT, \
278 ttk::CompactTriangulation, 1, \
279 ttkTypeMacroA(group0, call)); \
280 ttkTypeMacroCase(ttk::Triangulation::Type::IMPLICIT, \
281 ttk::ImplicitNoPreconditions, 1, \
282 ttkTypeMacroA(group0, call)); \
283 ttkTypeMacroCase(ttk::Triangulation::Type::HYBRID_IMPLICIT, \
284 ttk::ImplicitWithPreconditions, 1, \
285 ttkTypeMacroA(group0, call)); \
286 ttkTypeMacroCase(ttk::Triangulation::Type::PERIODIC, \
287 ttk::PeriodicNoPreconditions, 1, \
288 ttkTypeMacroA(group0, call)); \
289 ttkTypeMacroCase(ttk::Triangulation::Type::HYBRID_PERIODIC, \
290 ttk::PeriodicWithPreconditions, 1, \
291 ttkTypeMacroA(group0, call)); \
292 ttkTypeMacroErrorCase(1, group1); \
293 }
294
295#define ttkTypeMacroRT(group0, group1, call) \
296 switch(group1) { \
297 ttkTypeMacroCase(ttk::Triangulation::Type::EXPLICIT, \
298 ttk::ExplicitTriangulation, 1, \
299 ttkTypeMacroR(group0, call)); \
300 ttkTypeMacroCase(ttk::Triangulation::Type::COMPACT, \
301 ttk::CompactTriangulation, 1, \
302 ttkTypeMacroR(group0, call)); \
303 ttkTypeMacroCase(ttk::Triangulation::Type::IMPLICIT, \
304 ttk::ImplicitNoPreconditions, 1, \
305 ttkTypeMacroR(group0, call)); \
306 ttkTypeMacroCase(ttk::Triangulation::Type::HYBRID_IMPLICIT, \
307 ttk::ImplicitWithPreconditions, 1, \
308 ttkTypeMacroR(group0, call)); \
309 ttkTypeMacroCase(ttk::Triangulation::Type::PERIODIC, \
310 ttk::PeriodicNoPreconditions, 1, \
311 ttkTypeMacroR(group0, call)); \
312 ttkTypeMacroCase(ttk::Triangulation::Type::HYBRID_PERIODIC, \
313 ttk::PeriodicWithPreconditions, 1, \
314 ttkTypeMacroR(group0, call)); \
315 ttkTypeMacroErrorCase(1, group1); \
316 }
317
318#define ttkTypeMacroIT(group0, group1, call) \
319 switch(group1) { \
320 ttkTypeMacroCase(ttk::Triangulation::Type::EXPLICIT, \
321 ttk::ExplicitTriangulation, 1, \
322 ttkTypeMacroI(group0, call)); \
323 ttkTypeMacroCase(ttk::Triangulation::Type::COMPACT, \
324 ttk::CompactTriangulation, 1, \
325 ttkTypeMacroI(group0, call)); \
326 ttkTypeMacroCase(ttk::Triangulation::Type::IMPLICIT, \
327 ttk::ImplicitNoPreconditions, 1, \
328 ttkTypeMacroI(group0, call)); \
329 ttkTypeMacroCase(ttk::Triangulation::Type::HYBRID_IMPLICIT, \
330 ttk::ImplicitWithPreconditions, 1, \
331 ttkTypeMacroI(group0, call)); \
332 ttkTypeMacroCase(ttk::Triangulation::Type::PERIODIC, \
333 ttk::PeriodicNoPreconditions, 1, \
334 ttkTypeMacroI(group0, call)); \
335 ttkTypeMacroCase(ttk::Triangulation::Type::HYBRID_PERIODIC, \
336 ttk::PeriodicWithPreconditions, 1, \
337 ttkTypeMacroI(group0, call)); \
338 ttkTypeMacroErrorCase(1, group1); \
339 }
340
341#define ttkTypeMacroAI(group0, group1, call) \
342 switch(group1) { \
343 ttkTypeMacroCase(VTK_INT, int, 1, ttkTypeMacroA(group0, call)); \
344 ttkTypeMacroCase( \
345 VTK_LONG_LONG, long long, 1, ttkTypeMacroA(group0, call)); \
346 ttkTypeMacroCase(VTK_ID_TYPE, vtkIdType, 1, ttkTypeMacroA(group0, call)); \
347 ttkTypeMacroErrorCase(1, group1); \
348 }
349
350#define ttkTypeMacroRR(group0, group1, call) \
351 switch(group1) { \
352 ttkTypeMacroCase(VTK_FLOAT, float, 1, ttkTypeMacroR(group0, call)); \
353 ttkTypeMacroCase(VTK_DOUBLE, double, 1, ttkTypeMacroR(group0, call)); \
354 ttkTypeMacroErrorCase(1, group1); \
355 }
356
357#define ttkTypeMacroAA(group0, group1, call) \
358 switch(group1) { \
359 ttkTypeMacroCase(VTK_FLOAT, float, 1, ttkTypeMacroA(group0, call)); \
360 ttkTypeMacroCase(VTK_DOUBLE, double, 1, ttkTypeMacroA(group0, call)); \
361 ttkTypeMacroCase(VTK_INT, int, 1, ttkTypeMacroA(group0, call)); \
362 ttkTypeMacroCase( \
363 VTK_UNSIGNED_INT, unsigned int, 1, ttkTypeMacroA(group0, call)); \
364 ttkTypeMacroCase(VTK_CHAR, char, 1, ttkTypeMacroA(group0, call)); \
365 ttkTypeMacroCase( \
366 VTK_SIGNED_CHAR, signed char, 1, ttkTypeMacroA(group0, call)); \
367 ttkTypeMacroCase( \
368 VTK_UNSIGNED_CHAR, unsigned char, 1, ttkTypeMacroA(group0, call)); \
369 ttkTypeMacroCase(VTK_LONG, long, 1, ttkTypeMacroA(group0, call)); \
370 ttkTypeMacroCase( \
371 VTK_LONG_LONG, long long, 1, ttkTypeMacroA(group0, call)); \
372 ttkTypeMacroCase( \
373 VTK_UNSIGNED_LONG, unsigned long, 1, ttkTypeMacroA(group0, call)); \
374 ttkTypeMacroCase(VTK_UNSIGNED_LONG_LONG, unsigned long long, 1, \
375 ttkTypeMacroA(group0, call)); \
376 ttkTypeMacroCase(VTK_ID_TYPE, vtkIdType, 1, ttkTypeMacroA(group0, call)); \
377 ttkTypeMacroErrorCase(1, group1); \
378 }
379
380#define ttkTypeMacroAAA(group0, group1, group2, call) \
381 switch(group2) { \
382 ttkTypeMacroCase( \
383 VTK_FLOAT, float, 2, ttkTypeMacroAA(group0, group1, call)); \
384 ttkTypeMacroCase( \
385 VTK_DOUBLE, double, 2, ttkTypeMacroAA(group0, group1, call)); \
386 ttkTypeMacroCase(VTK_INT, int, 2, ttkTypeMacroAA(group0, group1, call)); \
387 ttkTypeMacroCase(VTK_UNSIGNED_INT, unsigned int, 2, \
388 ttkTypeMacroAA(group0, group1, call)); \
389 ttkTypeMacroCase(VTK_CHAR, char, 2, ttkTypeMacroAA(group0, group1, call)); \
390 ttkTypeMacroCase( \
391 VTK_SIGNED_CHAR, signed char, 2, ttkTypeMacroAA(group0, group1, call)); \
392 ttkTypeMacroCase(VTK_UNSIGNED_CHAR, unsigned char, 2, \
393 ttkTypeMacroAA(group0, group1, call)); \
394 ttkTypeMacroCase(VTK_LONG, long, 2, ttkTypeMacroAA(group0, group1, call)); \
395 ttkTypeMacroCase( \
396 VTK_LONG_LONG, long long, 2, ttkTypeMacroAA(group0, group1, call)); \
397 ttkTypeMacroCase(VTK_UNSIGNED_LONG, unsigned long, 2, \
398 ttkTypeMacroAA(group0, group1, call)); \
399 ttkTypeMacroCase(VTK_UNSIGNED_LONG_LONG, unsigned long long, 2, \
400 ttkTypeMacroAA(group0, group1, call)); \
401 ttkTypeMacroCase( \
402 VTK_ID_TYPE, vtkIdType, 2, ttkTypeMacroAA(group0, group1, call)); \
403 ttkTypeMacroErrorCase(2, group2); \
404 }
405
406#define ttkTypeMacroAII(group0, group1, group2, call) \
407 switch(group2) { \
408 ttkTypeMacroCase(VTK_INT, int, 2, ttkTypeMacroAI(group0, group1, call)); \
409 ttkTypeMacroCase( \
410 VTK_LONG_LONG, long long, 2, ttkTypeMacroAI(group0, group1, call)); \
411 ttkTypeMacroCase( \
412 VTK_ID_TYPE, vtkIdType, 2, ttkTypeMacroAI(group0, group1, call)); \
413 ttkTypeMacroErrorCase(2, group2); \
414 }
415
416#define ttkTypeMacroRRR(group0, group1, group2, call) \
417 switch(group2) { \
418 ttkTypeMacroCase( \
419 VTK_FLOAT, float, 2, ttkTypeMacroRR(group0, group1, call)); \
420 ttkTypeMacroCase( \
421 VTK_DOUBLE, double, 2, ttkTypeMacroRR(group0, group1, call)); \
422 ttkTypeMacroErrorCase(2, group2); \
423 }
424
425#define ttkTypeMacroRRI(group0, group1, group2, call) \
426 switch(group2) { \
427 ttkTypeMacroCase(VTK_INT, int, 2, ttkTypeMacroRR(group0, group1, call)); \
428 ttkTypeMacroCase( \
429 VTK_LONG_LONG, long long, 2, ttkTypeMacroRR(group0, group1, call)); \
430 ttkTypeMacroCase( \
431 VTK_ID_TYPE, vtkIdType, 2, ttkTypeMacroRR(group0, group1, call)); \
432 ttkTypeMacroErrorCase(2, group2); \
433 }
vtkIntArray ttkSimplexIdTypeArray
Definition ttkMacros.h:11