urm_den.dart 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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/urm.dart';
  4. import 'package:fis_measure/process/items/top_item_feature.dart';
  5. import 'package:fis_measure/process/primitives/combos/urm_den_combo.dart';
  6. import 'package:fis_measure/process/primitives/straightline.dart';
  7. import 'package:fis_measure/process/primitives/urm_rect.dart';
  8. import 'package:fis_measure/process/primitives/urm_straightline.dart';
  9. class URMDen extends URMDenAbstract<URMVelFeature> {
  10. static const String _area1Key = "SRCurvature";
  11. static const String _area2Key = "SRRoiDensity";
  12. static const String _area3Key = "SRROIFractalDim";
  13. static const String _area4Key = "Vessel diameter";
  14. static const String _area5Key = "Vessel distance";
  15. late final URMStraightLine a1;
  16. late final URMRect a2;
  17. late final URMRect a3;
  18. late final StraightLine a4;
  19. late final StraightLine a5;
  20. URMDen(ItemMeta meta) : super(meta) {
  21. final metaA1 = meta.getChildByName(_area1Key)!;
  22. final metaA2 = meta.getChildByName(_area2Key)!;
  23. final metaA3 = meta.getChildByName(_area3Key)!;
  24. final metaA4 = meta.getChildByName(_area4Key)!;
  25. final metaA5 = meta.getChildByName(_area5Key)!;
  26. a1 = URMStraightLine.createURMStraightline(metaA1, this);
  27. a2 = URMRect.createMeasureRect(metaA2, this);
  28. a3 = URMRect.createMeasureRect(metaA3, this);
  29. a4 = StraightLine.createDistance(metaA4, this);
  30. a5 = StraightLine.createDistance(metaA5, this);
  31. childItems.add(a1);
  32. childItems.add(a2);
  33. childItems.add(a3);
  34. childItems.add(a4);
  35. childItems.add(a5);
  36. }
  37. @override
  38. StraightLine get child1 => a1;
  39. @override
  40. URMRect get child2 => a2;
  41. @override
  42. URMRect get child3 => a3;
  43. @override
  44. StraightLine get child4 => a4;
  45. @override
  46. StraightLine get child5 => a5;
  47. @override
  48. URMVelFeature buildFeature() => URMVelFeature(this);
  49. @override
  50. void onCancelingOnce() {}
  51. static URMDen crateURMDen(ItemMeta meta, [IMeasureItem? parent]) {
  52. var urmDen = URMDen(meta);
  53. urmDen.calculator = URMDenCal(urmDen);
  54. return urmDen;
  55. }
  56. }
  57. class URMVelFeature extends TopMeasureItemFeature {
  58. URMVelFeature(
  59. ITopMeasureItem refItem,
  60. ) : super(refItem);
  61. }