bool ossimGeneralRasterInfo::initializeFromEnviHdr( const ossimEnviHeader& enviHdr ) { bool result = false; while( 1 ) { //--- // Go through the data members in order. // If a required item is not found break from loop. //-- theMetaData.clear(); // scalar ( required ) : if( enviHdr.getOssimScalarType() != OSSIM_SCALAR_UNKNOWN ) { theMetaData.setScalarType( enviHdr.getOssimScalarType() ); } else { break; } theImageFileList.clear(); // interleave ( required ): theInterleaveType = enviHdr.getOssimInterleaveType(); if ( theInterleaveType == OSSIM_INTERLEAVE_UNKNOWN ) { break; } // bands ( required ): if ( !enviHdr.getBands() ) { break; } theMetaData.setNumberOfBands( enviHdr.getBands() ); // lines ( required ): ossim_uint32 lines = enviHdr.getLines(); if ( !lines ) { break; } // samples ( required ): ossim_uint32 samples = enviHdr.getSamples(); if ( !samples ) { break; } // Set the rectangles: theRawImageRect = ossimIrect( 0, 0, samples - 1, lines - 1 ); theValidImageRect = theRawImageRect; theImageRect = theRawImageRect; // sample start ( not required ): theSubImageOffset.x = enviHdr.getXStart(); // line start ( not required ): theSubImageOffset.y = enviHdr.getYStart(); // header offset ( not required ): theHeaderSize = enviHdr.getHeaderOffset(); // null mode: theSetNullsMode = ossimGeneralRasterInfo::NONE; // pixels to chop: thePixelsToChop = 0; // Byte order, this will be system if not found. theImageDataByteOrder = enviHdr.getByteOrder(); result = true; break; // Trailing break to get out. } return result; } // End: ossimGeneralRasterInfo::initializeFromEnviHdr( const ossimEnviHeader& )