OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimBandSeparateHandler.h
Go to the documentation of this file.
1 //**************************************************************************************************
2 //
3 // License: MIT
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Author: Oscar Kramer
8 //
9 // Description:
10 //
11 // Image handler used when the multi-band image has each band represented by a different disk file.
12 // This is the case for some Ikonos imagery.
13 //
14 //**************************************************************************************************
15 // $Id: ossimBandSeparateHandler.h 2644 2011-05-26 15:20:11Z oscar.kramer $
16 #ifndef ossimBandSeparateHandler_HEADER
17 #define ossimBandSeparateHandler_HEADER
18 
20 #include <ossim/base/ossimRefPtr.h>
22 
28 {
29 public:
32 
34  virtual ~ossimBandSeparateHandler();
35 
38  virtual bool open();
39 
41  virtual void close();
42 
44  virtual bool isOpen()const;
45 
46  virtual ossim_uint32 getNumberOfInputBands() const;
47 
51  virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel = 0) const;
52 
56  virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel = 0) const;
57 
60  virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0)const;
61 
64  virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
65 
67  virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& rect, ossim_uint32 resLevel);
68 
70  virtual ossimScalarType getOutputScalarType() const;
71 
73  virtual bool canConnectMyOutputTo(ossim_int32 index, const ossimConnectableObject* obj);
74 
77 
79  virtual ossim_uint32 getImageTileWidth() const { return 0; }
80  virtual ossim_uint32 getImageTileHeight() const { return 0; }
81 
82 protected:
89  virtual void getBandFileNames(vector<ossimFilename>& file_names);
90 
91  vector<ossimRefPtr<ossimImageHandler> > m_bandFiles;
93 
95 };
96 
97 #endif /* #ifndef ossimBandSeparateHandler_HEADER */
virtual bool open()=0
Pure virtual open.
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
virtual bool isOpen() const =0
Derived classes must implement this method to be concrete.
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if non defined...
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual ossim_uint32 getImageTileWidth() const
These images are not tiled.
unsigned int ossim_uint32
virtual void close()
Deletes the overview and clears the valid image vertices.
virtual ossim_uint32 getImageTileHeight() const
Returns the tile width of the image or 0 if the image is not tiled.
ossimScalarType
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
This class defines an abstract Handler which all image handlers(loaders) should derive from...
ossimRefPtr< ossimBandMergeSource > m_mergeSource
vector< ossimRefPtr< ossimImageHandler > > m_bandFiles
virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
virtual bool canConnectMyOutputTo(ossim_int32 myOutputIndex, const ossimConnectableObject *object) const
default implementation is to allow anyone to connect to us.
virtual ossim_uint32 getNumberOfInputBands() const =0
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
int ossim_int32
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)