12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import 'package:fis_measure/interfaces/date_types/point.dart';
- import 'package:fis_measure/interfaces/date_types/rect_region.dart';
- import 'package:fis_measure/interfaces/process/modes/mode.dart';
- import 'package:fis_measure/interfaces/process/physical_coordinates/physical_coordinate.dart';
- import 'package:fis_measure/interfaces/process/visuals/time_motion_area.dart';
- import 'package:fis_measure/interfaces/process/visuals/visual.dart';
- import 'package:fis_measure/process/layout/section.dart';
- import 'package:fis_measure/process/physical_coordinates/doppler.dart';
- import 'package:fis_measure/process/physical_coordinates/tissue_time_motion.dart';
- import 'package:fis_measure/process/viewports/time_motion_viewport.dart';
- import 'package:vid/us/vid_us_2d_visual.dart';
- import 'package:vid/us/vid_us_mode.dart';
- import 'package:vid/us/vid_us_physical_coordinate.dart';
- import 'package:vid/us/vid_us_visual_area_type.dart';
- import 'visual_area.dart';
- class TimeMotionArea extends VisualArea implements ITimeMotionArea {
- TimeMotionArea(
- IVisual visual,
- VidUsVisualAreaType areaType,
- VidUsModeType modeType,
- ) : super(visual, areaType, modeType);
- @override
- void loadData() {
- final visualData = visual.visualData as VidUs2DVisual;
- layoutRegion = findRegion(LayoutSections.general);
- ITimeMotionPhysicalCoordiante? physical;
- // TODO: 动态创建
- final physicalInfo = visualData.physicalCoordinates[visualAreaType]!;
- if (physicalInfo is VidUsDopplerPhysicalCoordinate) {
- physical = DopplerPhysicalCoordinate(physicalInfo);
- } else if (physicalInfo is VidUsTissueTimeMotionPhysicalCoordinate) {
- physical = TissueTimeMotionPhysicalCoordinate(physicalInfo);
- }
- if (physical == null) return;
- final logicalInfo = visualData.logicalCoordinates[visualAreaType]!;
- final logicalRegion = logicalInfo.region;
- final region = RectRegion.pointTLBR(
- DPoint(logicalRegion.topLeft.x, logicalRegion.topLeft.y),
- DPoint(logicalRegion.bottomRight.x, logicalRegion.bottomRight.y),
- );
- viewport = TimeMotionViewPort(
- this,
- physical,
- logicalInfo.xUnit,
- logicalInfo.yUnit,
- logicalInfo.isFlipHorizontal,
- logicalInfo.isFlipVertical,
- region,
- );
- }
- }
|