OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
TiffHandlerState.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 //*****************************************************************************
6 #ifndef ossimTiffHandlerState_HEADER
7 #define ossimTiffHandlerState_HEADER 1
10 
11 typedef struct tiff TIFF;
12 class ossimTieGptSet;
13 namespace ossim
14 {
109  class OSSIM_DLL TiffHandlerState : public ossim::ImageHandlerState
110  {
111  public:
112  TiffHandlerState();
113  virtual ~TiffHandlerState();
114  virtual const ossimString& getTypeName()const override;
115  static const ossimString& getStaticTypeName();
116 
122  ossimKeywordlist& getTags(){return m_tags;}
123 
129  const ossimKeywordlist& getTags()const{return m_tags;}
130 
137  void addValue(const ossimString& key, const ossimString& value);
138 
147  bool getValue(ossimString& value, const ossimString& key)const;
148 
149 
162  bool getValue(ossimString& value,
163  const ossim_uint32 directory,
164  const ossimString& key)const;
165 
172  bool exists(ossim_uint32 directory, const ossimString& key)const;
173 
177  bool exists(const ossimString& key)const;
178  bool checkBool(const ossimString& key)const;
179  bool checkBool(ossim_uint32 directory, const ossimString& key)const;
180 
193  virtual bool loadDefaults(const ossimFilename& file, ossim_uint32 entry=0)override;
194 
200  void loadDefaults(TIFF* tiffPtr);
201 
207  void loadCurrentDirectory(TIFF* tiffPtr);
208 
215  void loadDirectory(TIFF* tiffPtr, ossim_uint32 directory);
216 
223  bool isReduced(ossim_uint32 directory)const;
224 
231  bool isMask(ossim_uint32 directory)const;
232 
239  bool isPage(ossim_uint32 directory)const;
240 
241 
249  bool isTiled(ossim_uint32 directory)const;
250 
256  ossim_int32 getInt32Value(const ossimString& key, ossim_int32 directory=0)const;
257 
263  ossim_float64 getDoubleValue(const ossimString& key, ossim_int32 directory=0)const;
264 
270  ossim_int32 getRasterType(ossim_int32 directory=0)const;
271 
277  ossim_int32 getPcsCode(ossim_int32 directory=0)const;
278 
284  ossim_int32 getDatumCode(ossim_int32 directory=0)const;
285 
291  ossim_int32 getGcsCode(ossim_int32 directory=0)const;
292 
298  ossim_int32 getModelType(ossim_int32 directory=0)const;
299 
305  ossim_int32 getAngularUnits(ossim_int32 directory=0)const;
306 
312  ossim_int32 getLinearUnits(ossim_int32 directory=0)const;
313 
319  ossim_int64 getImageLength(ossim_int32 directory=0)const;
320 
326  ossim_int64 getImageWidth(ossim_int32 directory=0)const;
327 
333  ossim_float64 getOriginLat(ossim_int32 directory=0)const;
334 
340  ossim_float64 getOriginLon(ossim_int32 directory=0)const;
341 
347  ossim_float64 getStandardParallel1(ossim_int32 directory=0)const;
348 
354  ossim_float64 getStandardParallel2(ossim_int32 directory=0)const;
355 
361  ossim_float64 getFalseEasting(ossim_int32 directory=0)const;
362 
368  ossim_float64 getFalseNorthing(ossim_int32 directory=0)const;
369 
375  ossim_float64 getScaleFactor(ossim_int32 directory=0)const;
376 
384  bool getDoubleArray(std::vector<ossim_float64>& result,
385  ossim_int32 directory,
386  const ossimString& key)const;
387 
394  bool getGeoDoubleParams(std::vector<ossim_float64>& result,
395  ossim_int32 directory)const;
396 
403  bool getGeoPixelScale(std::vector<ossim_float64>& result,
404  ossim_int32 directory)const;
405 
412  bool getGeoTiePoints(std::vector<ossim_float64>& result,
413  ossim_int32 directory)const;
414 
421  bool getGeoTransMatrix(std::vector<ossim_float64>& result,
422  ossim_int32 directory)const;
423 
431  virtual bool load(const ossimKeywordlist& kwl,
432  const ossimString& prefix="") override;
433 
441  virtual bool save(ossimKeywordlist& kwl,
442  const ossimString& prefix="")const override;
443  private:
444  static const ossimString m_typeName;
445 
452  void saveColorMap(const ossimString& dirPrefix,
453  const ossim_uint16* red,
454  const ossim_uint16* green,
455  const ossim_uint16* blue,
456  ossim_uint32 numberOfEntries);
457 
461  void loadGeotiffTags(TIFF* tiffPtr, const ossimString& dirPrefix);
462 
468  void convertArrayToStringList(ossimString& result, double* doubleArray, ossim_int32 doubleArraSize)const;
469 
470  ossimKeywordlist m_tags;
471  };
472 
473 }
474 #endif
Represents serializable keyword/value map.
This code was derived from https://gist.github.com/mshockwave.
Definition: Barrier.h:8
unsigned short ossim_uint16
double ossim_float64
unsigned int ossim_uint32
struct tiff TIFF
storage class for a set of geographic tie points, between master and slave images ...
#define OSSIM_DLL
long long ossim_int64
int ossim_int32