libimgdoc2
Loading...
Searching...
No Matches
Public Member Functions | List of all members
imgdoc2::IDocQuery2d Class Referenceabstract

This interface is providing read-only access to the document. More...

#include <IDocQuery2d.h>

Inheritance diagram for imgdoc2::IDocQuery2d:
imgdoc2::IDocRead2d

Public Member Functions

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
 
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
 
 IDocQuery2d (const IDocQuery2d &)=delete
 
IDocQuery2doperator= (const IDocQuery2d &)=delete
 
 IDocQuery2d (IDocQuery2d &&)=delete
 
IDocQuery2doperator= (IDocQuery2d &&)=delete
 

Detailed Description

This interface is providing read-only access to the document.

Member Function Documentation

◆ GetTilesIntersectingRect()

virtual void imgdoc2::IDocQuery2d::GetTilesIntersectingRect ( const imgdoc2::RectangleD rect,
const imgdoc2::IDimCoordinateQueryClause coordinate_clause,
const imgdoc2::ITileInfoQueryClause tileinfo_clause,
const std::function< bool(imgdoc2::dbIndex)> &  func 
)
pure virtual

Gets tiles intersecting the specified rectangle (and satisfying the other criteria).

Parameters
rectThe rectangle.
coordinate_clauseThe coordinate clause.
tileinfo_clauseThe tileinfo clause.
funcThe function.

◆ Query()

virtual void imgdoc2::IDocQuery2d::Query ( const imgdoc2::IDimCoordinateQueryClause clause,
const imgdoc2::ITileInfoQueryClause tileInfoQuery,
const std::function< bool(imgdoc2::dbIndex)> &  func 
)
pure virtual

Query the tiles table. The two query clauses are used to filter the tiles. The first clause is used to filter the tiles by their coordinates, the second by other "per tile data". The functor is called for each tile which matches the query. If the functor returns false, the enumeration is canceled, and no more calls to the functor will occur. The two query clauses are logically ANDed together.

Parameters
clauseThe query clause (dealing with dimension indexes).
tileInfoQueryThe query clause (dealing with other "per tile data").
funcA functor which we will be called, passing in the index of tiles matching the query. If the functor returns false, the enumeration is canceled, and no more calls to the functor will occur.

◆ ReadTileData()

virtual void imgdoc2::IDocQuery2d::ReadTileData ( imgdoc2::dbIndex  idx,
imgdoc2::IBlobOutput data 
)
pure virtual

Reads the tile data for the specified tile.

Parameters
idxThe primary key of the tile for which the tile data is to be read.
[in]dataThe object which is receiving the blob data.

◆ ReadTileInfo()

virtual void imgdoc2::IDocQuery2d::ReadTileInfo ( imgdoc2::dbIndex  idx,
imgdoc2::ITileCoordinateMutate coordinate,
imgdoc2::LogicalPositionInfo info,
imgdoc2::TileBlobInfo tile_blob_info 
)
pure virtual

Reads tile information for the specified tile. There are three pieces of information which can be retrieved by this method, namely the tile-coordinate, the logical position and the tile-blob-info. If the respective pointers are null, the information will not be retrieved. If the row for the specified primary key does not exist, an exception of type "imgdoc2::non_existing_tile_exception" will be thrown.

Parameters
idxThe primary key of the tile.
[out]coordinateIf non-null and the operation is successful, the tile-coordinate will be put here.
[out]infoIf non-null and the operation is successful, the logical position will be put here.
[out]tile_blob_infoIf non-null and the operation is successful, the tile-blob-info will be put here.

The documentation for this class was generated from the following file: