12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- import 'package:fis_measure/interfaces/date_types/rect_region.dart';
- import 'package:fis_measure/interfaces/enums/display_mode.dart';
- import 'package:fis_measure/interfaces/enums/visual_area_type.dart';
- import 'package:fis_measure/interfaces/process/modes/mode.dart';
- import 'package:fis_common/event/event_type.dart';
- import 'package:fis_measure/interfaces/process/visuals/visual.dart';
- import 'package:fis_measure/process/layout/configuration.dart';
- import 'package:fis_measure/process/layout/section.dart';
- import 'package:fis_measure/process/modes/mode_base.dart';
- import 'package:flutter/foundation.dart';
- import 'package:get/get.dart';
- import 'package:vid/us/vid_us_2d_visual.dart';
- import 'package:vid/us/vid_us_display_mode.dart';
- import 'package:vid/us/vid_us_mode.dart';
- import 'package:vid/us/vid_us_visual.dart';
- import 'package:fis_measure/interfaces/process/visuals/visual_area.dart';
- import 'tissue_area.dart';
- import 'visual_area.dart';
- abstract class VisualBase implements IVisual {
- late final VidUsVisual _visualData;
- late final List<IVisualArea> _visualAreas = [];
- late final RectRegion _region;
- VisualBase(VidUsVisual visualData, RectRegion region) {
- _visualData = visualData;
- _region = region;
- }
- /// 装载区域
- void loadAreas(List<VisualArea> areas);
- @override
- bool get isActive => visualAreas.any((e) => e.isActive);
- @override
- IMode? get activeMode => activeArea?.mode;
- @override
- VidUsDisplayMode get displayMode => visualData.displayMode;
- @override
- List<IMode> get modes => visualAreas.map((e) => e.mode).toSet().toList();
- @override
- List<IVisualArea> get visualAreas => _visualAreas;
- @override
- RectRegion get region => _region;
- @override
- IVisualArea? get activeArea =>
- visualAreas.firstWhereOrNull((e) => e.isActive);
- @override
- VidUsVisual get visualData => _visualData;
- @override
- var activeChanged = FEventHandler<bool>();
- @override
- void setUnAcitve() {
- for (var area in visualAreas) {
- area.isActive = false;
- }
- }
- @protected
- ModeBase matchAreaMode(VidUsModeType type) {
- final modeInfo = visualData.modes.firstWhere((e) => e.type == type);
- final mode = ModeBase(
- modeInfo.name,
- ModeTypeEnum.doppler,
- this,
- );
- return mode;
- }
- }
|