libimgdoc2
Loading...
Searching...
No Matches
IDocQuery2d.h
1// SPDX-FileCopyrightText: 2023 Carl Zeiss Microscopy GmbH
2//
3// SPDX-License-Identifier: MIT
4
5#pragma once
6#include "LogicalPositionInfo.h"
7#include "TileBaseInfo.h"
8#include "ITileCoordinate.h"
9#include "LogicalPositionInfo.h"
10#include "IDimCoordinateQueryClause.h"
11#include "ITIleInfoQueryClause.h"
12#include "IBlobOutput.h"
13
14namespace imgdoc2
15{
18 {
19 public:
20 virtual ~IDocQuery2d() = default;
21
32 virtual void ReadTileInfo(imgdoc2::dbIndex idx, imgdoc2::ITileCoordinateMutate* coordinate, imgdoc2::LogicalPositionInfo* info, imgdoc2::TileBlobInfo* tile_blob_info) = 0;
33
42 virtual void Query(const imgdoc2::IDimCoordinateQueryClause* clause, const imgdoc2::ITileInfoQueryClause* tileInfoQuery, const std::function<bool(imgdoc2::dbIndex)>& func) = 0;
43
49 virtual void GetTilesIntersectingRect(const imgdoc2::RectangleD& rect, const imgdoc2::IDimCoordinateQueryClause* coordinate_clause, const imgdoc2::ITileInfoQueryClause* tileinfo_clause, const std::function<bool(imgdoc2::dbIndex)>& func) = 0;
50
54 virtual void ReadTileData(imgdoc2::dbIndex idx, imgdoc2::IBlobOutput* data) = 0;
55 public:
56 // 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 )
57 IDocQuery2d() = default;
58 IDocQuery2d(const IDocQuery2d&) = delete; // copy constructor
59 IDocQuery2d& operator=(const IDocQuery2d&) = delete; // copy assignment
60 IDocQuery2d(IDocQuery2d&&) = delete; // move constructor
61 IDocQuery2d& operator=(IDocQuery2d&&) = delete; // move assignment
62 };
63}
interface for outputting binary data
Definition: IBlobOutput.h:16
Definition: IDimCoordinateQueryClause.h:18
This interface is providing read-only access to the document.
Definition: IDocQuery2d.h:18
virtual void GetTilesIntersectingRect(const imgdoc2::RectangleD &rect, const imgdoc2::IDimCoordinateQueryClause *coordinate_clause, const imgdoc2::ITileInfoQueryClause *tileinfo_clause, const std::function< bool(imgdoc2::dbIndex)> &func)=0
virtual void ReadTileData(imgdoc2::dbIndex idx, imgdoc2::IBlobOutput *data)=0
virtual void ReadTileInfo(imgdoc2::dbIndex idx, imgdoc2::ITileCoordinateMutate *coordinate, imgdoc2::LogicalPositionInfo *info, imgdoc2::TileBlobInfo *tile_blob_info)=0
virtual void Query(const imgdoc2::IDimCoordinateQueryClause *clause, const imgdoc2::ITileInfoQueryClause *tileInfoQuery, const std::function< bool(imgdoc2::dbIndex)> &func)=0
This interface provides modify access to the object and allows to mutate the object.
Definition: ITileCoordinate.h:145
Interface defining the query-clause on "tile-info".
Definition: ITIleInfoQueryClause.h:39
Definition: LogicalPositionInfo.h:15
Structure defining an axis-aligned rectangle in two dimensions with doubles representing the coordina...
Definition: types.h:188
Definition: TileBaseInfo.h:30