viewport.dart 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import 'package:fis_measure/interfaces/process/viewports/image_boundary.dart';
  2. import 'package:fis_measure/interfaces/process/physical_coordinates/physical_coordinate.dart';
  3. import 'package:fis_measure/interfaces/enums/uint.dart';
  4. import 'package:fis_measure/interfaces/date_types/rect_region.dart';
  5. import 'package:fis_measure/interfaces/date_types/point.dart';
  6. import 'package:fis_measure/interfaces/process/viewports/logical_coordinate.dart';
  7. import 'package:fis_measure/interfaces/process/viewports/viewport.dart';
  8. import 'package:fis_measure/interfaces/process/visuals/visual_area.dart';
  9. import 'package:flutter/foundation.dart';
  10. import 'package:vid/us/vid_us_unit.dart';
  11. abstract class ViewPort<TV extends IVisualArea, T extends IPhysicalCoordinate>
  12. implements IViewPort, ILogicalCoordinate {
  13. late final IVisualArea _area;
  14. late final VidUsUnit _xUnit;
  15. late final VidUsUnit _yUnit;
  16. late final bool _isFlipHorizontal;
  17. late final bool _isFlipVertical;
  18. late final IImageBoundary _imageBoundary;
  19. late final RectRegion _region;
  20. T? _physical;
  21. ViewPort(
  22. IVisualArea visualArea,
  23. VidUsUnit xUnit,
  24. VidUsUnit yUnit,
  25. bool isFlipHorizontal,
  26. bool isFlipVertical,
  27. RectRegion region,
  28. ) {
  29. _area = visualArea;
  30. _xUnit = xUnit;
  31. _yUnit = yUnit;
  32. _isFlipHorizontal = isFlipHorizontal;
  33. _isFlipVertical = isFlipVertical;
  34. _region = region;
  35. }
  36. @override
  37. IVisualArea get area => _area;
  38. @override
  39. IImageBoundary get imageBoundary => _imageBoundary;
  40. @protected
  41. set imageBoundary(IImageBoundary value) => _imageBoundary = value;
  42. @override
  43. bool get isFlipHorizontal => _isFlipHorizontal;
  44. @override
  45. bool get isFlipVertical => _isFlipVertical;
  46. @override
  47. T? get physical => _physical;
  48. @protected
  49. set physical(T? value) {
  50. if (value != _physical) {
  51. _physical = value;
  52. }
  53. }
  54. @override
  55. RectRegion get region => _region;
  56. @override
  57. VidUsUnit get xUnit => _xUnit;
  58. @override
  59. VidUsUnit get yUnit => _yUnit;
  60. }