1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import 'dart:ui';
- 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/interfaces/process/workspace/point_info.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/three_distance.dart';
- import 'package:fis_measure/process/calcuators/two_distance.dart';
- import 'package:fis_measure/process/items/item.dart';
- import 'package:fis_measure/process/items/item_feature.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';
- import 'two_length.dart';
- class TwoStraightLine extends TwoLengthAbstract<TwoStraightLineFeature> {
- late final StraightLine x;
- late final StraightLine y;
- TwoStraightLine(ItemMeta meta) : super(meta) {
- final metaX = meta.childItems[0];
- final metaY = meta.childItems[1];
- 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
- bool onExecuteMouse(PointInfo args) {
- if (args.pointType == PointInfoType.mouseDown) {
- if (feature == null) {
- feature = TwoStraightLineFeature(this);
- listenChildrenUpdate();
- }
- if (childrenAllDone) {
- workingChild.clear();
- }
- }
- feature?.hostVisualArea = args.hostVisualArea;
- final result = workingChild.execute(args);
- doCalculate();
- return result;
- }
- @override
- bool onExecuteTouch(PointInfo args) {
- return workingChild.execute(args);
- }
- @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 createStenosisTwoDistance(ItemMeta meta,
- [IMeasureItem? parent]) {
- var twoStraightline = TwoStraightLine(meta);
- twoStraightline.calculator = StenosisCal(twoStraightline);
- return twoStraightline;
- }
- }
- class TwoStraightLineFeature extends TopMeasureItemFeature {
- TwoStraightLineFeature(
- ITopMeasureItem refItem,
- ) : super(refItem);
- }
|