libimgdoc2
Loading...
Searching...
No Matches
IDocWrite3d.h
1// SPDX-FileCopyrightText: 2023 Carl Zeiss Microscopy GmbH
2//
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
7#include "BrickBaseInfo.h"
8#include "DataTypes.h"
9#include "IDataObj.h"
10#include "IDatabaseTransaction.h"
11
12namespace imgdoc2
13{
16 {
17 public:
26 virtual imgdoc2::dbIndex AddBrick(
27 const imgdoc2::ITileCoordinate* coordinate,
28 const imgdoc2::LogicalPositionInfo3D* logical_position_3d_info,
29 const imgdoc2::BrickBaseInfo* brick_base_info,
30 imgdoc2::DataTypes data_type,
31 imgdoc2::TileDataStorageType storage_type,
32 const imgdoc2::IDataObjBase* data) = 0;
33
34 ~IDocWrite3d() override = default;
35 public:
36 // 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 )
37 IDocWrite3d() = default;
38 IDocWrite3d(const IDocWrite3d&) = delete; // copy constructor
39 IDocWrite3d& operator=(const IDocWrite3d&) = delete; // copy assignment
40 IDocWrite3d(IDocWrite3d&&) = delete; // move constructor
41 IDocWrite3d& operator=(IDocWrite3d&&) = delete; // move assignment
42 };
43}
Definition: IDataObj.h:12
Interface for controlling database transactions.
Definition: IDatabaseTransaction.h:16
This interface is providing write access to a 3D-document.
Definition: IDocWrite3d.h:16
virtual imgdoc2::dbIndex AddBrick(const imgdoc2::ITileCoordinate *coordinate, const imgdoc2::LogicalPositionInfo3D *logical_position_3d_info, const imgdoc2::BrickBaseInfo *brick_base_info, imgdoc2::DataTypes data_type, imgdoc2::TileDataStorageType storage_type, const imgdoc2::IDataObjBase *data)=0
Definition: ITileCoordinate.h:16
Definition: BrickBaseInfo.h:17
Definition: LogicalPositionInfo.h:68