| MikroCAD SDK Library

- Home
- All Types
- Files

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 */
19 enum eMC3DFilterDirection
20 {
21 MC3DFilterDirection_X,
22 MC3DFilterDirection_Y,
23 MC3DFilterDirection_XY,
24 };
25
26 /**
27 A structure for 3d coordinate transformation (rotation and translation)
28 */
29 struct TCoordTransformation3DFloat
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 */
48 struct TCoordTransformation2DFloat
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 */
68 } eRangeAnalysisEvalMode;
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 */
77 } ePolynomialFilterReturnData;
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 */
97 } eFourierFilterType;
98
99 /**
100 Return value for Fourier filter
101 */
102 typedef enum
103 {
104 FourierFilterReturnData_Filter, /**< Filter */
105 FourierFilterReturnData_Roughness, /**< Roughness data */
106 } eFourierFilterReturnData;
107
108 #endif // _MC3DDefs_h
eFourierFilterReturnData
eFourierFilterReturnData
Return value for Fourier filter.
Definition: MC3DDefs.h:102
TCoordTransformation3DFloat::m_fY0
float m_fY0
Translation in Y.
Definition: MC3DDefs.h:41
FourierFilterReturnData_Roughness
Roughness data.
Definition: MC3DDefs.h:105
TCoordTransformation2DFloat::m_fY0
float m_fY0
Translation in Y.
Definition: MC3DDefs.h:57
FourierFilterReturnData_Filter
Filter.
Definition: MC3DDefs.h:104
TCoordTransformation3DFloat
A structure for 3d coordinate transformation (rotation and translation)
Definition: MC3DDefs.h:29
TCoordTransformation2DFloat
A structure for 2d coordinate transformation (rotation and translation)
Definition: MC3DDefs.h:48
TROIShort::m_nY1
short m_nY1
Second X value.
Definition: MC3DDefs.h:85
TCoordTransformation3DFloat::m_fA12
float m_fA12
entry (1,2) of the rotation matrix
Definition: MC3DDefs.h:32
TCoordTransformation2DFloat::m_fA32
float m_fA32
entry (3,2) of the rotation matrix
Definition: MC3DDefs.h:55
TCoordTransformation3DFloat::m_fX0
float m_fX0
Translation in X.
Definition: MC3DDefs.h:40
TROIShort
Region of interest definition.
Definition: MC3DDefs.h:82
FourierFilterType_WaveFilter
Wave filter.
Definition: MC3DDefs.h:95
TCoordTransformation2DFloat::m_fX0
float m_fX0
Translation in X.
Definition: MC3DDefs.h:56
TCoordTransformation3DFloat::m_fA11
float m_fA11
entry (1,1) of the rotation matrix
Definition: MC3DDefs.h:31
TCoordTransformation3DFloat::m_fA21
float m_fA21
entry (2,1) of the rotation matrix
Definition: MC3DDefs.h:34
ePolynomialFilterReturnData
ePolynomialFilterReturnData
Return value of the polynomial filter.
Definition: MC3DDefs.h:73
TCoordTransformation3DFloat::m_fZ0
float m_fZ0
Translation in Z.
Definition: MC3DDefs.h:42
TCoordTransformation3DFloat::m_fA32
float m_fA32
entry (3,2) of the rotation matrix
Definition: MC3DDefs.h:38
TROIShort::m_nY2
short m_nY2
Second Y value.
Definition: MC3DDefs.h:87
PolynomialFilterReturnData_Difference
Difference image.
Definition: MC3DDefs.h:75
TCoordTransformation2DFloat::m_fA21
float m_fA21
entry (2,1) of the rotation matrix
Definition: MC3DDefs.h:52
TCoordTransformation3DFloat::m_fA22
float m_fA22
entry (2,2) of the rotation matrix
Definition: MC3DDefs.h:35
TCoordTransformation3DFloat::m_fA13
float m_fA13
entry (1,3) of the rotation matrix
Definition: MC3DDefs.h:33
TCoordTransformation3DFloat::m_fA31
float m_fA31
entry (3,1) of the rotation matrix
Definition: MC3DDefs.h:37
TROIShort::m_nX2
short m_nX2
First Y value.
Definition: MC3DDefs.h:86
eRangeAnalysisEvalMode
eRangeAnalysisEvalMode
Mode for range analysis, how to binarize before doing the range analysis.
Definition: MC3DDefs.h:63
RangeAnalysisEvalMode_Upper
Binarize using upper limit.
Definition: MC3DDefs.h:66
TCoordTransformation2DFloat::m_fA12
float m_fA12
entry (1,2) of the rotation matrix
Definition: MC3DDefs.h:51
TCoordTransformation3DFloat::m_fA33
float m_fA33
entry (4,3) of the rotation matrix
Definition: MC3DDefs.h:39
RangeAnalysisEvalMode_Lower
Binarize using lower limit.
Definition: MC3DDefs.h:65
TROIShort::m_nX1
short m_nX1
First X value.
Definition: MC3DDefs.h:84
PolynomialFilterReturnData_Polynomial
Polynomial image.
Definition: MC3DDefs.h:76
TCoordTransformation2DFloat::m_fA11
float m_fA11
entry (1,1) of the rotation matrix
Definition: MC3DDefs.h:50
TCoordTransformation2DFloat::m_fA31
float m_fA31
entry (3,1) of the rotation matrix
Definition: MC3DDefs.h:54
TCoordTransformation3DFloat::m_fA23
float m_fA23
entry (2,3) of the rotation matrix
Definition: MC3DDefs.h:36
eMC3DFilterDirection
eMC3DFilterDirection
The direction of filter.
Definition: MC3DDefs.h:19
TCoordTransformation2DFloat::m_fA22
float m_fA22
entry (2,2) of the rotation matrix
Definition: MC3DDefs.h:53
RangeAnalysisEvalMode_Range
Binarize using lower and upper limit.
Definition: MC3DDefs.h:67
eFourierFilterType
eFourierFilterType
Inner filter type in Fourier filter.
Definition: MC3DDefs.h:93
FourierFilterType_GaussianHighpass
Gaussian high pass filter.
Definition: MC3DDefs.h:96