5#include <iolink/ArrayX.h>
6#include <iolink/IOLinkAPI.h>
7#include <iolink/RegionX.h>
8#include <iolink/VectorX.h>
9#include <iolink/view/Extension.h>
33 static constexpr size_t EXTENSION_ID = 0x1;
41 inline static std::shared_ptr<TilingInfoExtension>
cast(
const std::shared_ptr<Extension>& extension)
43 return std::dynamic_pointer_cast<TilingInfoExtension>(extension);
49 static constexpr size_t INVALID_TILE_INDEX = 0xFFFFFFFF;
89 virtual void readTile(
size_t tileIndex,
void* dst);
103 virtual void writeTile(
size_t tileIndex,
const void* src);
A multi dimensionnal array.
Definition ArrayX.h:31
Parent class for all views extensions.
Definition Extension.h:25
Interface representing an N dimensional image.
Definition ImageView.h:70
A Region using dynamic vectors.
Definition RegionX.h:14
ImageView extension to describe how an image is tiled.
Definition TilingInfoExtension.h:28
static std::shared_ptr< TilingInfoExtension > cast(const std::shared_ptr< Extension > &extension)
Upcast a generic extension to this specific type.
Definition TilingInfoExtension.h:41
virtual size_t tileCount() const =0
Get the number of tiles in the image.
virtual void writeTile(size_t tileIndex, const void *src)
Write data from a memory buffer into a tile.
virtual RegionXu64 tileRegion(size_t tileIndex) const =0
Return the region of the chosen tile.
virtual void readTile(size_t tileIndex, void *dst)
Read data from a tile into a memory buffer.
virtual ImageView * image() const =0
Get the ImageView that is tiled by this instance.
virtual const ArrayXu64 & tilingGrid() const =0
Return A N-dimensional array, with each element being a tile index.
virtual const VectorXu64 & maxTileSize() const =0
Return the maximum tile size used for the image.
A dynamically sized arithmetic vector.
Definition VectorX.h:18
All IOLink symbols are enclosed in this namespace.
Definition ArrayX.h:8