12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import 'dart:ui';
- import 'package:fis_measure/interfaces/process/items/item.dart';
- import 'package:fis_measure/interfaces/process/items/item_metas.dart';
- import 'package:fis_measure/interfaces/process/items/types.dart';
- import 'package:fis_measure/interfaces/process/workspace/point_info.dart';
- import 'package:fis_measure/process/calcuators/a_b_ratio.dart';
- import 'package:fis_measure/process/calcuators/calculator.dart';
- import 'package:fis_measure/process/calcuators/stenosis.dart';
- import 'package:fis_measure/process/calcuators/three_distance.dart';
- import 'package:fis_measure/process/calcuators/two_distance.dart';
- import 'package:fis_measure/process/items/item_feature.dart';
- import 'package:fis_measure/process/items/top_item.dart';
- import 'package:fis_measure/process/items/top_item_feature.dart';
- import 'package:fis_measure/process/primitives/straightline.dart';
- import 'package:fis_measure/process/primitives/trace.dart';
- import 'two_length.dart';
- class LvTest extends TwoLengthAbstract<LvTestFeature> {
- static const String _area1Key = "D1";
- static const String _area2Key = "D2";
- late final StraightLine a1;
- late final StraightLine a2;
- LvTest(ItemMeta meta) : super(meta) {
- final metaA1 = meta.getChildByName(_area1Key)!;
- final metaA2 = meta.getChildByName(_area2Key)!;
- a1 = StraightLine.createDistance(metaA1, this);
- a2 = StraightLine.createDistance(metaA2, this);
- childItems.add(a1);
- childItems.add(a2);
- }
- @override
- StraightLine get child1 => a1;
- @override
- StraightLine get child2 => a2;
- @override
- bool get isMultiFrameMode => true;
- @override
- LvTestFeature buildFeature() => LvTestFeature(this);
- @override
- void onCancelingOnce() {}
- static LvTest crateTest(ItemMeta meta, [IMeasureItem? parent]) {
- var instance = LvTest(meta);
- instance.calculator = _TestTwoDistanceSumCal(instance);
- return instance;
- }
- }
- class LvTestFeature extends TopMeasureItemFeature {
- LvTestFeature(
- ITopMeasureItem refItem,
- ) : super(refItem);
- }
- class _TestTwoDistanceSumCal extends Calculator<LvTest, double> {
- _TestTwoDistanceSumCal(LvTest ref) : super(ref);
- @override
- void calculate() {
- if (ref.feature == null) return;
- final f1 = findChildFeature(ref.child1);
- final f2 = findChildFeature(ref.child2);
- if (f1 == null || f2 == null) return;
- final feature = ref.feature!;
- final val1 = f1.value?.pickFloat() ?? 0;
- final val2 = f2.value?.pickFloat() ?? 0;
- final outputMeta = ref.meta.outputs.first;
- double avg = (val1 + val2) / 2;
- feature.updateFloatValue(outputMeta, avg, outputMeta.unit);
- }
- }
|