12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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/ray.dart';
- import 'package:fis_measure/process/items/top_item_feature.dart';
- import 'package:fis_measure/process/primitives/ray.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';
- abstract class TwoRayAbstract<T extends MeasureItemFeature>
- extends TopMeasureItem<T> {
- TwoRayAbstract(ItemMeta meta) : super(meta);
- MeasureItem get child1;
- MeasureItem get child2;
- }
- class TwoRay extends TwoRayAbstract<TwoRayFeature> {
- @override
- bool get ifAutoFinish => true;
- @override
- bool get ifAutoStart => true;
- @override
- bool get finishAfterUnactive => false;
- late final Ray x;
- late final Ray y;
- TwoRay(ItemMeta meta) : super(meta) {
- final metaX = meta.childItems[0];
- final metaY = meta.childItems[1];
- x = Ray.createRay(metaX, this);
- y = Ray.createRay(metaY, this);
- //TODO:[Gavin] angle 没有传来,暂时写死
- y.initializeAngle = 45;
- childItems.add(x);
- childItems.add(y);
- }
- @override
- Ray get child1 => x;
- @override
- Ray get child2 => y;
- @override
- TwoRayFeature buildFeature() => TwoRayFeature(this);
- @override
- void onCancelingOnce() {}
- static TwoRay createTwoRay(ItemMeta meta, [IMeasureItem? parent]) {
- TwoRay twoRay = TwoRay(meta);
- twoRay.calculator = RayDepthCal(twoRay.child1);
- return twoRay;
- }
- }
- class TwoRayFeature extends TopMeasureItemFeature {
- TwoRayFeature(
- ITopMeasureItem refItem,
- ) : super(refItem);
- }
|