GCC Code Coverage Report


Directory: libimgdoc2/
File: libimgdoc2/inc/IDocInfo3d.h
Date: 2025-02-03 12:41:04
Exec Total Coverage
Lines: 2 2 100.0%
Functions: 2 2 100.0%
Branches: 0 0 -%

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 bricks) specific to the 3d-document.
13 class IDocInfo3d : public IDocInfo
14 {
15 public:
16 /// <summary> Gets the extents of an axis-aligned bounding cuboid for all bricks. </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 /// <param name="bounds_z"> [in,out] If non-null, the extent for the z-coordinate is put here. </param>
20 virtual void GetBricksBoundingBox(imgdoc2::DoubleInterval* bounds_x, imgdoc2::DoubleInterval* bounds_y, imgdoc2::DoubleInterval* bounds_z) = 0;
21
22 136 ~IDocInfo3d() override = default;
23
24 // 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 )
25 68 IDocInfo3d() = default;
26 IDocInfo3d(const IDocInfo3d&) = delete; // copy constructor
27 IDocInfo3d& operator=(const IDocInfo3d&) = delete; // copy assignment
28 IDocInfo3d(IDocInfo3d&&) = delete; // move constructor
29 IDocInfo3d& operator=(IDocInfo3d&&) = delete; // move assignment
30 };
31 }
32