MikroCAD SDK Library
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MC3DDefs.h
Go to the documentation of this file.
1 /**
2 * @file MC3DDefs.h
3 * @brief Common defines for the MikroCAD SDK library
4 *
5 * @author LMI Technologies
6 */
7 
8 #ifndef _MC3DDefs_h
9 #define _MC3DDefs_h
10 
11 /**
12 The current version of the library, see also MC3D_Version()
13 */
14 #define MC3D_VERSION 2
15 
16 /**
17 The direction of filter
18 */
20 {
21  MC3DFilterDirection_X,
22  MC3DFilterDirection_Y,
23  MC3DFilterDirection_XY,
24 };
25 
26 /**
27 A structure for 3d coordinate transformation (rotation and translation)
28 */
30 {
31  float m_fA11; /**< entry (1,1) of the rotation matrix */
32  float m_fA12; /**< entry (1,2) of the rotation matrix */
33  float m_fA13; /**< entry (1,3) of the rotation matrix */
34  float m_fA21; /**< entry (2,1) of the rotation matrix */
35  float m_fA22; /**< entry (2,2) of the rotation matrix */
36  float m_fA23; /**< entry (2,3) of the rotation matrix */
37  float m_fA31; /**< entry (3,1) of the rotation matrix */
38  float m_fA32; /**< entry (3,2) of the rotation matrix */
39  float m_fA33; /**< entry (4,3) of the rotation matrix */
40  float m_fX0; /**< Translation in X */
41  float m_fY0; /**< Translation in Y */
42  float m_fZ0; /**< Translation in Z */
43 };
44 
45 /**
46 A structure for 2d coordinate transformation (rotation and translation)
47 */
49 {
50  float m_fA11; /**< entry (1,1) of the rotation matrix */
51  float m_fA12; /**< entry (1,2) of the rotation matrix */
52  float m_fA21; /**< entry (2,1) of the rotation matrix */
53  float m_fA22; /**< entry (2,2) of the rotation matrix */
54  float m_fA31; /**< entry (3,1) of the rotation matrix */
55  float m_fA32; /**< entry (3,2) of the rotation matrix */
56  float m_fX0; /**< Translation in X */
57  float m_fY0; /**< Translation in Y */
58 };
59 
60 /**
61 Mode for range analysis, how to binarize before doing the range analysis
62 */
63 typedef enum
64 {
65  RangeAnalysisEvalMode_Lower = 0, /**< Binarize using lower limit */
66  RangeAnalysisEvalMode_Upper = 1, /**< Binarize using upper limit */
67  RangeAnalysisEvalMode_Range = 2, /**< Binarize using lower and upper limit */
69 
70 /**
71 Return value of the polynomial filter
72 */
73 typedef enum
74 {
75  PolynomialFilterReturnData_Difference = 0, /**< Difference image */
76  PolynomialFilterReturnData_Polynomial = 1, /**< Polynomial image */
78 
79 /**
80 Region of interest definition
81 */
82 struct TROIShort
83 {
84  short m_nX1; /**< First X value */
85  short m_nY1; /**< Second X value */
86  short m_nX2; /**< First Y value */
87  short m_nY2; /**< Second Y value */
88 };
89 
90 /**
91 Inner filter type in Fourier filter
92 */
93 typedef enum
94 {
95  FourierFilterType_WaveFilter = 1, /**< Wave filter */
96  FourierFilterType_GaussianHighpass = 2, /**< Gaussian high pass filter */
98 
99 /**
100 Return value for Fourier filter
101 */
102 typedef enum
103 {
105  FourierFilterReturnData_Roughness, /**< Roughness data */
107 
108 #endif // _MC3DDefs_h
eFourierFilterReturnData
Return value for Fourier filter.
Definition: MC3DDefs.h:102
float m_fY0
Translation in Y.
Definition: MC3DDefs.h:41
Roughness data.
Definition: MC3DDefs.h:105
float m_fY0
Translation in Y.
Definition: MC3DDefs.h:57
Filter.
Definition: MC3DDefs.h:104
A structure for 3d coordinate transformation (rotation and translation)
Definition: MC3DDefs.h:29
A structure for 2d coordinate transformation (rotation and translation)
Definition: MC3DDefs.h:48
short m_nY1
Second X value.
Definition: MC3DDefs.h:85
float m_fA12
entry (1,2) of the rotation matrix
Definition: MC3DDefs.h:32
float m_fA32
entry (3,2) of the rotation matrix
Definition: MC3DDefs.h:55
float m_fX0
Translation in X.
Definition: MC3DDefs.h:40
Region of interest definition.
Definition: MC3DDefs.h:82
Wave filter.
Definition: MC3DDefs.h:95
float m_fX0
Translation in X.
Definition: MC3DDefs.h:56
float m_fA11
entry (1,1) of the rotation matrix
Definition: MC3DDefs.h:31
float m_fA21
entry (2,1) of the rotation matrix
Definition: MC3DDefs.h:34
ePolynomialFilterReturnData
Return value of the polynomial filter.
Definition: MC3DDefs.h:73
float m_fZ0
Translation in Z.
Definition: MC3DDefs.h:42
float m_fA32
entry (3,2) of the rotation matrix
Definition: MC3DDefs.h:38
short m_nY2
Second Y value.
Definition: MC3DDefs.h:87
Difference image.
Definition: MC3DDefs.h:75
float m_fA21
entry (2,1) of the rotation matrix
Definition: MC3DDefs.h:52
float m_fA22
entry (2,2) of the rotation matrix
Definition: MC3DDefs.h:35
float m_fA13
entry (1,3) of the rotation matrix
Definition: MC3DDefs.h:33
float m_fA31
entry (3,1) of the rotation matrix
Definition: MC3DDefs.h:37
short m_nX2
First Y value.
Definition: MC3DDefs.h:86
eRangeAnalysisEvalMode
Mode for range analysis, how to binarize before doing the range analysis.
Definition: MC3DDefs.h:63
Binarize using upper limit.
Definition: MC3DDefs.h:66
float m_fA12
entry (1,2) of the rotation matrix
Definition: MC3DDefs.h:51
float m_fA33
entry (4,3) of the rotation matrix
Definition: MC3DDefs.h:39
Binarize using lower limit.
Definition: MC3DDefs.h:65
short m_nX1
First X value.
Definition: MC3DDefs.h:84
Polynomial image.
Definition: MC3DDefs.h:76
float m_fA11
entry (1,1) of the rotation matrix
Definition: MC3DDefs.h:50
float m_fA31
entry (3,1) of the rotation matrix
Definition: MC3DDefs.h:54
float m_fA23
entry (2,3) of the rotation matrix
Definition: MC3DDefs.h:36
eMC3DFilterDirection
The direction of filter.
Definition: MC3DDefs.h:19
float m_fA22
entry (2,2) of the rotation matrix
Definition: MC3DDefs.h:53
Binarize using lower and upper limit.
Definition: MC3DDefs.h:67
eFourierFilterType
Inner filter type in Fourier filter.
Definition: MC3DDefs.h:93
Gaussian high pass filter.
Definition: MC3DDefs.h:96