+ return !anImage.isNull();
+}
+
+bool HYDROData_Image::OpenECW(char* theFileName, QImage& theImage, ECW_FileInfo* theECWInfo)
+{
+ NCSFileView *pNCSFileView;
+ NCSFileViewFileInfo *pNCSFileInfo;
+ NCSError eError = NCS_SUCCESS;
+ UINT32 band, nBands;
+ UINT32 XSize, YSize;
+ NCSecwInit();
+
+ eError = NCScbmOpenFileView(theFileName, &pNCSFileView, NULL);
+ if(eError != NCS_SUCCESS)
+ return false;
+
+ eError = NCScbmGetViewFileInfo(pNCSFileView, &pNCSFileInfo);
+ if(eError != NCS_SUCCESS)
+ return false;
+
+ XSize = pNCSFileInfo->nSizeX;
+ YSize = pNCSFileInfo->nSizeY;
+ nBands = pNCSFileInfo->nBands;
+ if (theECWInfo)
+ {
+ //ECW_CellUnits myCellSizeUnits;
+ CellSizeUnits aCellUnits = pNCSFileInfo->eCellSizeUnits;
+ if (aCellUnits == ECW_CELL_UNITS_METERS)
+ theECWInfo->myCellSizeUnits = ECW_CellUnits_Meters;
+ else if (aCellUnits == ECW_CELL_UNITS_DEGREES)
+ theECWInfo->myCellSizeUnits = ECW_CellUnits_Deg;
+ else if (aCellUnits == ECW_CELL_UNITS_FEET)
+ theECWInfo->myCellSizeUnits = ECW_CellUnits_Feet;
+ else
+ theECWInfo->myCellSizeUnits = ECW_CellUnits_Unknown;
+ theECWInfo->myCellIncrementX = pNCSFileInfo->fCellIncrementX;
+ theECWInfo->myCellIncrementY = pNCSFileInfo->fCellIncrementY;
+ theECWInfo->myOriginX = pNCSFileInfo->fOriginX;
+ theECWInfo->myOriginY = pNCSFileInfo->fOriginY;
+ theECWInfo->myXSize = pNCSFileInfo->nSizeX;
+ theECWInfo->myYSize = pNCSFileInfo->nSizeY;
+ }
+
+ std::vector<UINT32> band_list(nBands);
+ for( band = 0; band < nBands; band++ )
+ band_list[band] = band;
+
+ eError = NCScbmSetFileView(pNCSFileView, nBands, &band_list[0], 0, 0, XSize - 1, YSize - 1, XSize, YSize); //view an image into the original size