simpson.dart 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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/simpson.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.dart';
  7. import 'package:fis_measure/process/items/top_item_feature.dart';
  8. import '../multi_method/multi_simpson_path.dart';
  9. class LvStudySimpson extends TopMeasureItem<LvStudySimpsonFeature> {
  10. static const String _a2CLvedvKey = "A2C LVEdV";
  11. static const String _a2CLvesvKey = "A2C LVEsV";
  12. static const String _a4CLvedvKey = "A4C LVEdV";
  13. static const String _a4CLvesvKey = "A4C LVEsV";
  14. late final MultiSimpsonPath a2cLvedv;
  15. late final MultiSimpsonPath a2cLvesv;
  16. late final MultiSimpsonPath a4cLvedv;
  17. late final MultiSimpsonPath a4cLvesv;
  18. LvStudySimpson(super.meta) {
  19. final a2cLvedvMeta = meta.getChildByName(_a2CLvedvKey)!;
  20. final a2cLvesvMeta = meta.getChildByName(_a2CLvesvKey)!;
  21. final a4cLvedvMeta = meta.getChildByName(_a4CLvedvKey)!;
  22. final a4cLvesvMeta = meta.getChildByName(_a4CLvesvKey)!;
  23. a2cLvedv = MultiSimpsonPath.create(a2cLvedvMeta, this);
  24. a2cLvesv = MultiSimpsonPath.create(a2cLvesvMeta, this);
  25. a4cLvedv = MultiSimpsonPath.create(a4cLvedvMeta, this);
  26. a4cLvesv = MultiSimpsonPath.create(a4cLvesvMeta, this);
  27. childItems.add(a2cLvedv);
  28. childItems.add(a2cLvesv);
  29. childItems.add(a4cLvedv);
  30. childItems.add(a4cLvesv);
  31. }
  32. @override
  33. bool get finishAfterUnactive => true;
  34. @override
  35. bool get isCrossFrameMode => true;
  36. @override
  37. LvStudySimpsonFeature buildFeature() => LvStudySimpsonFeature(this);
  38. static LvStudySimpson create(ItemMeta meta, [IMeasureItem? parent]) {
  39. final simpson = LvStudySimpson(meta);
  40. simpson.calculator = LvSimpsonCalNew(simpson);
  41. return simpson;
  42. }
  43. }
  44. class LvStudySingleSimpson extends TopMeasureItem<LvStudySingleSimpsonFeature> {
  45. static const String _lvedvKey = "LVEDV";
  46. static const String _lvesvKey = "LVESV";
  47. late final MultiSimpsonPath lvedv;
  48. late final MultiSimpsonPath lvesv;
  49. LvStudySingleSimpson(super.meta) {
  50. final lvedvMeta = meta.getChildByName(_lvedvKey)!;
  51. final lvesvMeta = meta.getChildByName(_lvesvKey)!;
  52. lvedv = MultiSimpsonPath.create(lvedvMeta, this);
  53. lvesv = MultiSimpsonPath.create(lvesvMeta, this);
  54. childItems.add(lvedv);
  55. childItems.add(lvesv);
  56. }
  57. @override
  58. bool get finishAfterUnactive => true;
  59. @override
  60. bool get isCrossFrameMode => true;
  61. @override
  62. LvStudySingleSimpsonFeature buildFeature() =>
  63. LvStudySingleSimpsonFeature(this);
  64. static LvStudySingleSimpson create(ItemMeta meta, [IMeasureItem? parent]) {
  65. final simpson = LvStudySingleSimpson(meta);
  66. simpson.calculator = LvSingleSimpsonCalNew(simpson);
  67. return simpson;
  68. }
  69. }
  70. class LvStudySimpsonFeature extends TopMeasureItemFeature {
  71. LvStudySimpsonFeature(
  72. ITopMeasureItem refItem,
  73. ) : super(refItem);
  74. }
  75. class LvStudySingleSimpsonFeature extends TopMeasureItemFeature {
  76. LvStudySingleSimpsonFeature(
  77. ITopMeasureItem refItem,
  78. ) : super(refItem);
  79. }