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 |
|
|
|