| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // SPDX-FileCopyrightText: 2023 Carl Zeiss Microscopy GmbH | ||
| 2 | // | ||
| 3 | // SPDX-License-Identifier: MIT | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "IDocInfo.h" | ||
| 8 | |||
| 9 | namespace imgdoc2 | ||
| 10 | { | ||
| 11 | /// This interface is used for retrieving global information (about the document (i.e. usually aggregated from | ||
| 12 | /// the individual tiles) specific to the 2d-document. | ||
| 13 | class IDocInfo2d : public IDocInfo | ||
| 14 | { | ||
| 15 | public: | ||
| 16 | /// <summary> Gets the extents of an axis-aligned bounding box for all tiles. </summary> | ||
| 17 | /// <param name="bounds_x"> [in,out] If non-null, the extent for the x-coordinate is put here. </param> | ||
| 18 | /// <param name="bounds_y"> [in,out] If non-null, the extent for the y-coordinate is put here. </param> | ||
| 19 | virtual void GetTilesBoundingBox(imgdoc2::DoubleInterval* bounds_x, imgdoc2::DoubleInterval* bounds_y) = 0; | ||
| 20 | |||
| 21 | 160 | ~IDocInfo2d() override = default; | |
| 22 | |||
| 23 | // no copy and no move (-> https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c21-if-you-define-or-delete-any-copy-move-or-destructor-function-define-or-delete-them-all ) | ||
| 24 | 80 | IDocInfo2d() = default; | |
| 25 | IDocInfo2d(const IDocInfo2d&) = delete; // copy constructor | ||
| 26 | IDocInfo2d& operator=(const IDocInfo2d&) = delete; // copy assignment | ||
| 27 | IDocInfo2d(IDocInfo2d&&) = delete; // move constructor | ||
| 28 | IDocInfo2d& operator=(IDocInfo2d&&) = delete; // move assignment | ||
| 29 | }; | ||
| 30 | } | ||
| 31 |