123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- 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/types.dart';
- import 'package:fis_measure/process/calcuators/lv_study.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';
- class LvStudy extends TopMeasureItem<StraightLineGroupFeature> {
- final bool ifVertical;
- final bool ifTimeSpan;
- LvStudy(ItemMeta meta, {this.ifVertical = false, this.ifTimeSpan = false})
- : super(meta) {
- for (final childMeta in meta.childItems) {
- IMeasureItem childItem;
- if (ifVertical) {
- childItem = StraightLine.createVerticalDistance(childMeta, this);
- } else if (ifTimeSpan) {
- childItem = StraightLine.createTimeSpan(childMeta, this);
- } else {
- childItem = StraightLine.createDistance(childMeta, this);
- }
- childItems.add(childItem);
- }
- }
- @override
- bool get finishAfterUnactive => true;
- @override
- bool get isCrossFrameMode => true;
- @override
- StraightLineGroupFeature buildFeature() => StraightLineGroupFeature(this);
- static LvStudy createLvStudyByLineGroup(ItemMeta meta,
- [IMeasureItem? parent]) {
- if (meta.measureType != MeasureTypes.LvStudyByLineGroupTissue) {
- throw ArgumentError();
- }
- var ins = LvStudy(meta);
- ins.calculator = LvStudyDistanceGroupCal(ins);
- return ins;
- }
- static LvStudy createLvSimpleTissue(ItemMeta meta, [IMeasureItem? parent]) {
- var ins = LvStudy(meta);
- ins.calculator = LvStudySimpleCal(ins);
- return ins;
- }
- static LvStudy createLvSimpleTissueTm(ItemMeta meta, [IMeasureItem? parent]) {
- var ins = LvStudy(
- meta,
- ifTimeSpan: true,
- ifVertical: true,
- );
- ins.calculator = LvStudySimpleCal(ins);
- return ins;
- }
- }
- class StraightLineGroupFeature extends TopMeasureItemFeature {
- StraightLineGroupFeature(
- ITopMeasureItem refItem,
- ) : super(refItem);
- }
|