two_sv.dart 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'package:fis_measure/interfaces/process/items/item.dart';
  2. import 'package:fis_measure/interfaces/process/items/item_metas.dart';
  3. import 'package:fis_measure/process/calcuators/a_b_ratio.dart';
  4. import 'package:fis_measure/process/items/item_feature.dart';
  5. import 'package:fis_measure/process/items/item.dart';
  6. import 'package:fis_measure/process/items/top_item_feature.dart';
  7. import 'package:fis_measure/process/primitives/combos/sv.dart';
  8. import 'two_length.dart';
  9. class TwoSv extends TwoLengthAbstract<TwoSvFeature> {
  10. late final Sv qp;
  11. late final Sv qs;
  12. TwoSv(super.meta) {
  13. {
  14. final metaQp = meta.childItems[0];
  15. final metaQs = meta.childItems[1];
  16. qp = Sv.createSV(metaQp, this);
  17. qs = Sv.createSV(metaQs, this);
  18. childItems.add(qp);
  19. childItems.add(qs);
  20. }
  21. }
  22. @override
  23. MeasureItem<MeasureItemFeature> get child1 => qp;
  24. @override
  25. MeasureItem<MeasureItemFeature> get child2 => qs;
  26. @override
  27. TwoSvFeature buildFeature() => TwoSvFeature(this);
  28. static TwoSv crateQpQs(ItemMeta meta, [IMeasureItem? parent]) {
  29. var ins = TwoSv(meta);
  30. ins.calculator = QpQsCal(ins);
  31. return ins;
  32. }
  33. }
  34. class TwoSvFeature extends TopMeasureItemFeature {
  35. TwoSvFeature(
  36. ITopMeasureItem refItem,
  37. ) : super(refItem);
  38. }