LCOV - code coverage report
Current view: top level - gcore - gdalallvalidmaskband.cpp (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 26 26 100.0 %
Date: 2024-11-21 22:18:42 Functions: 5 5 100.0 %

          Line data    Source code
       1             : /******************************************************************************
       2             :  *
       3             :  * Project:  GDAL Core
       4             :  * Purpose:  Implementation of GDALAllValidMaskBand, a class implementing all
       5             :  *           a default 'all valid' band mask.
       6             :  * Author:   Frank Warmerdam, warmerdam@pobox.com
       7             :  *
       8             :  ******************************************************************************
       9             :  * Copyright (c) 2007, Frank Warmerdam
      10             :  *
      11             :  * SPDX-License-Identifier: MIT
      12             :  ****************************************************************************/
      13             : 
      14             : #include "cpl_port.h"
      15             : #include "gdal_priv.h"
      16             : 
      17             : #include <cstring>
      18             : 
      19             : #include "gdal.h"
      20             : #include "cpl_error.h"
      21             : 
      22             : //! @cond Doxygen_Suppress
      23             : /************************************************************************/
      24             : /*                        GDALAllValidMaskBand()                        */
      25             : /************************************************************************/
      26             : 
      27       25179 : GDALAllValidMaskBand::GDALAllValidMaskBand(GDALRasterBand *poParent)
      28       25179 :     : GDALRasterBand(FALSE)
      29             : {
      30       25179 :     poDS = nullptr;
      31       25179 :     nBand = 0;
      32             : 
      33       25179 :     nRasterXSize = poParent->GetXSize();
      34       25179 :     nRasterYSize = poParent->GetYSize();
      35             : 
      36       25179 :     eDataType = GDT_Byte;
      37       25179 :     poParent->GetBlockSize(&nBlockXSize, &nBlockYSize);
      38       25179 : }
      39             : 
      40             : /************************************************************************/
      41             : /*                       ~GDALAllValidMaskBand()                        */
      42             : /************************************************************************/
      43             : 
      44             : GDALAllValidMaskBand::~GDALAllValidMaskBand() = default;
      45             : 
      46             : /************************************************************************/
      47             : /*                             IReadBlock()                             */
      48             : /************************************************************************/
      49             : 
      50         335 : CPLErr GDALAllValidMaskBand::IReadBlock(int /* nXBlockOff */,
      51             :                                         int /* nYBlockOff */, void *pImage)
      52             : {
      53         335 :     memset(pImage, 255, static_cast<size_t>(nBlockXSize) * nBlockYSize);
      54             : 
      55         335 :     return CE_None;
      56             : }
      57             : 
      58             : /************************************************************************/
      59             : /*                            GetMaskBand()                             */
      60             : /************************************************************************/
      61             : 
      62         135 : GDALRasterBand *GDALAllValidMaskBand::GetMaskBand()
      63             : 
      64             : {
      65         135 :     return this;
      66             : }
      67             : 
      68             : /************************************************************************/
      69             : /*                            GetMaskFlags()                            */
      70             : /************************************************************************/
      71             : 
      72           6 : int GDALAllValidMaskBand::GetMaskFlags()
      73             : 
      74             : {
      75           6 :     return GMF_ALL_VALID;
      76             : }
      77             : 
      78             : /************************************************************************/
      79             : /*                           ComputeStatistics()                        */
      80             : /************************************************************************/
      81             : 
      82           1 : CPLErr GDALAllValidMaskBand::ComputeStatistics(
      83             :     int /* bApproxOK */, double *pdfMin, double *pdfMax, double *pdfMean,
      84             :     double *pdfStdDev, GDALProgressFunc, void * /*pProgressData*/)
      85             : {
      86           1 :     if (pdfMin)
      87           1 :         *pdfMin = 255.0;
      88           1 :     if (pdfMax)
      89           1 :         *pdfMax = 255.0;
      90           1 :     if (pdfMean)
      91           1 :         *pdfMean = 255.0;
      92           1 :     if (pdfStdDev)
      93           1 :         *pdfStdDev = 0.0;
      94           1 :     return CE_None;
      95             : }
      96             : 
      97             : //! @endcond

Generated by: LCOV version 1.14