OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimImageSource.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: Garrett Potts
8 //
9 //*************************************************************************
10 // $Id: ossimImageSource.h 23100 2015-01-26 19:43:08Z okramer $
11 #ifndef ossimImageSource_HEADER
12 #define ossimImageSource_HEADER 1
13 
15 #include <ossim/base/ossimSource.h>
16 #include <ossim/base/ossimIrect.h>
17 #include <ossim/base/ossimRefPtr.h>
20 
21 class ossimDpt;
22 
24 {
25 public:
26  ossimImageSource(ossimObject* owner = 0);
28  ossim_uint32 inputListSize,
29  ossim_uint32 outputListSize,
30  bool inputListIsFixedFlag=true,
31  bool outputListIsFixedFlag=true);
32  virtual ~ossimImageSource();
33 
37  virtual ossimRefPtr<ossimImageData> getTile(const ossimIpt& origin,
38  ossim_uint32 resLevel=0);
39 
43  virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& rect,
44  ossim_uint32 resLevel=0);
45 
60  virtual bool getTile(ossimImageData* result, ossim_uint32 resLevel=0);
61 
67  virtual ossimObject* getObject() { return this; }
68 
74  virtual const ossimObject* getObject() const { return this; }
75 
76 
83  virtual void getDecimationFactor(ossim_uint32 resLevel,
84  ossimDpt& result)const;
85 
89  virtual void getDecimationFactors(std::vector<ossimDpt>& decimations) const;
90 
95  virtual ossim_uint32 getNumberOfDecimationLevels() const;
96 
100  virtual ossim_uint32 getNumberOfInputBands() const = 0;
101 
105  virtual ossim_uint32 getNumberOfOutputBands() const;
106 
115  virtual void getOutputBandList( std::vector<ossim_uint32>& bandList ) const;
116 
121  virtual ossimScalarType getOutputScalarType() const;
122 
126  virtual ossim_uint32 getTileWidth() const;
127 
131  virtual ossim_uint32 getTileHeight() const;
132 
137  virtual double getNullPixelValue(ossim_uint32 band=0)const;
138 
142  virtual double getMinPixelValue(ossim_uint32 band=0)const;
143 
147  virtual double getMaxPixelValue(ossim_uint32 band=0)const;
148 
159  virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const;
160 
170  virtual void getBoundingRect(ossimIrect& rect,
171  ossim_uint32 resLevel=0) const;
172 
177  virtual bool saveState(ossimKeywordlist& kwl,
178  const char* prefix=0)const;
179 
184  virtual bool loadState(const ossimKeywordlist& kwl,
185  const char* prefix=0);
186 
196  virtual void getValidImageVertices(
197  std::vector<ossimIpt>& validVertices,
199  ossim_uint32 resLevel=0)const;
200 
209  virtual ossimRefPtr<ossimImageGeometry> getImageGeometry();
210 
215  virtual void setImageGeometry(const ossimImageGeometry* geom);
216 
218  virtual void saveImageGeometry() const;
219 
221  virtual void saveImageGeometry(const ossimFilename& geometry_file) const;
222 
223  virtual void initialize()=0;
224 
225  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
226  virtual void setProperty(ossimRefPtr<ossimProperty> property);
227  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
228 
234  virtual bool isIndexedData() const;
235 
236 protected:
237 
238  ossimImageSource (const ossimImageSource& rhs);
240 
241 private:
242 
243 TYPE_DATA
244 };
245 
246 #endif /* #ifndef ossimImageSource_HEADER */
#define OSSIMDLLEXPORT
virtual void setProperty(ossimRefPtr< ossimProperty > property)
Represents serializable keyword/value map.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Definition: ossimSource.cpp:55
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Definition: ossimSource.cpp:66
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual ossimObject * getObject()
For RTTI support.
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
ossimVertexOrdering
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
virtual void initialize()
Container class that holds both 2D transform and 3D projection information for an image Only one inst...
ossimScalarType
const ossimSource & operator=(const ossimSource &rhs)
virtual const ossimObject * getObject() const
For RTTI support.