import 'package:fis_measure/interfaces/process/items/item.dart'; import 'package:fis_measure/interfaces/process/items/item_metas.dart'; import 'package:fis_measure/process/calcuators/a_b_ratio.dart'; import 'package:fis_measure/process/items/item_feature.dart'; import 'package:fis_measure/process/items/item.dart'; import 'package:fis_measure/process/items/top_item_feature.dart'; import 'package:fis_measure/process/primitives/combos/sv.dart'; import 'two_length.dart'; class TwoSv extends TwoLengthAbstract { late final Sv qp; late final Sv qs; TwoSv(super.meta) { { final metaQp = meta.childItems[0]; final metaQs = meta.childItems[1]; qp = Sv.createSV(metaQp, this); qs = Sv.createSV(metaQs, this); childItems.add(qp); childItems.add(qs); isCrossAreaMode = true; } } @override MeasureItem get child1 => qp; @override MeasureItem get child2 => qs; @override bool get finishAfterUnactive => true; @override TwoSvFeature buildFeature() => TwoSvFeature(this); static TwoSv crateQpQs(ItemMeta meta, [IMeasureItem? parent]) { var ins = TwoSv(meta); ins.calculator = QpQsCal(ins); return ins; } } class TwoSvFeature extends TopMeasureItemFeature { TwoSvFeature( ITopMeasureItem refItem, ) : super(refItem); }