iMSTK
Interactive Medical Simulation Toolkit
imstkTypes.h
1 /*
2 ** This file is part of the Interactive Medical Simulation Toolkit (iMSTK)
3 ** iMSTK is distributed under the Apache License, Version 2.0.
4 ** See accompanying NOTICE for details.
5 */
6 
7 #pragma once
8 
9 #include <limits>
10 
11 namespace imstk
12 {
13 typedef unsigned char ScalarTypeId;
14 #define IMSTK_VOID 0
15 #define IMSTK_CHAR 1
16 #define IMSTK_UNSIGNED_CHAR 2
17 #define IMSTK_SHORT 3
18 #define IMSTK_UNSIGNED_SHORT 4
19 #define IMSTK_INT 5
20 #define IMSTK_UNSIGNED_INT 6
21 #define IMSTK_LONG 7
22 #define IMSTK_UNSIGNED_LONG 8
23 #define IMSTK_FLOAT 9
24 #define IMSTK_DOUBLE 10
25 #define IMSTK_LONG_LONG 11
26 #define IMSTK_UNSIGNED_LONG_LONG 12
27 
28 using CellTypeId = unsigned char;
29 #define IMSTK_VERTEX 0
30 #define IMSTK_EDGE 1
31 #define IMSTK_TRIANGLE 2
32 #define IMSTK_QUAD 3
33 #define IMSTK_TETRAHEDRON 4
34 #define IMSTK_HEXAHEDRON 5
35 
36 #define IMSTK_CHAR_MAX std::numeric_limits<char>::max()
37 #define IMSTK_CHAR_MIN std::numeric_limits<char>::min()
38 #define IMSTK_UNSIGNED_CHAR_MAX std::numeric_limits<unsigned char>::max()
39 #define IMSTK_UNSIGNED_CHAR_MIN std::numeric_limits<unsigned char>::min()
40 #define IMSTK_SHORT_MAX std::numeric_limits<short>::max()
41 #define IMSTK_SHORT_MIN std::numeric_limits<short>::min()
42 #define IMSTK_UNSIGNED_SHORT_MAX std::numeric_limits<unsigned short>::max()
43 #define IMSTK_UNSIGNED_SHORT_MIN std::numeric_limits<unsigned short>::min()
44 #define IMSTK_INT_MAX std::numeric_limits<int>::max()
45 #define IMSTK_INT_MIN std::numeric_limits<int>::min()
46 #define IMSTK_UNSIGNED_INT_MAX std::numeric_limits<unsigned int>::max()
47 #define IMSTK_UNSIGNED_INT_MIN std::numeric_limits<unsigned int>::min()
48 #define IMSTK_LONG_MAX std::numeric_limits<long>::max()
49 #define IMSTK_LONG_MIN std::numeric_limits<long>::min()
50 #define IMSTK_UNSIGNED_LONG_MAX std::numeric_limits<unsigned long>::max()
51 #define IMSTK_UNSIGNED_LONG_MIN std::numeric_limits<unsigned long>::min()
52 #define IMSTK_FLOAT_MAX std::numeric_limits<float>::max()
53 #define IMSTK_FLOAT_MIN std::numeric_limits<float>::lowest()
54 #define IMSTK_FLOAT_EPS std::numeric_limits<float>::epsilon()
55 #define IMSTK_DOUBLE_MAX std::numeric_limits<double>::max()
56 #define IMSTK_DOUBLE_MIN std::numeric_limits<double>::lowest()
57 #define IMSTK_DOUBLE_EPS std::numeric_limits<double>::epsilon()
58 #define IMSTK_LONG_LONG_MAX std::numeric_limits<long>::max()
59 #define IMSTK_LONG_LONG_MIN std::numeric_limits<long>::min()
60 #define IMSTK_UNSIGNED_LONG_LONG_MAX std::numeric_limits<unsigned long long>::max()
61 #define IMSTK_UNSIGNED_LONG_LONG_MIN std::numeric_limits<unsigned long long>::min()
62 } // namespace imstk
Compound Geometry.