MCPcopy Create free account
hub / github.com/OSGeo/gdal / TryOverviewRasterIO

Method TryOverviewRasterIO

gcore/rasterio.cpp:4782–4815  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4780/************************************************************************/
4781
4782CPLErr GDALRasterBand::TryOverviewRasterIO(
4783 GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize,
4784 void *pData, int nBufXSize, int nBufYSize, GDALDataType eBufType,
4785 GSpacing nPixelSpace, GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg,
4786 int *pbTried)
4787{
4788 int nXOffMod = nXOff;
4789 int nYOffMod = nYOff;
4790 int nXSizeMod = nXSize;
4791 int nYSizeMod = nYSize;
4792 GDALRasterIOExtraArg sExtraArg;
4793
4794 GDALCopyRasterIOExtraArg(&sExtraArg, psExtraArg);
4795
4796 int iOvrLevel = GDALBandGetBestOverviewLevel2(
4797 this, nXOffMod, nYOffMod, nXSizeMod, nYSizeMod, nBufXSize, nBufYSize,
4798 &sExtraArg);
4799
4800 if (iOvrLevel >= 0)
4801 {
4802 GDALRasterBand *poOverviewBand = GetOverview(iOvrLevel);
4803 if (poOverviewBand)
4804 {
4805 *pbTried = TRUE;
4806 return poOverviewBand->RasterIO(
4807 eRWFlag, nXOffMod, nYOffMod, nXSizeMod, nYSizeMod, pData,
4808 nBufXSize, nBufYSize, eBufType, nPixelSpace, nLineSpace,
4809 &sExtraArg);
4810 }
4811 }
4812
4813 *pbTried = FALSE;
4814 return CE_None;
4815}
4816
4817/************************************************************************/
4818/* TryOverviewRasterIO() */

Callers 1

Calls 5

GDALCopyRasterIOExtraArgFunction · 0.85
RasterIOMethod · 0.45
GetOverviewMethod · 0.45
GetDatasetMethod · 0.45

Tested by

no test coverage detected