|
@@ -1,12 +1,16 @@
|
|
|
import 'dart:async';
|
|
|
import 'package:fis_i18n/i18n.dart';
|
|
|
+import 'package:fis_measure/interfaces/process/items/item_metas.dart';
|
|
|
+import 'package:fis_measure/interfaces/process/items/terms.dart';
|
|
|
import 'package:fis_measure/interfaces/process/player/play_controller.dart';
|
|
|
+import 'package:fis_measure/interfaces/process/workspace/application.dart';
|
|
|
import 'package:fis_measure/process/workspace/measure_3d_view_controller.dart';
|
|
|
import 'package:fis_ui/index.dart';
|
|
|
import 'package:flutter/material.dart' hide Image;
|
|
|
import 'package:flutter/services.dart';
|
|
|
import 'package:get/get.dart';
|
|
|
import 'package:vid/us/vid_us_image.dart';
|
|
|
+import 'package:vid/us/vid_us_unit.dart';
|
|
|
import 'package:webviewx/webviewx.dart';
|
|
|
import 'dart:convert';
|
|
|
import 'package:fis_measure/utils/js_utils.dart'
|
|
@@ -30,6 +34,7 @@ class Measure3DView extends StatefulWidget implements FWidget {
|
|
|
class _Measure3DViewState extends State<Measure3DView> {
|
|
|
late WebViewXController webviewController;
|
|
|
final measure3DViewController = Get.find<Measure3DViewController>();
|
|
|
+ final application = Get.find<IApplication>();
|
|
|
Size get screenSize => MediaQuery.of(context).size;
|
|
|
String documentFromAsset = "<h2> Hello webviewX ! <h2>";
|
|
|
|
|
@@ -170,10 +175,14 @@ class _Measure3DViewState extends State<Measure3DView> {
|
|
|
}
|
|
|
|
|
|
/// AI 切割成功的回调
|
|
|
- void _aiClipStateCallBack(bool res) async {
|
|
|
- debugPrint("webview 触发 Dart_aiClipStateCallBack :$res");
|
|
|
- // callShellMethod('aiClipStateCallBack', [res]);
|
|
|
- measure3DViewController.resetTone();
|
|
|
+ void _aiClipStateCallBack(bool success) async {
|
|
|
+ // debugPrint("webview 触发 Dart_aiClipStateCallBack :$success");
|
|
|
+ print("webview 触发 Dart_aiClipStateCallBack :$success");
|
|
|
+ if (success) {
|
|
|
+ measure3DViewController.needAutoDetection = true;
|
|
|
+ // callShellMethod('aiClipStateCallBack', [res]);
|
|
|
+ measure3DViewController.resetTone();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
///[Carotid] ✅初始化 mesh 长宽高可以由两张小图计算得到,设置标准宽度用于缩放切面
|
|
@@ -213,6 +222,22 @@ class _Measure3DViewState extends State<Measure3DView> {
|
|
|
|
|
|
measure3DViewController.image4Measure = vidUsImage;
|
|
|
measure3DViewController.changeModeTo2DMeasure();
|
|
|
+ application.clearRecords();
|
|
|
+ if (measure3DViewController.needAutoDetection) {
|
|
|
+ Future.delayed(600.milliseconds, () {
|
|
|
+ final itemMeta = ItemMeta(
|
|
|
+ MeasureTerms.IntimaDetection,
|
|
|
+ description: MeasureTerms.IntimaDetection,
|
|
|
+ measureType: MeasureTerms.IntimaDetection,
|
|
|
+ outputs: [
|
|
|
+ ItemOutputMeta(
|
|
|
+ MeasureTerms.IntimaDetection, "", VidUsUnit.cm2),
|
|
|
+ ],
|
|
|
+ );
|
|
|
+ application.switchItem(itemMeta);
|
|
|
+ });
|
|
|
+ measure3DViewController.needAutoDetection = false;
|
|
|
+ }
|
|
|
}
|
|
|
]);
|
|
|
} catch (e) {
|