viewport.dart 1014 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import 'package:fis_measure/interfaces/date_types/point.dart';
  2. import 'package:fis_measure/interfaces/date_types/rect_region.dart';
  3. import 'package:fis_measure/interfaces/process/visuals/visual_area.dart';
  4. import 'package:vid/us/vid_us_unit.dart';
  5. import '../physical_coordinates/physical_coordinate.dart';
  6. import 'image_boundary.dart';
  7. /// 测量视口
  8. abstract class IViewPort {
  9. IVisualArea get area;
  10. /// 物理坐标协调器
  11. IPhysicalCoordinate? get physical;
  12. /// 所在区域(相对于整个图像)
  13. RectRegion get region;
  14. /// 图像区域(可能会超出[region])
  15. IImageBoundary get imageBoundary;
  16. /// 是否水平翻转
  17. bool get isFlipHorizontal;
  18. /// 是否垂直翻转
  19. bool get isFlipVertical;
  20. /// X轴单位
  21. VidUsUnit get xUnit;
  22. /// Y轴单位
  23. VidUsUnit get yUnit;
  24. /// 转换为[region]中的逻辑化坐标点
  25. DPoint convert(DPoint point);
  26. /// 将逻辑化坐标点转换为相对于与[region]的规范化坐标点
  27. DPoint convertBack(DPoint point);
  28. }