flower vor 3 Monaten
Ursprung
Commit
e13f2b50ab

+ 2 - 0
.vscode/c_cpp_properties.json

@@ -5,6 +5,7 @@
             "includePath": [
                 "${workspaceFolder}/**",
                 "D:/app/qt/6.2.4/mingw_64/include/**",
+                "D:/app/qt/6.2.4/mingw_64/include/eigen-3.3.9",
                 "D:/app/qt/6.2.4/mingw_64/include/QtCore",
                 "D:/app/qt/6.2.4/mingw_64/include/QtGui",
                 "D:/app/qt/6.2.4/mingw_64/include/QtWidgets"
@@ -22,6 +23,7 @@
                 "path": [
                     "${workspaceFolder}",
                     "D:/app/qt/6.2.4/mingw_64/include",
+                    "D:/app/qt/6.2.4/mingw_64/include/eigen-3.3.9",
                     "D:/app/qt/6.2.4/mingw_64/include/QtCore",
                     "D:/app/qt/6.2.4/mingw_64/include/QtGui",
                     "D:/app/qt/6.2.4/mingw_64/include/QtWidgets"

+ 2 - 1
.vscode/settings.json

@@ -12,6 +12,7 @@
         "tuple": "cpp",
         "type_traits": "cpp",
         "utility": "cpp",
-        "variant": "cpp"
+        "variant": "cpp",
+        "ostream": "cpp"
     }
 }

+ 19 - 1
.vscode/tasks.json

@@ -116,6 +116,24 @@
             "args": [
                 "clean"
             ]
-        }
+        },
+       
+    {
+        "type": "cppbuild",//任务类型,可以取cppbuild、shell、process,三种执行时稍有差异,这里选择默认cppbuild。
+        "label": "build task 1",//任务标签(标记),也即任务名称,任务名称要和launch.json里的"preLaunchTask"值对应一致。
+        "command":  "cd ${fileDirname};mingw32-make",
+        "args": [
+    
+        ],
+        "options": {
+          "cwd": "${workspaceFolder}"//当前工作目录(路径)。
+        },
+        "problemMatcher": ["$gcc"],//使用gcc的问题匹配器。
+        "group": {
+          "kind": "build",
+          "isDefault": true
+        },
+        "detail": "Task generated by Debugger."
+      }
     ]
 }

BIN
Qt_NGS.7z


+ 6 - 3
Qt_NGS.pro

@@ -16,7 +16,8 @@ SOURCES += \
     src/login/login_switch.cpp \
     src/message/message_dialog.cpp \
     src/model_select/model_select.cpp \
-    src/page_main/page_main.cpp
+    src/page_main/page_main.cpp \
+    src/taijia/sensor/sensor.cpp
 
 HEADERS += \
     src/base/base.h \
@@ -24,14 +25,16 @@ HEADERS += \
     src/login/login_switch.h \
     src/message/message_dialog.h \
     src/model_select/model_select.h \
-    src/page_main/page_main.h
+    src/page_main/page_main.h \
+    src/taijia/sensor/sensor.h
 
 FORMS += \
     src/chart/chart_file.ui \
     src/login/login_switch.ui \
     src/message/message_dialog.ui \
     src/model_select/model_select.ui \
-    src/page_main/page_main.ui
+    src/page_main/page_main.ui \
+    src/taijia/sensor/sensor.ui
 
 # Default rules for deployment.
 qnx: target.path = /tmp/$${TARGET}/bin

+ 440 - 0
build/Desktop_Qt_6_2_4_MinGW_64_bit-Debug/Qt_NGS/moc_predefs.h

@@ -0,0 +1,440 @@
+#define __DBL_MIN_EXP__ (-1021)
+#define __cpp_attributes 200809L
+#define __cpp_nontype_template_parameter_auto 201606L
+#define __UINT_LEAST16_MAX__ 0xffff
+#define __ATOMIC_ACQUIRE 2
+#define __FLT128_MAX_10_EXP__ 4932
+#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
+#define __GCC_IEC_559_COMPLEX 2
+#define __cpp_aggregate_nsdmi 201304L
+#define __UINT_LEAST8_TYPE__ unsigned char
+#define __SIZEOF_FLOAT80__ 16
+#define __INTMAX_C(c) c ## LL
+#define __CHAR_BIT__ 8
+#define __MINGW32__ 1
+#define __UINT8_MAX__ 0xff
+#define __SCHAR_WIDTH__ 8
+#define _WIN64 1
+#define __WINT_MAX__ 0xffff
+#define __FLT32_MIN_EXP__ (-125)
+#define __cpp_static_assert 201411L
+#define __ORDER_LITTLE_ENDIAN__ 1234
+#define __SIZE_MAX__ 0xffffffffffffffffULL
+#define __WCHAR_MAX__ 0xffff
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
+#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
+#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
+#define __GCC_IEC_559 2
+#define __FLT32X_DECIMAL_DIG__ 17
+#define __FLT_EVAL_METHOD__ 0
+#define __cpp_binary_literals 201304L
+#define __FLT64_DECIMAL_DIG__ 17
+#define __cpp_noexcept_function_type 201510L
+#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
+#define __cpp_variadic_templates 200704L
+#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL
+#define __SIG_ATOMIC_TYPE__ int
+#define __DBL_MIN_10_EXP__ (-307)
+#define __FINITE_MATH_ONLY__ 0
+#define __cpp_variable_templates 201304L
+#define __FLT32X_MAX_EXP__ 1024
+#define __FLT32_HAS_DENORM__ 1
+#define __UINT_FAST8_MAX__ 0xff
+#define __cpp_rvalue_reference 200610L
+#define __cpp_nested_namespace_definitions 201411L
+#define _stdcall __attribute__((__stdcall__))
+#define __DEC64_MAX_EXP__ 385
+#define __INT8_C(c) c
+#define __INT_LEAST8_WIDTH__ 8
+#define __cpp_variadic_using 201611L
+#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL
+#define __INT_LEAST8_MAX__ 0x7f
+#define __cpp_capture_star_this 201603L
+#define __SHRT_MAX__ 0x7fff
+#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
+#define __FLT64X_MAX_10_EXP__ 4932
+#define __cpp_if_constexpr 201606L
+#define __LDBL_IS_IEC_60559__ 2
+#define __FLT64X_HAS_QUIET_NAN__ 1
+#define __UINT_LEAST8_MAX__ 0xff
+#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
+#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
+#define __UINTMAX_TYPE__ long long unsigned int
+#define __DEC32_EPSILON__ 1E-6DF
+#define __FLT_EVAL_METHOD_TS_18661_3__ 0
+#define __UINT32_MAX__ 0xffffffffU
+#define __GXX_EXPERIMENTAL_CXX0X__ 1
+#define __FLT128_MIN_EXP__ (-16381)
+#define __WINT_MIN__ 0
+#define __FLT128_MIN_10_EXP__ (-4931)
+#define __FLT32X_IS_IEC_60559__ 2
+#define __INT_LEAST16_WIDTH__ 16
+#define __SCHAR_MAX__ 0x7f
+#define __FLT128_MANT_DIG__ 113
+#define __WCHAR_MIN__ 0
+#define __INT64_C(c) c ## LL
+#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
+#define __FLT32X_MANT_DIG__ 53
+#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
+#define __cpp_aligned_new 201606L
+#define __USER_LABEL_PREFIX__ 
+#define __FLT32_MAX_10_EXP__ 38
+#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
+#define __STDC_HOSTED__ 1
+#define __DEC64_MIN_EXP__ (-382)
+#define __WIN64 1
+#define __cpp_decltype_auto 201304L
+#define __DBL_DIG__ 15
+#define __FLT32_DIG__ 6
+#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
+#define __GXX_WEAK__ 1
+#define __SHRT_WIDTH__ 16
+#define __FLT32_IS_IEC_60559__ 2
+#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
+#define __DBL_IS_IEC_60559__ 2
+#define __DEC32_MAX__ 9.999999E96DF
+#define __cpp_threadsafe_static_init 200806L
+#define __cpp_enumerator_attributes 201411L
+#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
+#define __FLT32X_HAS_INFINITY__ 1
+#define __INT32_MAX__ 0x7fffffff
+#define __INT_WIDTH__ 32
+#define __SIZEOF_LONG__ 4
+#define __UINT16_C(c) c
+#define __DECIMAL_DIG__ 21
+#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
+#define __INT16_MAX__ 0x7fff
+#define __FLT64_MIN_EXP__ (-1021)
+#define __FLT64X_MIN_10_EXP__ (-4931)
+#define __LDBL_HAS_QUIET_NAN__ 1
+#define __FLT64_MANT_DIG__ 53
+#define _REENTRANT 1
+#define __FLT64X_MANT_DIG__ 64
+#define __GNUC__ 11
+#define _cdecl __attribute__((__cdecl__))
+#define __GXX_RTTI 1
+#define __MMX__ 1
+#define __FLT_HAS_DENORM__ 1
+#define __SIZEOF_LONG_DOUBLE__ 16
+#define __BIGGEST_ALIGNMENT__ 16
+#define __STDC_UTF_16__ 1
+#define __FLT64_MAX_10_EXP__ 308
+#define __cpp_delegating_constructors 200604L
+#define __FLT32_HAS_INFINITY__ 1
+#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
+#define _thiscall __attribute__((__thiscall__))
+#define __cpp_raw_strings 200710L
+#define __INT_FAST32_MAX__ 0x7fffffff
+#define __WINNT 1
+#define __DBL_HAS_INFINITY__ 1
+#define __SIZEOF_FLOAT__ 4
+#define __WINNT__ 1
+#define __HAVE_SPECULATION_SAFE_VALUE 1
+#define __cpp_fold_expressions 201603L
+#define __DEC32_MIN_EXP__ (-94)
+#define __INTPTR_WIDTH__ 64
+#define __FLT64X_HAS_INFINITY__ 1
+#define __UINT_LEAST32_MAX__ 0xffffffffU
+#define __FLT32X_HAS_DENORM__ 1
+#define __INT_FAST16_TYPE__ short int
+#define __MMX_WITH_SSE__ 1
+#define _fastcall __attribute__((__fastcall__))
+#define __LDBL_HAS_DENORM__ 1
+#define __cplusplus 201703L
+#define __cpp_ref_qualifiers 200710L
+#define __DEC32_MIN__ 1E-95DF
+#define __DEPRECATED 1
+#define __cpp_rvalue_references 200610L
+#define __DBL_MAX_EXP__ 1024
+#define __WCHAR_WIDTH__ 16
+#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
+#define __DEC128_EPSILON__ 1E-33DL
+#define __SSE2_MATH__ 1
+#define __ATOMIC_HLE_RELEASE 131072
+#define __WIN32__ 1
+#define __PTRDIFF_MAX__ 0x7fffffffffffffffLL
+#define __amd64 1
+#define __tune_core2__ 1
+#define __ATOMIC_HLE_ACQUIRE 65536
+#define __GNUG__ 11
+#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
+#define __SIZEOF_SIZE_T__ 8
+#define __cpp_nsdmi 200809L
+#define __FLT64X_MIN_EXP__ (-16381)
+#define __SIZEOF_WINT_T__ 2
+#define __LONG_LONG_WIDTH__ 64
+#define __cpp_initializer_lists 200806L
+#define __FLT32_MAX_EXP__ 128
+#define __cpp_hex_float 201603L
+#define __GXX_ABI_VERSION 1016
+#define __FLT128_HAS_INFINITY__ 1
+#define __FLT_MIN_EXP__ (-125)
+#define __GCC_HAVE_DWARF2_CFI_ASM 1
+#define __x86_64 1
+#define __cpp_lambdas 200907L
+#define __INT_FAST64_TYPE__ long long int
+#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
+#define __cpp_template_auto 201606L
+#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
+#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
+#define __FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x
+#define __SIZEOF_POINTER__ 8
+#define __SIZE_TYPE__ long long unsigned int
+#define __DBL_HAS_QUIET_NAN__ 1
+#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
+#define __DECIMAL_BID_FORMAT__ 1
+#define __GXX_TYPEINFO_EQUALITY_INLINE 0
+#define __FLT64_MIN_10_EXP__ (-307)
+#define __FLT64X_DECIMAL_DIG__ 21
+#define __DEC128_MIN__ 1E-6143DL
+#define __REGISTER_PREFIX__ 
+#define __UINT16_MAX__ 0xffff
+#define __cdecl __attribute__((__cdecl__))
+#define __LDBL_HAS_INFINITY__ 1
+#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
+#define __UINT8_TYPE__ unsigned char
+#define __FLT_DIG__ 6
+#define __NO_INLINE__ 1
+#define __DEC_EVAL_METHOD__ 2
+#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
+#define __FLT_MANT_DIG__ 24
+#define __LDBL_DECIMAL_DIG__ 21
+#define __VERSION__ "11.2.0"
+#define __UINT64_C(c) c ## ULL
+#define __cpp_unicode_characters 201411L
+#define _WIN32 1
+#define __SEH__ 1
+#define __INT_LEAST32_MAX__ 0x7fffffff
+#define __GCC_ATOMIC_INT_LOCK_FREE 2
+#define __FLT128_MAX_EXP__ 16384
+#define __FLT32_MANT_DIG__ 24
+#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
+#define __cpp_aggregate_bases 201603L
+#define __FLT128_HAS_DENORM__ 1
+#define __FLT32_DECIMAL_DIG__ 9
+#define __FLT128_DIG__ 33
+#define __INT32_C(c) c
+#define __DEC64_EPSILON__ 1E-15DD
+#define __ORDER_PDP_ENDIAN__ 3412
+#define __DEC128_MIN_EXP__ (-6142)
+#define __INT_FAST32_TYPE__ int
+#define __UINT_LEAST16_TYPE__ short unsigned int
+#define __DBL_HAS_DENORM__ 1
+#define __cpp_rtti 199711L
+#define __UINT64_MAX__ 0xffffffffffffffffULL
+#define __FLT_IS_IEC_60559__ 2
+#define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-16LE"
+#define __FLT64X_DIG__ 18
+#define __INT8_TYPE__ signed char
+#define __cpp_digit_separators 201309L
+#define __GCC_ASM_FLAG_OUTPUTS__ 1
+#define __UINT32_TYPE__ unsigned int
+#define __FLT_RADIX__ 2
+#define __INT_LEAST16_TYPE__ short int
+#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
+#define __UINTMAX_C(c) c ## ULL
+#define __GLIBCXX_BITSIZE_INT_N_0 128
+#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
+#define __SIG_ATOMIC_MAX__ 0x7fffffff
+#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
+#define __SIZEOF_PTRDIFF_T__ 8
+#define __LDBL_DIG__ 18
+#define __FLT64_IS_IEC_60559__ 2
+#define __x86_64__ 1
+#define __FLT32X_MIN_EXP__ (-1021)
+#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
+#define __MSVCRT__ 1
+#define __INT_FAST16_MAX__ 0x7fff
+#define __FLT64_DIG__ 15
+#define __UINT_FAST32_MAX__ 0xffffffffU
+#define __UINT_LEAST64_TYPE__ long long unsigned int
+#define __FLT_HAS_QUIET_NAN__ 1
+#define __FLT_MAX_10_EXP__ 38
+#define __LONG_MAX__ 0x7fffffffL
+#define __FLT64X_HAS_DENORM__ 1
+#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
+#define __FLT_HAS_INFINITY__ 1
+#define __GNUC_EXECUTION_CHARSET_NAME "UTF-8"
+#define __cpp_unicode_literals 200710L
+#define __UINT_FAST16_TYPE__ short unsigned int
+#define __DEC64_MAX__ 9.999999999999999E384DD
+#define __INT_FAST32_WIDTH__ 32
+#define __CHAR16_TYPE__ short unsigned int
+#define __PRAGMA_REDEFINE_EXTNAME 1
+#define __SIZE_WIDTH__ 64
+#define __SEG_FS 1
+#define __INT_LEAST16_MAX__ 0x7fff
+#define __DEC64_MANT_DIG__ 16
+#define __INT64_MAX__ 0x7fffffffffffffffLL
+#define __SEG_GS 1
+#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
+#define __SIG_ATOMIC_WIDTH__ 32
+#define __INT_LEAST64_TYPE__ long long int
+#define __INT16_TYPE__ short int
+#define __INT_LEAST8_TYPE__ signed char
+#define __nocona__ 1
+#define __cpp_structured_bindings 201606L
+#define __SIZEOF_INT__ 4
+#define __DEC32_MAX_EXP__ 97
+#define __INT_FAST8_MAX__ 0x7f
+#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
+#define __INTPTR_MAX__ 0x7fffffffffffffffLL
+#define __cpp_sized_deallocation 201309L
+#define __cpp_guaranteed_copy_elision 201606L
+#define __FLT64_HAS_QUIET_NAN__ 1
+#define __stdcall __attribute__((__stdcall__))
+#define __FLT32_MIN_10_EXP__ (-37)
+#define __EXCEPTIONS 1
+#define __GXX_MERGED_TYPEINFO_NAMES 0
+#define __PTRDIFF_WIDTH__ 64
+#define __LDBL_MANT_DIG__ 64
+#define __cpp_range_based_for 201603L
+#define __FLT64_HAS_INFINITY__ 1
+#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
+#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16
+#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
+#define __GCC_ATOMIC_LONG_LOCK_FREE 2
+#define __cpp_nontype_template_args 201411L
+#define __DEC32_MANT_DIG__ 7
+#define __cpp_return_type_deduction 201304L
+#define __INTPTR_TYPE__ long long int
+#define __UINT16_TYPE__ short unsigned int
+#define __WCHAR_TYPE__ short unsigned int
+#define __pic__ 1
+#define __UINTPTR_MAX__ 0xffffffffffffffffULL
+#define __INT_FAST64_WIDTH__ 64
+#define __cpp_decltype 200707L
+#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL
+#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
+#define __FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F
+#define __FLT64X_MAX_EXP__ 16384
+#define __UINT_FAST64_TYPE__ long long unsigned int
+#define __cpp_inline_variables 201606L
+#define __INT_MAX__ 0x7fffffff
+#define WIN32 1
+#define __nocona 1
+#define __code_model_medium__ 1
+#define __INT64_TYPE__ long long int
+#define __FLT_MAX_EXP__ 128
+#define WIN64 1
+#define __ORDER_BIG_ENDIAN__ 4321
+#define __DBL_MANT_DIG__ 53
+#define __cpp_inheriting_constructors 201511L
+#define __SIZEOF_FLOAT128__ 16
+#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL
+#define __DEC64_MIN__ 1E-383DD
+#define __WINT_TYPE__ short unsigned int
+#define __UINT_LEAST32_TYPE__ unsigned int
+#define __SIZEOF_SHORT__ 2
+#define __FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32
+#define __SSE__ 1
+#define __LDBL_MIN_EXP__ (-16381)
+#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
+#define __amd64__ 1
+#define __WINT_WIDTH__ 16
+#define __INT_LEAST64_WIDTH__ 64
+#define __LDBL_MAX_EXP__ 16384
+#define __FLT32X_MAX_10_EXP__ 308
+#define __WIN32 1
+#define __SIZEOF_INT128__ 16
+#define __FLT64X_IS_IEC_60559__ 2
+#define __WCHAR_UNSIGNED__ 1
+#define __LDBL_MAX_10_EXP__ 4932
+#define __ATOMIC_RELAXED 0
+#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
+#define __thiscall __attribute__((__thiscall__))
+#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
+#define __UINT8_C(c) c
+#define __FLT64_MAX_EXP__ 1024
+#define __INT_LEAST32_TYPE__ int
+#define __SIZEOF_WCHAR_T__ 2
+#define __GNUC_PATCHLEVEL__ 0
+#define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128
+#define __FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64
+#define __FLT128_HAS_QUIET_NAN__ 1
+#define __INTMAX_MAX__ 0x7fffffffffffffffLL
+#define __SSE3__ 1
+#define __INT_FAST8_TYPE__ signed char
+#define __fastcall __attribute__((__fastcall__))
+#define __cpp_namespace_attributes 201411L
+#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
+#define __STDCPP_THREADS__ 1
+#define __GNUC_STDC_INLINE__ 1
+#define __FLT64_HAS_DENORM__ 1
+#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
+#define __DBL_DECIMAL_DIG__ 17
+#define __STDC_UTF_32__ 1
+#define __INT_FAST8_WIDTH__ 8
+#define __FXSR__ 1
+#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
+#define __DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L)
+#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
+#define __MINGW64__ 1
+#define __INTMAX_WIDTH__ 64
+#define __cpp_runtime_arrays 198712L
+#define __UINT64_TYPE__ long long unsigned int
+#define __UINT32_C(c) c ## U
+#define __cpp_alias_templates 200704L
+#define WINNT 1
+#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
+#define __FLT128_IS_IEC_60559__ 2
+#define __INT8_MAX__ 0x7f
+#define __LONG_WIDTH__ 32
+#define __PIC__ 1
+#define __UINT_FAST32_TYPE__ unsigned int
+#define __FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x
+#define __CHAR32_TYPE__ unsigned int
+#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
+#define __cpp_constexpr 201603L
+#define __SSE2__ 1
+#define __cpp_deduction_guides 201703L
+#define __INT32_TYPE__ int
+#define __SIZEOF_DOUBLE__ 8
+#define __cpp_exceptions 199711L
+#define __FLT_MIN_10_EXP__ (-37)
+#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
+#define __INT_LEAST32_WIDTH__ 32
+#define __INTMAX_TYPE__ long long int
+#define _INTEGRAL_MAX_BITS 64
+#define __DEC128_MAX_EXP__ 6145
+#define __FLT32X_HAS_QUIET_NAN__ 1
+#define __ATOMIC_CONSUME 1
+#define __GNUC_MINOR__ 2
+#define __GLIBCXX_TYPE_INT_N_0 __int128
+#define __INT_FAST16_WIDTH__ 16
+#define __UINTMAX_MAX__ 0xffffffffffffffffULL
+#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
+#define __cpp_template_template_args 201611L
+#define __DBL_MAX_10_EXP__ 308
+#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
+#define __INT16_C(c) c
+#define __STDC__ 1
+#define __FLT32X_DIG__ 15
+#define __PTRDIFF_TYPE__ long long int
+#define __ATOMIC_SEQ_CST 5
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1
+#define __FLT32X_MIN_10_EXP__ (-307)
+#define __UINTPTR_TYPE__ long long unsigned int
+#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
+#define __DEC128_MANT_DIG__ 34
+#define __LDBL_MIN_10_EXP__ (-4931)
+#define __cpp_generic_lambdas 201304L
+#define __SSE_MATH__ 1
+#define __SIZEOF_LONG_LONG__ 8
+#define __cpp_user_defined_literals 200809L
+#define __FLT128_DECIMAL_DIG__ 36
+#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
+#define __FLT32_HAS_QUIET_NAN__ 1
+#define __FLT_DECIMAL_DIG__ 9
+#define __UINT_FAST16_MAX__ 0xffff
+#define __LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L
+#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
+#define __UINT_FAST8_TYPE__ unsigned char
+#define __WIN64__ 1
+#define __cpp_init_captures 201304L
+#define __ATOMIC_ACQ_REL 4
+#define __ATOMIC_RELEASE 3
+#define __declspec(x) __attribute__((x))

+ 440 - 0
build/debug/moc_predefs.h

@@ -0,0 +1,440 @@
+#define __DBL_MIN_EXP__ (-1021)
+#define __cpp_attributes 200809L
+#define __cpp_nontype_template_parameter_auto 201606L
+#define __UINT_LEAST16_MAX__ 0xffff
+#define __ATOMIC_ACQUIRE 2
+#define __FLT128_MAX_10_EXP__ 4932
+#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
+#define __GCC_IEC_559_COMPLEX 2
+#define __cpp_aggregate_nsdmi 201304L
+#define __UINT_LEAST8_TYPE__ unsigned char
+#define __SIZEOF_FLOAT80__ 16
+#define __INTMAX_C(c) c ## LL
+#define __CHAR_BIT__ 8
+#define __MINGW32__ 1
+#define __UINT8_MAX__ 0xff
+#define __SCHAR_WIDTH__ 8
+#define _WIN64 1
+#define __WINT_MAX__ 0xffff
+#define __FLT32_MIN_EXP__ (-125)
+#define __cpp_static_assert 201411L
+#define __ORDER_LITTLE_ENDIAN__ 1234
+#define __SIZE_MAX__ 0xffffffffffffffffULL
+#define __WCHAR_MAX__ 0xffff
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
+#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
+#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
+#define __GCC_IEC_559 2
+#define __FLT32X_DECIMAL_DIG__ 17
+#define __FLT_EVAL_METHOD__ 0
+#define __cpp_binary_literals 201304L
+#define __FLT64_DECIMAL_DIG__ 17
+#define __cpp_noexcept_function_type 201510L
+#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
+#define __cpp_variadic_templates 200704L
+#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL
+#define __SIG_ATOMIC_TYPE__ int
+#define __DBL_MIN_10_EXP__ (-307)
+#define __FINITE_MATH_ONLY__ 0
+#define __cpp_variable_templates 201304L
+#define __FLT32X_MAX_EXP__ 1024
+#define __FLT32_HAS_DENORM__ 1
+#define __UINT_FAST8_MAX__ 0xff
+#define __cpp_rvalue_reference 200610L
+#define __cpp_nested_namespace_definitions 201411L
+#define _stdcall __attribute__((__stdcall__))
+#define __DEC64_MAX_EXP__ 385
+#define __INT8_C(c) c
+#define __INT_LEAST8_WIDTH__ 8
+#define __cpp_variadic_using 201611L
+#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL
+#define __INT_LEAST8_MAX__ 0x7f
+#define __cpp_capture_star_this 201603L
+#define __SHRT_MAX__ 0x7fff
+#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
+#define __FLT64X_MAX_10_EXP__ 4932
+#define __cpp_if_constexpr 201606L
+#define __LDBL_IS_IEC_60559__ 2
+#define __FLT64X_HAS_QUIET_NAN__ 1
+#define __UINT_LEAST8_MAX__ 0xff
+#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
+#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
+#define __UINTMAX_TYPE__ long long unsigned int
+#define __DEC32_EPSILON__ 1E-6DF
+#define __FLT_EVAL_METHOD_TS_18661_3__ 0
+#define __UINT32_MAX__ 0xffffffffU
+#define __GXX_EXPERIMENTAL_CXX0X__ 1
+#define __FLT128_MIN_EXP__ (-16381)
+#define __WINT_MIN__ 0
+#define __FLT128_MIN_10_EXP__ (-4931)
+#define __FLT32X_IS_IEC_60559__ 2
+#define __INT_LEAST16_WIDTH__ 16
+#define __SCHAR_MAX__ 0x7f
+#define __FLT128_MANT_DIG__ 113
+#define __WCHAR_MIN__ 0
+#define __INT64_C(c) c ## LL
+#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
+#define __FLT32X_MANT_DIG__ 53
+#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
+#define __cpp_aligned_new 201606L
+#define __USER_LABEL_PREFIX__ 
+#define __FLT32_MAX_10_EXP__ 38
+#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
+#define __STDC_HOSTED__ 1
+#define __DEC64_MIN_EXP__ (-382)
+#define __WIN64 1
+#define __cpp_decltype_auto 201304L
+#define __DBL_DIG__ 15
+#define __FLT32_DIG__ 6
+#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
+#define __GXX_WEAK__ 1
+#define __SHRT_WIDTH__ 16
+#define __FLT32_IS_IEC_60559__ 2
+#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
+#define __DBL_IS_IEC_60559__ 2
+#define __DEC32_MAX__ 9.999999E96DF
+#define __cpp_threadsafe_static_init 200806L
+#define __cpp_enumerator_attributes 201411L
+#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
+#define __FLT32X_HAS_INFINITY__ 1
+#define __INT32_MAX__ 0x7fffffff
+#define __INT_WIDTH__ 32
+#define __SIZEOF_LONG__ 4
+#define __UINT16_C(c) c
+#define __DECIMAL_DIG__ 21
+#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
+#define __INT16_MAX__ 0x7fff
+#define __FLT64_MIN_EXP__ (-1021)
+#define __FLT64X_MIN_10_EXP__ (-4931)
+#define __LDBL_HAS_QUIET_NAN__ 1
+#define __FLT64_MANT_DIG__ 53
+#define _REENTRANT 1
+#define __FLT64X_MANT_DIG__ 64
+#define __GNUC__ 11
+#define _cdecl __attribute__((__cdecl__))
+#define __GXX_RTTI 1
+#define __MMX__ 1
+#define __FLT_HAS_DENORM__ 1
+#define __SIZEOF_LONG_DOUBLE__ 16
+#define __BIGGEST_ALIGNMENT__ 16
+#define __STDC_UTF_16__ 1
+#define __FLT64_MAX_10_EXP__ 308
+#define __cpp_delegating_constructors 200604L
+#define __FLT32_HAS_INFINITY__ 1
+#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
+#define _thiscall __attribute__((__thiscall__))
+#define __cpp_raw_strings 200710L
+#define __INT_FAST32_MAX__ 0x7fffffff
+#define __WINNT 1
+#define __DBL_HAS_INFINITY__ 1
+#define __SIZEOF_FLOAT__ 4
+#define __WINNT__ 1
+#define __HAVE_SPECULATION_SAFE_VALUE 1
+#define __cpp_fold_expressions 201603L
+#define __DEC32_MIN_EXP__ (-94)
+#define __INTPTR_WIDTH__ 64
+#define __FLT64X_HAS_INFINITY__ 1
+#define __UINT_LEAST32_MAX__ 0xffffffffU
+#define __FLT32X_HAS_DENORM__ 1
+#define __INT_FAST16_TYPE__ short int
+#define __MMX_WITH_SSE__ 1
+#define _fastcall __attribute__((__fastcall__))
+#define __LDBL_HAS_DENORM__ 1
+#define __cplusplus 201703L
+#define __cpp_ref_qualifiers 200710L
+#define __DEC32_MIN__ 1E-95DF
+#define __DEPRECATED 1
+#define __cpp_rvalue_references 200610L
+#define __DBL_MAX_EXP__ 1024
+#define __WCHAR_WIDTH__ 16
+#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
+#define __DEC128_EPSILON__ 1E-33DL
+#define __SSE2_MATH__ 1
+#define __ATOMIC_HLE_RELEASE 131072
+#define __WIN32__ 1
+#define __PTRDIFF_MAX__ 0x7fffffffffffffffLL
+#define __amd64 1
+#define __tune_core2__ 1
+#define __ATOMIC_HLE_ACQUIRE 65536
+#define __GNUG__ 11
+#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
+#define __SIZEOF_SIZE_T__ 8
+#define __cpp_nsdmi 200809L
+#define __FLT64X_MIN_EXP__ (-16381)
+#define __SIZEOF_WINT_T__ 2
+#define __LONG_LONG_WIDTH__ 64
+#define __cpp_initializer_lists 200806L
+#define __FLT32_MAX_EXP__ 128
+#define __cpp_hex_float 201603L
+#define __GXX_ABI_VERSION 1016
+#define __FLT128_HAS_INFINITY__ 1
+#define __FLT_MIN_EXP__ (-125)
+#define __GCC_HAVE_DWARF2_CFI_ASM 1
+#define __x86_64 1
+#define __cpp_lambdas 200907L
+#define __INT_FAST64_TYPE__ long long int
+#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
+#define __cpp_template_auto 201606L
+#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
+#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
+#define __FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x
+#define __SIZEOF_POINTER__ 8
+#define __SIZE_TYPE__ long long unsigned int
+#define __DBL_HAS_QUIET_NAN__ 1
+#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
+#define __DECIMAL_BID_FORMAT__ 1
+#define __GXX_TYPEINFO_EQUALITY_INLINE 0
+#define __FLT64_MIN_10_EXP__ (-307)
+#define __FLT64X_DECIMAL_DIG__ 21
+#define __DEC128_MIN__ 1E-6143DL
+#define __REGISTER_PREFIX__ 
+#define __UINT16_MAX__ 0xffff
+#define __cdecl __attribute__((__cdecl__))
+#define __LDBL_HAS_INFINITY__ 1
+#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
+#define __UINT8_TYPE__ unsigned char
+#define __FLT_DIG__ 6
+#define __NO_INLINE__ 1
+#define __DEC_EVAL_METHOD__ 2
+#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
+#define __FLT_MANT_DIG__ 24
+#define __LDBL_DECIMAL_DIG__ 21
+#define __VERSION__ "11.2.0"
+#define __UINT64_C(c) c ## ULL
+#define __cpp_unicode_characters 201411L
+#define _WIN32 1
+#define __SEH__ 1
+#define __INT_LEAST32_MAX__ 0x7fffffff
+#define __GCC_ATOMIC_INT_LOCK_FREE 2
+#define __FLT128_MAX_EXP__ 16384
+#define __FLT32_MANT_DIG__ 24
+#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
+#define __cpp_aggregate_bases 201603L
+#define __FLT128_HAS_DENORM__ 1
+#define __FLT32_DECIMAL_DIG__ 9
+#define __FLT128_DIG__ 33
+#define __INT32_C(c) c
+#define __DEC64_EPSILON__ 1E-15DD
+#define __ORDER_PDP_ENDIAN__ 3412
+#define __DEC128_MIN_EXP__ (-6142)
+#define __INT_FAST32_TYPE__ int
+#define __UINT_LEAST16_TYPE__ short unsigned int
+#define __DBL_HAS_DENORM__ 1
+#define __cpp_rtti 199711L
+#define __UINT64_MAX__ 0xffffffffffffffffULL
+#define __FLT_IS_IEC_60559__ 2
+#define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-16LE"
+#define __FLT64X_DIG__ 18
+#define __INT8_TYPE__ signed char
+#define __cpp_digit_separators 201309L
+#define __GCC_ASM_FLAG_OUTPUTS__ 1
+#define __UINT32_TYPE__ unsigned int
+#define __FLT_RADIX__ 2
+#define __INT_LEAST16_TYPE__ short int
+#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
+#define __UINTMAX_C(c) c ## ULL
+#define __GLIBCXX_BITSIZE_INT_N_0 128
+#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
+#define __SIG_ATOMIC_MAX__ 0x7fffffff
+#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
+#define __SIZEOF_PTRDIFF_T__ 8
+#define __LDBL_DIG__ 18
+#define __FLT64_IS_IEC_60559__ 2
+#define __x86_64__ 1
+#define __FLT32X_MIN_EXP__ (-1021)
+#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
+#define __MSVCRT__ 1
+#define __INT_FAST16_MAX__ 0x7fff
+#define __FLT64_DIG__ 15
+#define __UINT_FAST32_MAX__ 0xffffffffU
+#define __UINT_LEAST64_TYPE__ long long unsigned int
+#define __FLT_HAS_QUIET_NAN__ 1
+#define __FLT_MAX_10_EXP__ 38
+#define __LONG_MAX__ 0x7fffffffL
+#define __FLT64X_HAS_DENORM__ 1
+#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
+#define __FLT_HAS_INFINITY__ 1
+#define __GNUC_EXECUTION_CHARSET_NAME "UTF-8"
+#define __cpp_unicode_literals 200710L
+#define __UINT_FAST16_TYPE__ short unsigned int
+#define __DEC64_MAX__ 9.999999999999999E384DD
+#define __INT_FAST32_WIDTH__ 32
+#define __CHAR16_TYPE__ short unsigned int
+#define __PRAGMA_REDEFINE_EXTNAME 1
+#define __SIZE_WIDTH__ 64
+#define __SEG_FS 1
+#define __INT_LEAST16_MAX__ 0x7fff
+#define __DEC64_MANT_DIG__ 16
+#define __INT64_MAX__ 0x7fffffffffffffffLL
+#define __SEG_GS 1
+#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
+#define __SIG_ATOMIC_WIDTH__ 32
+#define __INT_LEAST64_TYPE__ long long int
+#define __INT16_TYPE__ short int
+#define __INT_LEAST8_TYPE__ signed char
+#define __nocona__ 1
+#define __cpp_structured_bindings 201606L
+#define __SIZEOF_INT__ 4
+#define __DEC32_MAX_EXP__ 97
+#define __INT_FAST8_MAX__ 0x7f
+#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
+#define __INTPTR_MAX__ 0x7fffffffffffffffLL
+#define __cpp_sized_deallocation 201309L
+#define __cpp_guaranteed_copy_elision 201606L
+#define __FLT64_HAS_QUIET_NAN__ 1
+#define __stdcall __attribute__((__stdcall__))
+#define __FLT32_MIN_10_EXP__ (-37)
+#define __EXCEPTIONS 1
+#define __GXX_MERGED_TYPEINFO_NAMES 0
+#define __PTRDIFF_WIDTH__ 64
+#define __LDBL_MANT_DIG__ 64
+#define __cpp_range_based_for 201603L
+#define __FLT64_HAS_INFINITY__ 1
+#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
+#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16
+#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
+#define __GCC_ATOMIC_LONG_LOCK_FREE 2
+#define __cpp_nontype_template_args 201411L
+#define __DEC32_MANT_DIG__ 7
+#define __cpp_return_type_deduction 201304L
+#define __INTPTR_TYPE__ long long int
+#define __UINT16_TYPE__ short unsigned int
+#define __WCHAR_TYPE__ short unsigned int
+#define __pic__ 1
+#define __UINTPTR_MAX__ 0xffffffffffffffffULL
+#define __INT_FAST64_WIDTH__ 64
+#define __cpp_decltype 200707L
+#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL
+#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
+#define __FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F
+#define __FLT64X_MAX_EXP__ 16384
+#define __UINT_FAST64_TYPE__ long long unsigned int
+#define __cpp_inline_variables 201606L
+#define __INT_MAX__ 0x7fffffff
+#define WIN32 1
+#define __nocona 1
+#define __code_model_medium__ 1
+#define __INT64_TYPE__ long long int
+#define __FLT_MAX_EXP__ 128
+#define WIN64 1
+#define __ORDER_BIG_ENDIAN__ 4321
+#define __DBL_MANT_DIG__ 53
+#define __cpp_inheriting_constructors 201511L
+#define __SIZEOF_FLOAT128__ 16
+#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL
+#define __DEC64_MIN__ 1E-383DD
+#define __WINT_TYPE__ short unsigned int
+#define __UINT_LEAST32_TYPE__ unsigned int
+#define __SIZEOF_SHORT__ 2
+#define __FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32
+#define __SSE__ 1
+#define __LDBL_MIN_EXP__ (-16381)
+#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
+#define __amd64__ 1
+#define __WINT_WIDTH__ 16
+#define __INT_LEAST64_WIDTH__ 64
+#define __LDBL_MAX_EXP__ 16384
+#define __FLT32X_MAX_10_EXP__ 308
+#define __WIN32 1
+#define __SIZEOF_INT128__ 16
+#define __FLT64X_IS_IEC_60559__ 2
+#define __WCHAR_UNSIGNED__ 1
+#define __LDBL_MAX_10_EXP__ 4932
+#define __ATOMIC_RELAXED 0
+#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
+#define __thiscall __attribute__((__thiscall__))
+#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
+#define __UINT8_C(c) c
+#define __FLT64_MAX_EXP__ 1024
+#define __INT_LEAST32_TYPE__ int
+#define __SIZEOF_WCHAR_T__ 2
+#define __GNUC_PATCHLEVEL__ 0
+#define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128
+#define __FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64
+#define __FLT128_HAS_QUIET_NAN__ 1
+#define __INTMAX_MAX__ 0x7fffffffffffffffLL
+#define __SSE3__ 1
+#define __INT_FAST8_TYPE__ signed char
+#define __fastcall __attribute__((__fastcall__))
+#define __cpp_namespace_attributes 201411L
+#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
+#define __STDCPP_THREADS__ 1
+#define __GNUC_STDC_INLINE__ 1
+#define __FLT64_HAS_DENORM__ 1
+#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
+#define __DBL_DECIMAL_DIG__ 17
+#define __STDC_UTF_32__ 1
+#define __INT_FAST8_WIDTH__ 8
+#define __FXSR__ 1
+#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
+#define __DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L)
+#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
+#define __MINGW64__ 1
+#define __INTMAX_WIDTH__ 64
+#define __cpp_runtime_arrays 198712L
+#define __UINT64_TYPE__ long long unsigned int
+#define __UINT32_C(c) c ## U
+#define __cpp_alias_templates 200704L
+#define WINNT 1
+#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
+#define __FLT128_IS_IEC_60559__ 2
+#define __INT8_MAX__ 0x7f
+#define __LONG_WIDTH__ 32
+#define __PIC__ 1
+#define __UINT_FAST32_TYPE__ unsigned int
+#define __FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x
+#define __CHAR32_TYPE__ unsigned int
+#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
+#define __cpp_constexpr 201603L
+#define __SSE2__ 1
+#define __cpp_deduction_guides 201703L
+#define __INT32_TYPE__ int
+#define __SIZEOF_DOUBLE__ 8
+#define __cpp_exceptions 199711L
+#define __FLT_MIN_10_EXP__ (-37)
+#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
+#define __INT_LEAST32_WIDTH__ 32
+#define __INTMAX_TYPE__ long long int
+#define _INTEGRAL_MAX_BITS 64
+#define __DEC128_MAX_EXP__ 6145
+#define __FLT32X_HAS_QUIET_NAN__ 1
+#define __ATOMIC_CONSUME 1
+#define __GNUC_MINOR__ 2
+#define __GLIBCXX_TYPE_INT_N_0 __int128
+#define __INT_FAST16_WIDTH__ 16
+#define __UINTMAX_MAX__ 0xffffffffffffffffULL
+#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
+#define __cpp_template_template_args 201611L
+#define __DBL_MAX_10_EXP__ 308
+#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
+#define __INT16_C(c) c
+#define __STDC__ 1
+#define __FLT32X_DIG__ 15
+#define __PTRDIFF_TYPE__ long long int
+#define __ATOMIC_SEQ_CST 5
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1
+#define __FLT32X_MIN_10_EXP__ (-307)
+#define __UINTPTR_TYPE__ long long unsigned int
+#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
+#define __DEC128_MANT_DIG__ 34
+#define __LDBL_MIN_10_EXP__ (-4931)
+#define __cpp_generic_lambdas 201304L
+#define __SSE_MATH__ 1
+#define __SIZEOF_LONG_LONG__ 8
+#define __cpp_user_defined_literals 200809L
+#define __FLT128_DECIMAL_DIG__ 36
+#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
+#define __FLT32_HAS_QUIET_NAN__ 1
+#define __FLT_DECIMAL_DIG__ 9
+#define __UINT_FAST16_MAX__ 0xffff
+#define __LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L
+#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
+#define __UINT_FAST8_TYPE__ unsigned char
+#define __WIN64__ 1
+#define __cpp_init_captures 201304L
+#define __ATOMIC_ACQ_REL 4
+#define __ATOMIC_RELEASE 3
+#define __declspec(x) __attribute__((x))

+ 439 - 0
build/release/moc_predefs.h

@@ -0,0 +1,439 @@
+#define __DBL_MIN_EXP__ (-1021)
+#define __cpp_attributes 200809L
+#define __cpp_nontype_template_parameter_auto 201606L
+#define __UINT_LEAST16_MAX__ 0xffff
+#define __ATOMIC_ACQUIRE 2
+#define __FLT128_MAX_10_EXP__ 4932
+#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
+#define __GCC_IEC_559_COMPLEX 2
+#define __cpp_aggregate_nsdmi 201304L
+#define __UINT_LEAST8_TYPE__ unsigned char
+#define __SIZEOF_FLOAT80__ 16
+#define __INTMAX_C(c) c ## LL
+#define __CHAR_BIT__ 8
+#define __MINGW32__ 1
+#define __UINT8_MAX__ 0xff
+#define __SCHAR_WIDTH__ 8
+#define _WIN64 1
+#define __WINT_MAX__ 0xffff
+#define __FLT32_MIN_EXP__ (-125)
+#define __cpp_static_assert 201411L
+#define __ORDER_LITTLE_ENDIAN__ 1234
+#define __SIZE_MAX__ 0xffffffffffffffffULL
+#define __WCHAR_MAX__ 0xffff
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
+#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
+#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
+#define __GCC_IEC_559 2
+#define __FLT32X_DECIMAL_DIG__ 17
+#define __FLT_EVAL_METHOD__ 0
+#define __cpp_binary_literals 201304L
+#define __FLT64_DECIMAL_DIG__ 17
+#define __cpp_noexcept_function_type 201510L
+#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
+#define __cpp_variadic_templates 200704L
+#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL
+#define __SIG_ATOMIC_TYPE__ int
+#define __DBL_MIN_10_EXP__ (-307)
+#define __FINITE_MATH_ONLY__ 0
+#define __cpp_variable_templates 201304L
+#define __FLT32X_MAX_EXP__ 1024
+#define __FLT32_HAS_DENORM__ 1
+#define __UINT_FAST8_MAX__ 0xff
+#define __cpp_rvalue_reference 200610L
+#define __cpp_nested_namespace_definitions 201411L
+#define _stdcall __attribute__((__stdcall__))
+#define __DEC64_MAX_EXP__ 385
+#define __INT8_C(c) c
+#define __INT_LEAST8_WIDTH__ 8
+#define __cpp_variadic_using 201611L
+#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL
+#define __INT_LEAST8_MAX__ 0x7f
+#define __cpp_capture_star_this 201603L
+#define __SHRT_MAX__ 0x7fff
+#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
+#define __FLT64X_MAX_10_EXP__ 4932
+#define __cpp_if_constexpr 201606L
+#define __LDBL_IS_IEC_60559__ 2
+#define __FLT64X_HAS_QUIET_NAN__ 1
+#define __UINT_LEAST8_MAX__ 0xff
+#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
+#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
+#define __UINTMAX_TYPE__ long long unsigned int
+#define __DEC32_EPSILON__ 1E-6DF
+#define __FLT_EVAL_METHOD_TS_18661_3__ 0
+#define __OPTIMIZE__ 1
+#define __UINT32_MAX__ 0xffffffffU
+#define __GXX_EXPERIMENTAL_CXX0X__ 1
+#define __FLT128_MIN_EXP__ (-16381)
+#define __WINT_MIN__ 0
+#define __FLT128_MIN_10_EXP__ (-4931)
+#define __FLT32X_IS_IEC_60559__ 2
+#define __INT_LEAST16_WIDTH__ 16
+#define __SCHAR_MAX__ 0x7f
+#define __FLT128_MANT_DIG__ 113
+#define __WCHAR_MIN__ 0
+#define __INT64_C(c) c ## LL
+#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
+#define __FLT32X_MANT_DIG__ 53
+#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
+#define __cpp_aligned_new 201606L
+#define __USER_LABEL_PREFIX__ 
+#define __FLT32_MAX_10_EXP__ 38
+#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
+#define __STDC_HOSTED__ 1
+#define __DEC64_MIN_EXP__ (-382)
+#define __WIN64 1
+#define __cpp_decltype_auto 201304L
+#define __DBL_DIG__ 15
+#define __FLT32_DIG__ 6
+#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
+#define __GXX_WEAK__ 1
+#define __SHRT_WIDTH__ 16
+#define __FLT32_IS_IEC_60559__ 2
+#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
+#define __DBL_IS_IEC_60559__ 2
+#define __DEC32_MAX__ 9.999999E96DF
+#define __cpp_threadsafe_static_init 200806L
+#define __cpp_enumerator_attributes 201411L
+#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
+#define __FLT32X_HAS_INFINITY__ 1
+#define __INT32_MAX__ 0x7fffffff
+#define __INT_WIDTH__ 32
+#define __SIZEOF_LONG__ 4
+#define __UINT16_C(c) c
+#define __DECIMAL_DIG__ 21
+#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
+#define __INT16_MAX__ 0x7fff
+#define __FLT64_MIN_EXP__ (-1021)
+#define __FLT64X_MIN_10_EXP__ (-4931)
+#define __LDBL_HAS_QUIET_NAN__ 1
+#define __FLT64_MANT_DIG__ 53
+#define _REENTRANT 1
+#define __FLT64X_MANT_DIG__ 64
+#define __GNUC__ 11
+#define _cdecl __attribute__((__cdecl__))
+#define __GXX_RTTI 1
+#define __MMX__ 1
+#define __FLT_HAS_DENORM__ 1
+#define __SIZEOF_LONG_DOUBLE__ 16
+#define __BIGGEST_ALIGNMENT__ 16
+#define __STDC_UTF_16__ 1
+#define __FLT64_MAX_10_EXP__ 308
+#define __cpp_delegating_constructors 200604L
+#define __FLT32_HAS_INFINITY__ 1
+#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
+#define _thiscall __attribute__((__thiscall__))
+#define __cpp_raw_strings 200710L
+#define __INT_FAST32_MAX__ 0x7fffffff
+#define __WINNT 1
+#define __DBL_HAS_INFINITY__ 1
+#define __SIZEOF_FLOAT__ 4
+#define __WINNT__ 1
+#define __HAVE_SPECULATION_SAFE_VALUE 1
+#define __cpp_fold_expressions 201603L
+#define __DEC32_MIN_EXP__ (-94)
+#define __INTPTR_WIDTH__ 64
+#define __FLT64X_HAS_INFINITY__ 1
+#define __UINT_LEAST32_MAX__ 0xffffffffU
+#define __FLT32X_HAS_DENORM__ 1
+#define __INT_FAST16_TYPE__ short int
+#define __MMX_WITH_SSE__ 1
+#define _fastcall __attribute__((__fastcall__))
+#define __LDBL_HAS_DENORM__ 1
+#define __cplusplus 201703L
+#define __cpp_ref_qualifiers 200710L
+#define __DEC32_MIN__ 1E-95DF
+#define __DEPRECATED 1
+#define __cpp_rvalue_references 200610L
+#define __DBL_MAX_EXP__ 1024
+#define __WCHAR_WIDTH__ 16
+#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
+#define __DEC128_EPSILON__ 1E-33DL
+#define __SSE2_MATH__ 1
+#define __ATOMIC_HLE_RELEASE 131072
+#define __WIN32__ 1
+#define __PTRDIFF_MAX__ 0x7fffffffffffffffLL
+#define __amd64 1
+#define __tune_core2__ 1
+#define __ATOMIC_HLE_ACQUIRE 65536
+#define __GNUG__ 11
+#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
+#define __SIZEOF_SIZE_T__ 8
+#define __cpp_nsdmi 200809L
+#define __FLT64X_MIN_EXP__ (-16381)
+#define __SIZEOF_WINT_T__ 2
+#define __LONG_LONG_WIDTH__ 64
+#define __cpp_initializer_lists 200806L
+#define __FLT32_MAX_EXP__ 128
+#define __cpp_hex_float 201603L
+#define __GXX_ABI_VERSION 1016
+#define __FLT128_HAS_INFINITY__ 1
+#define __FLT_MIN_EXP__ (-125)
+#define __x86_64 1
+#define __cpp_lambdas 200907L
+#define __INT_FAST64_TYPE__ long long int
+#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
+#define __cpp_template_auto 201606L
+#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
+#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
+#define __FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x
+#define __SIZEOF_POINTER__ 8
+#define __SIZE_TYPE__ long long unsigned int
+#define __DBL_HAS_QUIET_NAN__ 1
+#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
+#define __DECIMAL_BID_FORMAT__ 1
+#define __GXX_TYPEINFO_EQUALITY_INLINE 0
+#define __FLT64_MIN_10_EXP__ (-307)
+#define __FLT64X_DECIMAL_DIG__ 21
+#define __DEC128_MIN__ 1E-6143DL
+#define __REGISTER_PREFIX__ 
+#define __UINT16_MAX__ 0xffff
+#define __cdecl __attribute__((__cdecl__))
+#define __LDBL_HAS_INFINITY__ 1
+#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
+#define __UINT8_TYPE__ unsigned char
+#define __FLT_DIG__ 6
+#define __DEC_EVAL_METHOD__ 2
+#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
+#define __FLT_MANT_DIG__ 24
+#define __LDBL_DECIMAL_DIG__ 21
+#define __VERSION__ "11.2.0"
+#define __UINT64_C(c) c ## ULL
+#define __cpp_unicode_characters 201411L
+#define _WIN32 1
+#define __SEH__ 1
+#define __INT_LEAST32_MAX__ 0x7fffffff
+#define __GCC_ATOMIC_INT_LOCK_FREE 2
+#define __FLT128_MAX_EXP__ 16384
+#define __FLT32_MANT_DIG__ 24
+#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
+#define __cpp_aggregate_bases 201603L
+#define __FLT128_HAS_DENORM__ 1
+#define __FLT32_DECIMAL_DIG__ 9
+#define __FLT128_DIG__ 33
+#define __INT32_C(c) c
+#define __DEC64_EPSILON__ 1E-15DD
+#define __ORDER_PDP_ENDIAN__ 3412
+#define __DEC128_MIN_EXP__ (-6142)
+#define __INT_FAST32_TYPE__ int
+#define __UINT_LEAST16_TYPE__ short unsigned int
+#define __DBL_HAS_DENORM__ 1
+#define __cpp_rtti 199711L
+#define __UINT64_MAX__ 0xffffffffffffffffULL
+#define __FLT_IS_IEC_60559__ 2
+#define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-16LE"
+#define __FLT64X_DIG__ 18
+#define __INT8_TYPE__ signed char
+#define __cpp_digit_separators 201309L
+#define __GCC_ASM_FLAG_OUTPUTS__ 1
+#define __UINT32_TYPE__ unsigned int
+#define __FLT_RADIX__ 2
+#define __INT_LEAST16_TYPE__ short int
+#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
+#define __UINTMAX_C(c) c ## ULL
+#define __GLIBCXX_BITSIZE_INT_N_0 128
+#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
+#define __SIG_ATOMIC_MAX__ 0x7fffffff
+#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
+#define __SIZEOF_PTRDIFF_T__ 8
+#define __LDBL_DIG__ 18
+#define __FLT64_IS_IEC_60559__ 2
+#define __x86_64__ 1
+#define __FLT32X_MIN_EXP__ (-1021)
+#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
+#define __MSVCRT__ 1
+#define __INT_FAST16_MAX__ 0x7fff
+#define __FLT64_DIG__ 15
+#define __UINT_FAST32_MAX__ 0xffffffffU
+#define __UINT_LEAST64_TYPE__ long long unsigned int
+#define __FLT_HAS_QUIET_NAN__ 1
+#define __FLT_MAX_10_EXP__ 38
+#define __LONG_MAX__ 0x7fffffffL
+#define __FLT64X_HAS_DENORM__ 1
+#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
+#define __FLT_HAS_INFINITY__ 1
+#define __GNUC_EXECUTION_CHARSET_NAME "UTF-8"
+#define __cpp_unicode_literals 200710L
+#define __UINT_FAST16_TYPE__ short unsigned int
+#define __DEC64_MAX__ 9.999999999999999E384DD
+#define __INT_FAST32_WIDTH__ 32
+#define __CHAR16_TYPE__ short unsigned int
+#define __PRAGMA_REDEFINE_EXTNAME 1
+#define __SIZE_WIDTH__ 64
+#define __SEG_FS 1
+#define __INT_LEAST16_MAX__ 0x7fff
+#define __DEC64_MANT_DIG__ 16
+#define __INT64_MAX__ 0x7fffffffffffffffLL
+#define __SEG_GS 1
+#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
+#define __SIG_ATOMIC_WIDTH__ 32
+#define __INT_LEAST64_TYPE__ long long int
+#define __INT16_TYPE__ short int
+#define __INT_LEAST8_TYPE__ signed char
+#define __nocona__ 1
+#define __cpp_structured_bindings 201606L
+#define __SIZEOF_INT__ 4
+#define __DEC32_MAX_EXP__ 97
+#define __INT_FAST8_MAX__ 0x7f
+#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
+#define __INTPTR_MAX__ 0x7fffffffffffffffLL
+#define __cpp_sized_deallocation 201309L
+#define __cpp_guaranteed_copy_elision 201606L
+#define __FLT64_HAS_QUIET_NAN__ 1
+#define __stdcall __attribute__((__stdcall__))
+#define __FLT32_MIN_10_EXP__ (-37)
+#define __EXCEPTIONS 1
+#define __GXX_MERGED_TYPEINFO_NAMES 0
+#define __PTRDIFF_WIDTH__ 64
+#define __LDBL_MANT_DIG__ 64
+#define __cpp_range_based_for 201603L
+#define __FLT64_HAS_INFINITY__ 1
+#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
+#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16
+#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
+#define __GCC_ATOMIC_LONG_LOCK_FREE 2
+#define __cpp_nontype_template_args 201411L
+#define __DEC32_MANT_DIG__ 7
+#define __cpp_return_type_deduction 201304L
+#define __INTPTR_TYPE__ long long int
+#define __UINT16_TYPE__ short unsigned int
+#define __WCHAR_TYPE__ short unsigned int
+#define __pic__ 1
+#define __UINTPTR_MAX__ 0xffffffffffffffffULL
+#define __INT_FAST64_WIDTH__ 64
+#define __cpp_decltype 200707L
+#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL
+#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
+#define __FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F
+#define __FLT64X_MAX_EXP__ 16384
+#define __UINT_FAST64_TYPE__ long long unsigned int
+#define __cpp_inline_variables 201606L
+#define __INT_MAX__ 0x7fffffff
+#define WIN32 1
+#define __nocona 1
+#define __code_model_medium__ 1
+#define __INT64_TYPE__ long long int
+#define __FLT_MAX_EXP__ 128
+#define WIN64 1
+#define __ORDER_BIG_ENDIAN__ 4321
+#define __DBL_MANT_DIG__ 53
+#define __cpp_inheriting_constructors 201511L
+#define __SIZEOF_FLOAT128__ 16
+#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL
+#define __DEC64_MIN__ 1E-383DD
+#define __WINT_TYPE__ short unsigned int
+#define __UINT_LEAST32_TYPE__ unsigned int
+#define __SIZEOF_SHORT__ 2
+#define __FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32
+#define __SSE__ 1
+#define __LDBL_MIN_EXP__ (-16381)
+#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
+#define __amd64__ 1
+#define __WINT_WIDTH__ 16
+#define __INT_LEAST64_WIDTH__ 64
+#define __LDBL_MAX_EXP__ 16384
+#define __FLT32X_MAX_10_EXP__ 308
+#define __WIN32 1
+#define __SIZEOF_INT128__ 16
+#define __FLT64X_IS_IEC_60559__ 2
+#define __WCHAR_UNSIGNED__ 1
+#define __LDBL_MAX_10_EXP__ 4932
+#define __ATOMIC_RELAXED 0
+#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
+#define __thiscall __attribute__((__thiscall__))
+#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
+#define __UINT8_C(c) c
+#define __FLT64_MAX_EXP__ 1024
+#define __INT_LEAST32_TYPE__ int
+#define __SIZEOF_WCHAR_T__ 2
+#define __GNUC_PATCHLEVEL__ 0
+#define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128
+#define __FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64
+#define __FLT128_HAS_QUIET_NAN__ 1
+#define __INTMAX_MAX__ 0x7fffffffffffffffLL
+#define __SSE3__ 1
+#define __INT_FAST8_TYPE__ signed char
+#define __fastcall __attribute__((__fastcall__))
+#define __cpp_namespace_attributes 201411L
+#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
+#define __STDCPP_THREADS__ 1
+#define __GNUC_STDC_INLINE__ 1
+#define __FLT64_HAS_DENORM__ 1
+#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
+#define __DBL_DECIMAL_DIG__ 17
+#define __STDC_UTF_32__ 1
+#define __INT_FAST8_WIDTH__ 8
+#define __FXSR__ 1
+#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
+#define __DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L)
+#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
+#define __MINGW64__ 1
+#define __INTMAX_WIDTH__ 64
+#define __cpp_runtime_arrays 198712L
+#define __UINT64_TYPE__ long long unsigned int
+#define __UINT32_C(c) c ## U
+#define __cpp_alias_templates 200704L
+#define WINNT 1
+#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
+#define __FLT128_IS_IEC_60559__ 2
+#define __INT8_MAX__ 0x7f
+#define __LONG_WIDTH__ 32
+#define __PIC__ 1
+#define __UINT_FAST32_TYPE__ unsigned int
+#define __FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x
+#define __CHAR32_TYPE__ unsigned int
+#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
+#define __cpp_constexpr 201603L
+#define __SSE2__ 1
+#define __cpp_deduction_guides 201703L
+#define __INT32_TYPE__ int
+#define __SIZEOF_DOUBLE__ 8
+#define __cpp_exceptions 199711L
+#define __FLT_MIN_10_EXP__ (-37)
+#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
+#define __INT_LEAST32_WIDTH__ 32
+#define __INTMAX_TYPE__ long long int
+#define _INTEGRAL_MAX_BITS 64
+#define __DEC128_MAX_EXP__ 6145
+#define __FLT32X_HAS_QUIET_NAN__ 1
+#define __ATOMIC_CONSUME 1
+#define __GNUC_MINOR__ 2
+#define __GLIBCXX_TYPE_INT_N_0 __int128
+#define __INT_FAST16_WIDTH__ 16
+#define __UINTMAX_MAX__ 0xffffffffffffffffULL
+#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
+#define __cpp_template_template_args 201611L
+#define __DBL_MAX_10_EXP__ 308
+#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
+#define __INT16_C(c) c
+#define __STDC__ 1
+#define __FLT32X_DIG__ 15
+#define __PTRDIFF_TYPE__ long long int
+#define __ATOMIC_SEQ_CST 5
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1
+#define __FLT32X_MIN_10_EXP__ (-307)
+#define __UINTPTR_TYPE__ long long unsigned int
+#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
+#define __DEC128_MANT_DIG__ 34
+#define __LDBL_MIN_10_EXP__ (-4931)
+#define __cpp_generic_lambdas 201304L
+#define __SSE_MATH__ 1
+#define __SIZEOF_LONG_LONG__ 8
+#define __cpp_user_defined_literals 200809L
+#define __FLT128_DECIMAL_DIG__ 36
+#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
+#define __FLT32_HAS_QUIET_NAN__ 1
+#define __FLT_DECIMAL_DIG__ 9
+#define __UINT_FAST16_MAX__ 0xffff
+#define __LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L
+#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
+#define __UINT_FAST8_TYPE__ unsigned char
+#define __WIN64__ 1
+#define __cpp_init_captures 201304L
+#define __ATOMIC_ACQ_REL 4
+#define __ATOMIC_RELEASE 3
+#define __declspec(x) __attribute__((x))

+ 285 - 0
src/fliter/Kalman.cpp

@@ -0,0 +1,285 @@
+#include <iostream>
+#include <Eigen/Dense>
+#include "Kalman.h"
+using namespace Eigen;
+using namespace std;
+
+// 卡尔曼滤波器类的实现
+//void init(int dynamParams, int measureParams, int controlParams = 0);
+
+void Kalman::init(int DP, int MP, int CP)
+{
+ assert(DP > 0 && MP > 0);
+ CP = std::max(CP, 0);
+ 
+ statePre = MatrixXf::Zero(DP, 1);   //predicted state (x'(k)): x(k)=A*x(k-1)+B*u(k)
+ stateOpt = MatrixXf::Zero(DP, 1);   //corrected state (x(k)): x(k)=x'(k)+K(k)*(z(k)-H*x'(k))
+ transMat = MatrixXf::Identity(DP, DP); //A
+ transMat_slow = MatrixXf::Identity(DP, DP); //A
+ processNoiseCov = MatrixXf::Identity(DP, DP); //Q
+ processNoiseCov_Slow = MatrixXf::Identity(DP, DP); //Q Slow_speed
+ processNoiseCov_Fast = MatrixXf::Identity(DP, DP); //Q Fast_speed
+ measureMat = MatrixXf::Zero(MP, DP); //H
+ measureNosiseCov = MatrixXf::Identity(MP, MP); //R
+ measureNosiseCov_Slow = MatrixXf::Identity(MP, MP); //R Slow_speed
+ measureNosiseCov_Fast = MatrixXf::Identity(MP, MP); //R Fast_speed
+ errorCovpre = MatrixXf::Zero(DP, DP);   //(P'(k)): P'(k)=A*P(k-1)*At + Q)
+ errorCovOpt = MatrixXf::Zero(DP, DP);   //(P(k)) : P(k) = (I - K(k)*H)*P'(k)
+ Kgain = MatrixXf::Zero(DP, MP);  //(K(k)) : K(k) = P'(k)*Ht*inv(H*P'(k)*Ht + R)
+ 
+ //STKF
+ Vk = MatrixXf::Zero(MP, MP);
+ Nk = MatrixXf::Zero(MP, MP);
+ Mk = MatrixXf::Zero(MP, MP);
+ rho = 0.55;
+ 
+ //
+ if (CP > 0)
+  contrMat = MatrixXf::Zero(DP, CP);
+ 
+ tmp1 = MatrixXf::Zero(DP, DP);
+ 
+ //tmp2 = MatrixXf::Zero(MP, DP);
+ tmp2 = MatrixXf::Zero(DP, MP);
+ tmp3 = MatrixXf::Zero(MP, MP);
+ //tmp4 = MatrixXf::Zero(MP, DP);
+ tmp4 = MatrixXf::Zero(DP, MP);
+ tmp5 = MatrixXf::Zero(MP, 1);
+}
+
+// 根据输入参数计算 beta 值
+double Kalman::get_beta(double vx, double vy, double yetax, double yetay){
+ 
+ double yeta = abs(vx + vy + yetax + yetay) / 25;
+ //cout << yeta << endl;
+ 
+ double bt1 = 0.001 + 1 / (1 + exp(-(yeta - 5)));
+ double bt2 = 0.001 + 1 / (1 + exp(-(yeta - 8)));
+ double bt3 = 0.001+ 1 / (1 + exp(-(0.5*yeta - 5)));
+ double bt4 = 0.001 + 1 / (1 + exp(-(0.4*yeta - 5)));
+ double bt5 = 0.001 + 1 / (1 + exp(-(0.85*yeta - 8)));
+ 
+ return bt5;
+}
+
+// 根据输入参数计算 beta_plus 值
+double Kalman::get_beta_plus(double vx, double vy){
+ 
+ double Vxy = sqrt(vx*vx + vy*vy);
+ double bt=0;
+ double tp1 = Vxy - 30;
+ double tp2 = pow(Vxy - 20, 0.1);
+ if (Vxy <= 30)
+  bt =  0.0000006;
+ else if (Vxy > 30 && Vxy <70)
+  bt = 0.6 * (0.1 + 100 / (0.6 + exp(-tp1)));
+ else if (Vxy >= 70 && Vxy<= 80)
+  bt = 2 * (0.01 + 100 / (0.15 + exp(-tp2)));
+ else if (Vxy >80)
+  bt = 2* (0.01 + 100 / (0.1 + exp(-tp2)));
+ //	bt = 0.1 * (0.01 + 100 / (0.1 + exp(-tp2)));
+ /*if (Vxy <= 30)
+  bt = 0.01;
+ if (Vxy > 30 && Vxy < 80)
+  bt = 0.5;
+ if (Vxy >= 80)
+  bt = 1.2;*/
+ 
+ return bt;
+}
+
+// 获取 Vk 矩阵
+MatrixXf& Kalman::get_Vk(){
+ 
+ Vk = (rho*Vk + tmp5*tmp5.transpose()) / (1 + rho);
+ 
+ return Vk;
+}
+
+// 获取 Mk 矩阵
+MatrixXf& Kalman::get_Mk(){
+ 
+ Mk = measureMat*transMat*errorCovpre * transMat.transpose() * measureMat.transpose();
+ return Mk;
+}
+
+// 获取 Nk 矩阵
+MatrixXf& Kalman::get_Nk(){
+ 
+ Nk = Vk - measureNosiseCov - measureMat *processNoiseCov*measureMat.transpose();
+ return Nk;
+}
+
+// 计算 lambda 值
+double Kalman::get_lamda(int MP){
+ double tr_Nk = 0;
+ double tr_Mk = 0;
+ double lamda = 0;
+ Vk=get_Vk();
+ Nk=get_Nk();
+ Mk=get_Mk();
+ for (int i = 0; i < MP; ++i){
+      
+  tr_Nk = tr_Nk + Nk(i, i);
+  tr_Mk = tr_Mk + Mk(i, i);
+ }
+ double ck = tr_Nk /(tr_Mk+0.0000001);
+ //cout << ck << endl;
+ if (ck >= 1)
+  lamda = ck;
+ else if (ck < 1)
+  lamda = 1;
+ return lamda;
+}
+
+// 强跟踪卡尔曼预测
+MatrixXf &Kalman::STFK_predict(int MP, double &vx, double &vy, double &yetax, double &yetay){
+ 
+ lamda = get_lamda(MP);
+ //cout << lamda << endl;
+ 
+ // update the state: x'(k) = A*x(k)
+ statePre = transMat*stateOpt;
+ // update error covariance matrices : tmp1 = A*P(k)
+ tmp1 = transMat*errorCovOpt;
+ // P'(k) = lamda * temp1*At + Q
+ beta = get_beta(vx, vy, yetax, yetay);
+ cout << beta *1<< endl;
+ errorCovpre = lamda * tmp1*transMat.transpose() + beta * processNoiseCov;
+ 
+ //iteration
+ stateOpt = statePre;
+ errorCovOpt = errorCovpre;
+ 
+ return statePre;
+}
+
+// 自适应卡尔曼预测
+MatrixXf& Kalman::AK_predict(double &vx, double &vy, double &yetax, double &yetay){
+ 
+ // update the state: x'(k) = A*x(k)
+ statePre = transMat*stateOpt;
+ // update error covariance matrices : temp1 = A*P(k)
+ tmp1 = transMat*errorCovOpt;
+ // P'(k) = temp1*At + Q
+ beta = get_beta(vx, vy, yetax, yetay);
+ //cout << beta *1 << endl;
+ //beta = get_beta_plus(vx, vy);
+ errorCovpre = tmp1*transMat.transpose() + beta * processNoiseCov;
+ 
+ //iteration
+ stateOpt = statePre;
+ errorCovOpt = errorCovpre;
+ 
+ return statePre;
+}
+
+// 速度自适应卡尔曼预测
+MatrixXf& Kalman::AKV_predict(double vx, double vy, double yetax, double yetay,double V_TL,double V_TH){
+ 
+ // update the state: x'(k) = A*x(k)
+ statePre = transMat*stateOpt;
+ // update error covariance matrices : temp1 = A*P(k)
+ tmp1 = transMat*errorCovOpt;
+ // P'(k) = temp1*At + Q
+ beta = get_beta(vx, vy, yetax, yetay);
+ //cout << beta<< endl;
+ 
+ double Vxy = sqrt(vx*vx + vy*vy);
+  
+ if ( Vxy <= V_TL){
+  errorCovpre = tmp1*transMat.transpose() + beta * processNoiseCov_Slow;
+  cout << "slow" << endl;
+ }	               
+       
+ else if (Vxy>V_TL &&Vxy<V_TH){
+  errorCovpre = tmp1*transMat.transpose() + beta * processNoiseCov;
+  cout << "median" << endl;
+ }
+ else if (Vxy >= V_TH){
+  errorCovpre = tmp1*transMat.transpose() + beta * processNoiseCov_Fast;
+  
+ }
+ 
+ //iteration
+ stateOpt = statePre;
+ errorCovOpt = errorCovpre;
+ 
+ return statePre;
+}
+
+// 标准卡尔曼预测
+MatrixXf& Kalman::predict(){
+ 
+ // update the state: x'(k) = A*x(k)
+ statePre = transMat*stateOpt;
+ // update error covariance matrices : tmp1 = A*P(k)
+ tmp1 = transMat*errorCovOpt;
+ // P'(k) = temp1*At + Q
+ errorCovpre = tmp1*transMat.transpose() + processNoiseCov;
+ 
+ //iteration
+ stateOpt = statePre;
+ errorCovOpt = errorCovpre;
+ 
+ return statePre;
+}
+
+// 通过测量值进行校正
+MatrixXf& Kalman::correct(MatrixXf &measurement){
+ // tmp2 = H*P'(k)
+ //tmp2 = measureMat * errorCovpre;
+ tmp2 = errorCovpre* measureMat.transpose();
+ // tmp3 = tmp2*H + R
+ //tmp3 = tmp2*measureMat.transpose() + measureNosiseCov;
+ tmp3 = measureMat*tmp2 + measureNosiseCov;
+ // tmp4 = inv(tmp3)*temp2 = Kt(k) /----/ (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R)
+ //tmp4 = tmp3.inverse() * tmp2;
+ tmp4 = tmp2 *tmp3.inverse();
+ //K(k)
+ //Kgain = tmp4.transpose();
+ Kgain = tmp4;
+ // tmp5 = z(k) - H*x'(k)
+ tmp5 = measurement - measureMat * statePre;
+ 
+ // x(k) = x'(k) + K(k)*temp5
+ stateOpt = statePre + Kgain * tmp5;
+ 
+ // P(k) = P'(k) - K(k)*H*P'(k)       
+ //errorCovOpt = errorCovpre - Kgain *tmp2;
+ errorCovOpt = errorCovpre - Kgain * measureMat * errorCovpre;
+  
+ return stateOpt;
+}
+
+// 速度自适应卡尔曼校正
+MatrixXf& Kalman::AKV_correct(MatrixXf measurement, double vx, double vy){
+ double Vxy = sqrt(vx*vx + vy*vy);
+ // tmp2 = H*P'(k)
+ tmp2 = errorCovpre* measureMat.transpose();
+ 
+ // tmp3 = tmp2*Ht + R
+ tmp3 = measureMat*tmp2 + measureNosiseCov;
+ 
+ // tmp4 = inv(tmp3)*temp2 = Kt(k) /----/ (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R)
+ tmp4 = tmp2 *tmp3.inverse();
+ 
+ //K(k)
+ Kgain = tmp4;
+ 
+ // tmp5 = z(k) - H*x'(k)
+ tmp5 = measurement - measureMat * statePre;
+ // x(k) = x'(k) + K(k)*temp5
+ if (Vxy <=0 ){
+  stateOpt(0, 0) = measurement(0, 0);//measurement(0, 0);
+  stateOpt(3, 0) = measurement(1, 0);//measurement(1, 0);
+ }
+ else{
+  stateOpt = statePre + Kgain * tmp5;
+ }
+ 
+ // P(k) = P'(k) - K(k)*H*P'(k)                                                                                             
+ errorCovOpt = errorCovpre - Kgain * measureMat * errorCovpre;
+ 
+ return stateOpt;
+}

+ 112 - 0
src/fliter/Kalman.h

@@ -0,0 +1,112 @@
+/***********************
+@by: Wang Cheng Wei
+@2020.12
+@reference resources :
+@https://blog.csdn.net/sandalphon4869/article/details/103841275?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242
+@https://blog.csdn.net/lemonaha/article/details/73194763
+***********************/
+
+#ifndef  KF_H
+#define  KF_H
+
+#include <Eigen/Dense>
+using namespace Eigen;
+
+// 卡尔曼滤波器类
+class Kalman{
+
+public:
+ /*
+ @breif Standard Kalman filter
+ */
+ MatrixXf &predict(); 
+
+ /*
+ @brief AFK: "Tracking Touched Trajectory on Capacitive Touch Panels Using Adjustable Weighted Prediction Covariance Matrix."
+ @param  vx Velocity in x-axis direction
+ @param  vy Velocity in y-axis direction
+ @param  yetax  Error in x-axis direction :z(k)-H*x'(k)
+ @param  yetay  Error in y-axis direction :z(k)-H*x'(k)
+ */
+ MatrixXf &AK_predict(double &vx, double &vy, double &yetax, double &yetay); 
+
+ /*
+ @brief Adactive velocit adjust 
+ @param  vx Velocity in x-axis direction
+ @param  vy Velocity in y-axis direction
+ @param  yetax  Error in x-axis direction(innovation sequence):z(k)-H*x'(k)
+ @param  yetay  Error in y-axis direction(innovation sequence):z(k)-H*x'(k)                              
+ @V_L Low threshold of speed
+ @V_H High threshold of speed
+ */
+ MatrixXf &AKV_predict(double vx, double vy, double yetax, double yetay, double V_L,double V_H); 
+ 
+ /*
+ @brief  STFK: "Position stimation and Smooth Tracking with a Fuzzy Logic-Based Adaptive Strong Tracking Kalman Filter for Capacitive Touch Panels."
+ @param  measureParams Dimensionality of the measurement.
+ @param  vx Velocity in x-axis direction
+ @param  vy Velocity in y-axis direction
+ @param  yetax  Error in x-axis direction() :z(k)-H*x'(k)
+ @param  yetay  Error in y-axis direction :z(k)-H*x'(k)
+ */
+ MatrixXf &STFK_predict(int measureParams, double &vx, double &vy, double &yetax, double &yetay);
+
+ // 根据测量值更新预测状态
+ MatrixXf &correct(MatrixXf &measurement);
+
+ // 根据测量值更新预测状态
+ MatrixXf &AKV_correct(MatrixXf measurement,double vx, double vy);
+
+ /* 
+ @brief Re-initializes Kalman filter.
+ @param dynamParams Dimensionality of the state.
+ @param measureParams Dimensionality of the measurement.
+ @param controlParams Dimensionality of the control vector.
+ */
+ void init(int DP, int MP, int CP);
+
+ MatrixXf statePre; //预测状态 (x'(k)): x(k)=A*x(k-1)+B*u(k)
+ MatrixXf stateOpt; //修正状态 (x(k)): x(k)=x'(k)+K(k)*(z(k)-H*x'(k))
+ MatrixXf transMat; //状态转移矩阵 (A)
+ MatrixXf transMat_slow; //状态转移矩阵 (A)
+ MatrixXf contrMat; // 控制矩阵 (B) (未使用时为0)
+ MatrixXf measureMat; // 测量矩阵 (H)
+ MatrixXf processNoiseCov; // 过程噪声协方差矩阵 (Q)
+ MatrixXf processNoiseCov_Slow; // 过程噪声协方差矩阵 (Q)  低速
+ MatrixXf processNoiseCov_Fast; // 过程噪声协方差矩阵 (Q)  高速
+ MatrixXf measureNosiseCov; // 测量噪声协方差矩阵 (R)
+ MatrixXf measureNosiseCov_Slow; // 测量噪声协方差矩阵 (R)  低速
+ MatrixXf measureNosiseCov_Fast; // 测量噪声协方差矩阵 (R)  高速
+ MatrixXf errorCovpre; // 先验误差估计协方差矩阵 (P'(k)): P'(k)=A*P(k-1)*At + Q)
+ MatrixXf Kgain;        // 卡尔曼增益矩阵 (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R)
+ MatrixXf errorCovOpt;  // 后验误差估计协方差矩阵 (P(k)): P(k)=(I-K(k)*H)*P'(k)
+
+ // STKF相关变量
+ MatrixXf Vk;   
+ MatrixXf Nk;
+ MatrixXf Mk;
+ double rho; // 忘却因子
+ double get_lamda(int MP); // 计算次优缩放因子
+ double lamda; // 次优缩放因子
+
+ // AKF相关变量
+ double get_beta(double vx, double vy, double yetax, double yetay); // 计算beta
+ double get_beta_plus(double vx, double vy); // 计算beta
+ double eps;  // 经验参数,取值为0.01
+ double beta; // 一种权重,用于调整AKF的预测协方差矩阵
+
+ // 临时矩阵
+ MatrixXf tmp1;
+ MatrixXf tmp2;
+ MatrixXf tmp3;
+ MatrixXf tmp4;
+ MatrixXf tmp5;   // 创新序列 vk
+
+private:
+ // STKF私有成员函数
+ MatrixXf &get_Vk();
+ MatrixXf &get_Mk();
+ MatrixXf &get_Nk();
+};
+
+#endif

+ 85 - 0
src/fliter/test.cpp

@@ -0,0 +1,85 @@
+#include <iostream>
+#include <Eigen/Dense>
+#include "Kalman.h"
+
+using namespace std;
+using namespace Eigen;
+
+int main()
+{
+    MatrixXd data(3, 3);
+    data << 1, 2, 3,
+        4, 5, 6,
+        7, 8, 9;
+
+    cout << "Original data:" << endl
+         << data << endl;
+
+    // Apply filter
+    Kalman kf;
+    // KF 初始化
+    kf.init(3, 1, 0);
+    // A
+    double t = 0.05;
+    kf.transMat << 1, t, 0.5 * t * t, 0, 0, 0,
+        0, 1, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0,
+        0, 0, 0, 1, t, 0.5 * t * t,
+        0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0, 1;
+
+    // H
+    kf.measureMat << 1, 0, 0, 0, 0, 0,
+        0, 0, 0, 1, 0, 0;
+
+    // Q
+    double q = 1.2; //
+    double q1 = 0.00085, q2 = 98;
+    kf.processNoiseCov << q, 0, 0, 0, 0, 0,
+        0, q, 0, 0, 0, 0,
+        0, 0, q, 0, 0, 0,
+        0, 0, 0, q, 0, 0,
+        0, 0, 0, 0, q, 0,
+        0, 0, 0, 0, 0, q;
+
+    kf.processNoiseCov_Slow << q1, 0, 0, 0, 0, 0,
+        0, q1, 0, 0, 0, 0,
+        0, 0, q1, 0, 0, 0,
+        0, 0, 0, q1, 0, 0,
+        0, 0, 0, 0, q1, 0,
+        0, 0, 0, 0, 0, q1;
+
+    kf.processNoiseCov_Fast << q2, 0, 0, 0, 0, 0,
+        0, q2, 0, 0, 0, 0,
+        0, 0, q2, 0, 0, 0,
+        0, 0, 0, q2, 0, 0,
+        0, 0, 0, 0, q2, 0,
+        0, 0, 0, 0, 0, q2;
+
+    // R
+    double r = 1; // 100 ~ 500
+    double r_fast = 255;
+    double r_slow = 100;
+    kf.measureNosiseCov << r, 0,
+        0, r;
+    kf.measureNosiseCov_Slow << r_slow, 0,
+        0, r_slow;
+    kf.measureNosiseCov_Fast << r_fast, 0,
+        0, r_fast;
+
+    // P
+    kf.errorCovOpt << 1, 0, 0, 0, 0, 0,
+        0, 1, 0, 0, 0, 0,
+        0, 0, 1, 0, 0, 0,
+        0, 0, 0, 1, 0, 0,
+        0, 0, 0, 0, 1, 0,
+        0, 0, 0, 0, 0, 1;
+
+    //
+    kf.eps = 0.01;
+    kf.rho = 1;
+
+    
+    system("pause");
+    return 0;
+}

+ 29 - 4
src/model_select/model_select.cpp

@@ -74,7 +74,7 @@ void model_select::openSimulinkModel(const QString &modelName)
     {
         process = new QProcess();
         QString program = "D:/app/matlab_2021b/bin/matlab.exe";
-        QString model_path = "D:/desktop/NGS/model_git/model_zl/tcp";
+        QString model_path = "D:/model/tcp";
         model_path.replace("/", "\\\\");
         
         QStringList arguments;
@@ -104,7 +104,7 @@ void model_select::openSimulinkModel(const QString &modelName)
     }
     else // 如果正在运行 MATLAB 进程
     {
-        QString model_path = "D:/desktop/NGS/model_git/model_zl/tcp";
+        QString model_path = "D:/model/tcp";
         QString command = QString("cd('%1'); run('%2');").arg(model_path, modelName);
 
         // 通过标准输入将命令发送到 MATLAB
@@ -179,10 +179,29 @@ void model_select::cbo_select_Init()
 }
 
 // slot函数,下拉菜单内容改变时触发
+void model_select::on_btn_gsb_clicked()
+{
+    QString gsp_degree = ui->line_gsf_degree->text();
+    QString pro_gsp_degree = "gsp_degree:";
+    QString gsp_time = ui->line_gsb_start_time->text();
+    QString pro_gsp_time= "gsp_time:";
+    file_write(&pro_gsp_degree, &gsp_degree);
+    file_write(&pro_gsp_time, &gsp_time);
+}
+void model_select::on_btn_gsf_clicked()
+{
+    QString gsf_degree = ui->line_gsf_degree->text();
+    QString pro_gsf_degree = "gsf_degree:";
+    QString gsf_time = ui->line_gsf_start_time->text();
+    QString pro_gsf_time = "gsf_time:";
+    file_write(&pro_gsf_degree, &gsf_degree);
+    file_write(&pro_gsf_time, &gsf_time);
+}
 
 void model_select::cbo_select_changed(int index)
 {
     QString modelAddress = "wt"; // 模型的地址大泵模型地址
+
     QString pro_dress = "model_address:";
     if (index == 1)
     {
@@ -261,7 +280,7 @@ void model_select::cbo_condition_changed(int index)
 // 读取txt文件
 void model_select::file_read()
 {
-    QFile file("D:/desktop/NGS/model_git/model_zl/tcp/model_address.txt"); // 要读取的文件名
+    QFile file("D:/model/tcp/model_address.txt"); // 要读取的文件名
 
     // 以只读模式打开文件
     if (file.open(QIODevice::ReadOnly | QIODevice::Text))
@@ -286,7 +305,7 @@ void model_select::file_read()
 void model_select::file_write(QString *prs_name, QString *msg)
 {
     QString modelAddress = *prs_name + *msg;                               // 将指针解引用并连接字符串
-    QFile file("D:/desktop/NGS/model_git/model_zl/tcp/model_address.txt"); // 要写入的文件名
+    QFile file("D:/model/tcp/model_address.txt"); // 要写入的文件名
 
     // 以附加模式打开文件
     if (file.open(QIODevice::Append | QIODevice::Text))
@@ -378,3 +397,9 @@ void model_select::receive_Client(QTcpSocket *clientSocket)
 }
 
 
+
+
+
+
+
+

+ 4 - 0
src/model_select/model_select.h

@@ -38,6 +38,10 @@ private slots:
 
     void on_btn_link_clicked();
 
+    void on_btn_gsb_clicked();
+
+    void on_btn_gsf_clicked();
+
 private:
     Ui::model_select *ui;
 

+ 139 - 182
src/model_select/model_select.ui

@@ -58,188 +58,6 @@
            <property name="verticalSpacing">
             <number>7</number>
            </property>
-           <item row="2" column="0">
-            <widget class="QGroupBox" name="groupBox_4">
-             <property name="title">
-              <string>退化设置</string>
-             </property>
-             <layout class="QGridLayout" name="gridLayout_8">
-              <item row="0" column="0">
-               <spacer name="horizontalSpacer">
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>40</width>
-                  <height>20</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item row="0" column="7">
-               <widget class="QPushButton" name="pushButton_5">
-                <property name="minimumSize">
-                 <size>
-                  <width>150</width>
-                  <height>0</height>
-                 </size>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>150</width>
-                  <height>16777215</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>GS回流阀泄露</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="3">
-               <widget class="QPushButton" name="pushButton_3">
-                <property name="minimumSize">
-                 <size>
-                  <width>150</width>
-                  <height>0</height>
-                 </size>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>150</width>
-                  <height>16777215</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>GS泵退化</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="10">
-               <spacer name="horizontalSpacer_4">
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>40</width>
-                  <height>20</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item row="0" column="9">
-               <widget class="QPushButton" name="pushButton_6">
-                <property name="minimumSize">
-                 <size>
-                  <width>150</width>
-                  <height>0</height>
-                 </size>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>150</width>
-                  <height>16777215</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>GS阀泄露</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="5">
-               <widget class="QPushButton" name="pushButton_4">
-                <property name="minimumSize">
-                 <size>
-                  <width>120</width>
-                  <height>0</height>
-                 </size>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>150</width>
-                  <height>16777215</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>NS回流阀门泄露</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="4">
-               <spacer name="horizontalSpacer_17">
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>40</width>
-                  <height>20</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item row="0" column="6">
-               <spacer name="horizontalSpacer_18">
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>40</width>
-                  <height>20</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item row="0" column="2">
-               <spacer name="horizontalSpacer_16">
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>40</width>
-                  <height>20</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item row="0" column="1">
-               <widget class="QPushButton" name="pushButton_2">
-                <property name="minimumSize">
-                 <size>
-                  <width>150</width>
-                  <height>0</height>
-                 </size>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>150</width>
-                  <height>16777215</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>NS泵退化</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="8">
-               <spacer name="horizontalSpacer_19">
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>40</width>
-                  <height>20</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </widget>
-           </item>
            <item row="1" column="0">
             <widget class="QGroupBox" name="groupBox_15">
              <property name="title">
@@ -486,6 +304,145 @@ background-image: url();</string>
              </layout>
             </widget>
            </item>
+           <item row="2" column="0">
+            <widget class="QGroupBox" name="groupBox_4">
+             <property name="title">
+              <string>退化设置</string>
+             </property>
+             <layout class="QGridLayout" name="gridLayout_8">
+              <item row="2" column="0">
+               <spacer name="horizontalSpacer">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>40</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item row="2" column="4">
+               <widget class="QPushButton" name="btn_gsf">
+                <property name="minimumSize">
+                 <size>
+                  <width>150</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>150</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="text">
+                 <string>GS阀泄露</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="0">
+               <widget class="QLabel" name="label_23">
+                <property name="text">
+                 <string>退化程度</string>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="2">
+               <spacer name="horizontalSpacer_17">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>40</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item row="2" column="1">
+               <widget class="QPushButton" name="btn_gsb">
+                <property name="minimumSize">
+                 <size>
+                  <width>150</width>
+                  <height>0</height>
+                 </size>
+                </property>
+                <property name="maximumSize">
+                 <size>
+                  <width>150</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="text">
+                 <string>GS泵退化</string>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="3">
+               <spacer name="horizontalSpacer_19">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>40</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item row="2" column="5">
+               <spacer name="horizontalSpacer_4">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>40</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item row="0" column="1">
+               <widget class="QLineEdit" name="line_gsb_degree"/>
+              </item>
+              <item row="0" column="4">
+               <widget class="QLineEdit" name="line_gsf_degree"/>
+              </item>
+              <item row="1" column="1">
+               <widget class="QLineEdit" name="line_gsb_start_time"/>
+              </item>
+              <item row="1" column="4">
+               <widget class="QLineEdit" name="line_gsf_start_time"/>
+              </item>
+              <item row="1" column="0">
+               <widget class="QLabel" name="label_24">
+                <property name="text">
+                 <string>退化开始时间</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="3">
+               <widget class="QLabel" name="label_25">
+                <property name="text">
+                 <string>泄露程度</string>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="3">
+               <widget class="QLabel" name="label_26">
+                <property name="text">
+                 <string>泄露开始时间</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
           </layout>
          </widget>
          <widget class="QWidget" name="qh_page">

+ 14 - 0
src/taijia/sensor/sensor.cpp

@@ -0,0 +1,14 @@
+#include "sensor.h"
+#include "ui_sensor.h"
+
+sensor::sensor(QWidget *parent) :
+    QMainWindow(parent),
+    ui(new Ui::sensor)
+{
+    ui->setupUi(this);
+}
+
+sensor::~sensor()
+{
+    delete ui;
+}

+ 22 - 0
src/taijia/sensor/sensor.h

@@ -0,0 +1,22 @@
+#ifndef SENSOR_H
+#define SENSOR_H
+
+#include <QMainWindow>
+
+namespace Ui {
+class sensor;
+}
+
+class sensor : public QMainWindow
+{
+    Q_OBJECT
+
+public:
+    explicit sensor(QWidget *parent = nullptr);
+    ~sensor();
+
+private:
+    Ui::sensor *ui;
+};
+
+#endif // SENSOR_H

Datei-Diff unterdrückt, da er zu groß ist
+ 1346 - 0
src/taijia/sensor/sensor.ui