|
@@ -1,8 +1,10 @@
|
|
|
import 'package:fis_common/logger/logger.dart';
|
|
|
import 'package:fis_jsonrpc/rpc.dart';
|
|
|
import 'package:fis_measure/interfaces/date_types/point.dart';
|
|
|
+import 'package:fis_measure/interfaces/process/items/item_metas.dart';
|
|
|
import 'package:fis_measure/interfaces/process/items/terms.dart';
|
|
|
import 'package:fis_measure/process/primitives/straightline.dart';
|
|
|
+import 'package:fis_measure/process/primitives/urm_measure/urm_curvature_measure.dart';
|
|
|
import 'package:fis_measure/process/primitives/urm_measure/urm_straight_curvature_line_measure.dart';
|
|
|
import 'package:fis_measure/process/workspace/urm/application.dart';
|
|
|
import 'package:vid/us/vid_us_unit.dart';
|
|
@@ -49,12 +51,30 @@ class URMStraightCurvatureLineCal extends Calculator<StraightLine, double> {
|
|
|
final feature = ref.feature!;
|
|
|
if (feature is! StraightCurvatureFeature) return;
|
|
|
feature.autoLinePoints = app.urmPointsToDPoints(result.resultDPoints);
|
|
|
- for (var output in ref.meta.outputs) {
|
|
|
- if (output.name == MeasureTerms.URMCurvature) {
|
|
|
- output.unit = VidUsUnit.None;
|
|
|
- feature.updateFloatValue(output, result.resultData, output.unit);
|
|
|
+ ItemMeta? meta = feature.refItem.meta;
|
|
|
+ var revert = meta.name == URMCurvatureMeasure.revertRatioName;
|
|
|
+ if (revert) {
|
|
|
+ for (var output in ref.meta.outputs) {
|
|
|
+ if (output.name == MeasureTerms.URMCurvature) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, 1 / result.resultData, output.unit);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for (var output in ref.meta.outputs) {
|
|
|
+ if (output.name == MeasureTerms.URMCurvature) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(output, result.resultData, output.unit);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ // for (var output in ref.meta.outputs) {
|
|
|
+ // if (output.name == MeasureTerms.URMCurvature) {
|
|
|
+ // output.unit = VidUsUnit.None;
|
|
|
+ // feature.updateFloatValue(output, result.resultData, output.unit);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
} else {
|
|
|
throw Exception("URM Measure API error");
|
|
|
}
|