123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- import 'package:fis_measure/interfaces/process/items/item.dart';
- import 'package:fis_measure/interfaces/process/items/item_metas.dart';
- import 'package:fis_measure/process/calcuators/a_b_ratio.dart';
- import 'package:fis_measure/process/calcuators/stenosis.dart';
- import 'package:fis_measure/process/calcuators/tei_index.dart';
- import 'package:fis_measure/process/calcuators/two_distance.dart';
- import 'package:fis_measure/process/items/top_item_feature.dart';
- import 'package:fis_measure/process/primitives/straightline.dart';
- import 'two_length.dart';
- class TwoStraightLine extends TwoLengthAbstract<TwoStraightLineFeature> {
- late final StraightLine x;
- late final StraightLine y;
- final bool ifVertical;
- final bool ifTimeSpan;
- TwoStraightLine(ItemMeta meta,
- {this.ifVertical = false, this.ifTimeSpan = false})
- : super(meta) {
- final metaX = meta.childItems[0];
- final metaY = meta.childItems[1];
- if (ifVertical) {
- x = StraightLine.createVerticalDistance(metaX, this);
- y = StraightLine.createVerticalDistance(metaY, this);
- } else if (ifTimeSpan) {
- x = StraightLine.createTimeSpan(metaX, this);
- y = StraightLine.createTimeSpan(metaY, this);
- } else {
- x = StraightLine.createDistance(metaX, this);
- y = StraightLine.createDistance(metaY, this);
- }
- childItems.add(x);
- childItems.add(y);
- }
- @override
- StraightLine get child1 => x;
- @override
- StraightLine get child2 => y;
- @override
- TwoStraightLineFeature buildFeature() => TwoStraightLineFeature(this);
- @override
- void onCancelingOnce() {}
- static TwoStraightLine createTwoDistanceBase(ItemMeta meta,
- [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = TwoDistanceCalBase(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createRUV(ItemMeta meta, [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = ResidualUrineCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createAbRatioDistance(ItemMeta meta,
- [IMeasureItem? parent]) {
- TwoStraightLine twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = ABRatioCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createStenosisTwoDistance(ItemMeta meta,
- [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = StenosisCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createStenosisTwoVerticalDistance(ItemMeta meta,
- [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta, ifVertical: true);
- twoStraightline.calculator = StenosisCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createAbRatioTwoVerticalDistance(ItemMeta meta,
- [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta, ifVertical: true);
- twoStraightline.calculator = ABRatioCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createAbRatioTwoTimeSpan(ItemMeta meta,
- [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta, ifTimeSpan: true);
- twoStraightline.calculator = ABRatioCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createAbRatioSlope(ItemMeta meta,
- [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta, ifTimeSpan: false);
- twoStraightline.calculator = ABRatioCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createTeiIndex(ItemMeta meta, [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta, ifTimeSpan: true);
- twoStraightline.calculator = TeiIndexCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createVolume(ItemMeta meta, [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = TwoDistanceVolumeCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createTwoDistanceAverage(ItemMeta meta,
- [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = TwoDistanceSumCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createAngle(ItemMeta meta, [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = TwoStraightLineAngleCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createEfTeich(ItemMeta meta, [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = EfTeichCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createIvsThck(ItemMeta meta, [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = IvsThckCal(twoStraightline);
- return twoStraightline;
- }
- static TwoStraightLine createRvStudy(ItemMeta meta, [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = RvStudyCal(twoStraightline);
- return twoStraightline;
- }
- }
- class TwoStraightLineFeature extends TopMeasureItemFeature {
- TwoStraightLineFeature(
- ITopMeasureItem refItem,
- ) : super(refItem);
- }
|