1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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/terms.dart';
- import 'package:fis_measure/interfaces/process/items/types.dart';
- import 'package:fis_measure/process/calcuators/lv_mass.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';
- class LVMass extends TopMeasureItem<LVMassFeature> {
- static const String _lvdEpiLKey = MeasureTerms.EpiLVAd;
- static const String _lvdEndoKey = MeasureTerms.EndoVLAd;
- static const String _lvldKey = MeasureTerms.LVLd;
- late final Trace epi;
- late final Trace endo;
- late final StraightLine l;
- LVMass(ItemMeta meta) : super(meta) {
- final metaEpi = meta.getChildByName(_lvdEpiLKey)!;
- final metaEndo = meta.getChildByName(_lvdEndoKey)!;
- final metaL = meta.getChildByName(_lvldKey)!;
- epi = Trace.createAreaPerimeter(metaEpi, this);
- endo = Trace.createAreaPerimeter(metaEndo, this);
- l = StraightLine.createDistance(metaL, this);
- childItems.add(epi);
- childItems.add(endo);
- childItems.add(l);
- isCrossAreaMode = true;
- }
- @override
- bool get finishAfterUnactive => true;
- @override
- LVMassFeature buildFeature() => LVMassFeature(this);
- static LVMass createLVdMass(ItemMeta meta, [IMeasureItem? parent]) {
- var ins = LVMass(meta);
- ins.calculator = LvdMassALCal(ins);
- return ins;
- }
- }
- class LVMassFeature extends TopMeasureItemFeature {
- LVMassFeature(super.refItem);
- }
|