1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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/tissue_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/viewports/tissue_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 '../physical_coordinates/convex_tissue.dart';
- import '../physical_coordinates/linear_tissue.dart';
- import 'visual_area.dart';
- class TissueArea extends VisualArea implements ITissueArea {
- TissueArea(
- IVisual visual,
- VidUsVisualAreaType areaType,
- VidUsModeType modeType,
- ) : super(visual, areaType, modeType);
- /// 是否扇形图
- bool get isConvex => viewport?.physical is ConvexTissuePhysicalCoordinate;
- @override
- void loadData() {
- final visualData = visual.visualData as VidUs2DVisual;
- layoutRegion = findRegion(LayoutSections.general);
- ITissuePhysicalCoordinate? physical;
- // TODO: 动态创建
- final physicalInfo = visualData.physicalCoordinates[visualAreaType]!;
- if (physicalInfo is VidUsLinearTissuePhysicalCoordinate) {
- physical = LinearTissuePhysicalCoordinate(physicalInfo);
- } else if (physicalInfo is VidUsConvexTissuePhysicalCoordinate) {
- physical = ConvexTissuePhysicalCoordinate(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 = TissueViewPort(
- this,
- physical,
- logicalInfo.xUnit,
- logicalInfo.yUnit,
- logicalInfo.isFlipHorizontal,
- logicalInfo.isFlipVertical,
- region,
- );
- }
- }
|