bool QgsRasterBlock::isEmpty() const { QgsDebugMsg( QString( "mWidth= %1 mHeight = %2 mDataType = %3 mData = %4 mImage = %5" ).arg( mWidth ).arg( mHeight ).arg( mDataType ).arg(( intptr_t )mData ).arg(( intptr_t )mImage ) ); if ( mWidth == 0 || mHeight == 0 || ( typeIsNumeric( mDataType ) && mData == 0 ) || ( typeIsColor( mDataType ) && mImage == 0 ) ) { return true; } return false; }
bool QgsRasterBlock::reset( QGis::DataType theDataType, int theWidth, int theHeight, double theNoDataValue ) { QgsDebugMsg( QString( "theWidth= %1 theHeight = %2 theDataType = %3 theNoDataValue = %4" ).arg( theWidth ).arg( theHeight ).arg( theDataType ).arg( theNoDataValue ) ); qgsFree( mData ); mData = nullptr; delete mImage; mImage = nullptr; qgsFree( mNoDataBitmap ); mNoDataBitmap = nullptr; mDataType = QGis::UnknownDataType; mTypeSize = 0; mWidth = 0; mHeight = 0; mHasNoDataValue = false; mNoDataValue = std::numeric_limits<double>::quiet_NaN(); mValid = false; if ( typeIsNumeric( theDataType ) ) { QgsDebugMsg( "Numeric type" ); qgssize tSize = typeSize( theDataType ); QgsDebugMsg( QString( "allocate %1 bytes" ).arg( tSize * theWidth * theHeight ) ); mData = qgsMalloc( tSize * theWidth * theHeight ); if ( !mData ) { QgsDebugMsg( QString( "Couldn't allocate data memory of %1 bytes" ).arg( tSize * theWidth * theHeight ) ); return false; } } else if ( typeIsColor( theDataType ) ) { QgsDebugMsg( "Color type" ); QImage::Format format = imageFormat( theDataType ); mImage = new QImage( theWidth, theHeight, format ); } else { QgsDebugMsg( "Wrong data type" ); return false; } mValid = true; mDataType = theDataType; mTypeSize = QgsRasterBlock::typeSize( mDataType ); mWidth = theWidth; mHeight = theHeight; mHasNoDataValue = true; mNoDataValue = theNoDataValue; QgsDebugMsg( QString( "mWidth= %1 mHeight = %2 mDataType = %3 mData = %4 mImage = %5" ).arg( mWidth ).arg( mHeight ).arg( mDataType ) .arg( reinterpret_cast< ulong >( mData ) ).arg( reinterpret_cast< ulong >( mImage ) ) ); return true; }
bool QgsRasterBlock::isEmpty() const { QgsDebugMsg( QString( "mWidth= %1 mHeight = %2 mDataType = %3 mData = %4 mImage = %5" ).arg( mWidth ).arg( mHeight ).arg( mDataType ) .arg( reinterpret_cast< ulong >( mData ) ).arg( reinterpret_cast< ulong >( mImage ) ) ); if ( mWidth == 0 || mHeight == 0 || ( typeIsNumeric( mDataType ) && !mData ) || ( typeIsColor( mDataType ) && !mImage ) ) { return true; } return false; }