1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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 ThreeRayAbstract<T extends MeasureItemFeature>
- extends TopMeasureItem<T> {
- ThreeRayAbstract(ItemMeta meta) : super(meta);
- MeasureItem get child1;
- MeasureItem get child2;
- MeasureItem get child3;
- }
- class ThreeRay extends ThreeRayAbstract<ThreeRayFeature> {
- @override
- bool get ifAutoFinish => true;
- @override
- bool get ifAutoStart => true;
- @override
- bool get finishAfterUnactive => false;
- late final Ray x;
- late final Ray y;
- late final Ray z;
- ThreeRay(ItemMeta meta) : super(meta) {
- final metaX = meta.childItems[0];
- final metaY = meta.childItems[1];
- final metaZ = meta.childItems[2];
- x = Ray.createRay(metaX, this);
- y = Ray.createRay(metaY, this);
- z = Ray.createRay(metaZ, this);
- //TODO:[Gavin] angle 没有传来,暂时写死
- y.initializeAngle = 45;
- z.initializeAngle = 45;
- childItems.add(x);
- childItems.add(y);
- childItems.add(z);
- }
- @override
- Ray get child1 => x;
- @override
- Ray get child2 => y;
- @override
- Ray get child3 => z;
- @override
- ThreeRayFeature buildFeature() => ThreeRayFeature(this);
- @override
- void onCancelingOnce() {}
- static ThreeRay createThreeRay(ItemMeta meta, [IMeasureItem? parent]) {
- ThreeRay threeRay = ThreeRay(meta);
- threeRay.calculator = RayDepthCal(threeRay.child1);
- return threeRay;
- }
- }
- class ThreeRayFeature extends TopMeasureItemFeature {
- ThreeRayFeature(
- ITopMeasureItem refItem,
- ) : super(refItem);
- }
|