1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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/workspace/point_info.dart';
- import 'package:fis_measure/process/calcuators/detection.dart';
- import 'package:fis_measure/process/items/item.dart';
- import 'package:fis_measure/utils/canvas.dart';
- import '../items/item_feature.dart';
- class CarotidDetection extends MeasureItem<CarotidDetectionFeature> {
- CarotidDetection(ItemMeta meta, IMeasureItem? parent) : super(meta, parent) {
- feature = CarotidDetectionFeature(this);
- }
- static CarotidDetection createDetectionRect(ItemMeta meta,
- [IMeasureItem? parent]) {
- CarotidDetection detectionRect = CarotidDetection(meta, parent);
- detectionRect.calculator = CarotidDetectionCal(detectionRect, meta.name);
- detectionRect.calculator!.calculate();
- Future.delayed(const Duration(milliseconds: 500), () {
- detectionRect.doFeatureFinish();
- });
- return detectionRect;
- }
- @override
- bool onExecuteMouse(PointInfo args) {
- return true;
- }
- @override
- bool onExecuteTouch(PointInfo args) {
- return true;
- }
- }
- class CarotidDetectionFeature extends MeasureItemFeature {
- CarotidDetectionFeature(
- IMeasureItem refItem,
- ) : super(refItem);
- List<List<Offset>> offsetsList = [];
- List<List<Offset>> scaledOffsetsList = [];
- @override
- void paint(Canvas canvas, Size size) {
- if (offsetsList.isEmpty) return;
- drawCustomId(canvas, size, offsetsList[0][0] * refItem.scaleRatio, idText);
- scaledOffsetsList = offsetsList.map((e) {
- return e.map((e) {
- return e * refItem.scaleRatio;
- }).toList();
- }).toList();
- //绘制点集连线
- for (var offsets in scaledOffsetsList) {
- canvas.drawPointsLine(offsets, paintPan);
- }
- }
- }
|