Browse Source

update(measure): 适应 Doppler 模式,修正单位错误

gavin.chen 2 years ago
parent
commit
50fd77896f

+ 5 - 2
lib/measure_page_test.dart

@@ -99,7 +99,8 @@ class _MeasureTestPageState extends State<MeasureTestPage> {
       // "http://cdn-bj.fis.plus/9F066341FA874E21B48CDE247C13D495.vid"; //B TVI TD
       // "http://cdn-bj.fis.plus/974BABA5113640639FD749E06DD7DA5B.vid"; //B CF CW
       // "http://cdn-bj.fis.plus/0B344F48BA574ECD82B7FEDB8848421A.vid"; //单幅TM
-      "http://cdn-bj.fis.plus/3379F38302884C2991D90FBDFB0DEA7E.dat"; //单幅TM(2)
+      // "http://cdn-bj.fis.plus/3379F38302884C2991D90FBDFB0DEA7E.dat"; //单幅TM(2)
+      "http://cdn-bj.fis.plus/6A99AD2530864616B64355A8EA9AE3EC.vid";
   // "http://cdn-bj.fis.plus/F26C6E5D57A7472A97E9EB543DF0D16C.vid"; // 单幅Convex
   // "http://cdn-bj.fis.plus/6B6E069659D14E7299EB9F6EFCDE9C8C.vid"; //双幅单TissueConvex
   // "http://cdn-bj.fis.plus/062643B82365437DB95F3811580AF3ED.vid"; //四幅单模式
@@ -399,7 +400,9 @@ class _MeasureLeftBoardState extends State<_MeasureLeftBoard> {
 
   void loadItems() {
     workingItems = [];
-    var names = modeType == "TissueTM" ? C_SUPPORTED_M_ITEMS : passeItems;
+    var names = (modeType == "TissueTM" || modeType == "Doppler")
+        ? C_SUPPORTED_M_ITEMS
+        : passeItems;
     final workingItemDtos =
         MeasureTestPage.MetaDTOList.where((e) => names.contains(e['Name']));
     for (var map in workingItemDtos) {

+ 5 - 1
lib/process/calcuators/time_motion.dart

@@ -3,6 +3,7 @@ import 'package:fis_measure/interfaces/process/items/terms.dart';
 import 'package:fis_measure/process/calcuators/formulas/general.dart';
 import 'package:fis_measure/process/items/item.dart';
 import 'package:fis_measure/process/primitives/combos/two_length.dart';
+import 'package:vid/us/vid_us_unit.dart';
 
 import '../primitives/straightline.dart';
 import 'calculator.dart';
@@ -22,7 +23,10 @@ class VerticalDistanceCal extends Calculator<StraightLine, double> {
     final pp2 = viewport.convert(p2);
 
     final value = (pp2.y - pp1.y).abs();
-    updateFloatValue(value);
+    // updateFloatValue(value);
+    final ouput = ref.meta.outputs.first;
+    feature.updateFloatValue(
+        ouput, roundDouble(value, ouput.fractionalDigits), VidUsUnit.cm);
   }
 }
 

+ 0 - 1
lib/process/primitives/location.dart

@@ -63,7 +63,6 @@ class Location extends MeasureItem<LocationFeature> {
 
   void handleTissueTM(VidUsModeType mode, DPoint point) {
     if (mode == VidUsModeType.TissueTM) {
-      ///TODO [Gavin] 写一个新的 feature 处理 M 模式
       feature = LocationFeature(this, point);
     }
   }

+ 2 - 1
lib/view/gesture/mouse_gesture.dart

@@ -137,7 +137,8 @@ class _MeasureMouseGesturePanelState extends State<MeasureMouseGesturePanel> {
     final displaySize = application.displaySize;
     for (var visual in application.visuals) {
       for (var area in visual.visualAreas) {
-        if (area.visualAreaType == VidUsVisualAreaType.TissueTimeMotion) {
+        if (area.visualAreaType == VidUsVisualAreaType.TissueTimeMotion ||
+            area.visualAreaType == VidUsVisualAreaType.Doppler) {
           ifContainerTissueTM = true;
 
           ///TODO 由于布局问题 Left 定位给不准,这里放宽到边界