12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import 'package:fis_measure/interfaces/date_types/rect_region.dart';
- import 'package:fis_measure/process/visual/v2d_visual.dart';
- import 'package:fis_measure/process/visual/v3d_visual.dart';
- import 'package:fis_measure/process/visual/visual.dart';
- import 'package:vid/us/vid_us_2d_visual.dart';
- import 'package:vid/us/vid_us_3d_visual.dart';
- import 'package:vid/us/vid_us_visual.dart';
- import 'package:vid/us/vid_us_visual_type.dart';
- class VisualsLoader {
- final List<VidUsVisual> visualDatas;
- final List<VisualBase> _visuals = [];
- VisualsLoader(this.visualDatas);
- List<VisualBase> load() {
- if (visualDatas.length == 1) {
- loadSingleVisual();
- } else if (visualDatas.length == 2) {
- loadTwoVisual();
- } else if (visualDatas.length == 4) {
- loadFourVisual();
- } else {
- loadNoVisual();
- }
- return _visuals;
- }
- void loadVisual(VidUsVisual data, RectRegion region) {
- VisualBase visual;
- if (data.visualType == VidUsVisualType.V3D) {
- data as VidUs3DVisual;
- // TODO: create 3d areas
- visual = V3dVisual(data, region);
- } else {
- data as VidUs2DVisual;
- visual = V2dVisual(data, region);
- }
- _visuals.add(visual);
- }
- //适用于,例如:颈动脉2D下无visuals的情况
- void loadNoVisual() {
- loadVisual(
- VidUs2DVisual(),
- RectRegion.fill(0, 0, 1, 1),
- );
- }
- void loadSingleVisual() {
- loadVisual(
- visualDatas.first,
- RectRegion.fill(0, 0, 1, 1),
- );
- }
- void loadTwoVisual() {
- loadVisual(
- visualDatas[0],
- RectRegion.fill(0, 0, 0.5, 1),
- );
- loadVisual(
- visualDatas[1],
- RectRegion.fill(0.5, 0, 0.5, 1),
- );
- }
- void loadFourVisual() {
- loadVisual(
- visualDatas[0],
- RectRegion.fill(0, 0, 0.5, 0.5),
- );
- loadVisual(
- visualDatas[1],
- RectRegion.fill(0.5, 0, 0.5, 0.5),
- );
- loadVisual(
- visualDatas[2],
- RectRegion.fill(0, 0.5, 0.5, 0.5),
- );
- loadVisual(
- visualDatas[3],
- RectRegion.fill(0.5, 0.5, 0.5, 0.5),
- );
- }
- }
|