OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimKakaduCompressorInterface.h
Go to the documentation of this file.
1 //---
2 //
3 // License: MIT
4 // Author: David Burken
5 // Description: Interface for Kakadu compressor.
6 //
7 //---
8 // $Id$
9 
10 #ifndef ossimKakaduCompressorInterface_HEADER
11 #define ossimKakaduCompressorInterface_HEADER 1
12 
14 #include <ossim/base/ossimIosFwd.h>
15 #include <ossim/base/ossimRefPtr.h>
16 
17 class ossimImageData;
18 class ossimIpt;
19 class ossimIrect;
20 class ossimNitfJ2klraTag;
21 class ossimProperty;
22 
30 {
31 public:
32 
33  // Matches static "COMPRESSION_QUALITY" string array in .cpp.
35  {
36  // Prefixed with OKP for OSSIM Kakadu Plugin to avoid clashes.
37  OKP_UNKNOWN = 0,
38  OKP_USER_DEFINED = 1,
39  OKP_NUMERICALLY_LOSSLESS = 2,
40  OKP_VISUALLY_LOSSLESS = 3,
41  OKP_LOSSY = 4,
42  OKP_LOSSY2 = 5,
43  OKP_LOSSY3 = 6,
44  OKP_EPJE = 7, // Exploitation Preferred J2K Encoding
45  };
46 
53 
66  virtual void create(ossim::ostream* os,
67  ossimScalarType scalar,
68  ossim_uint32 bands,
69  const ossimIrect& imageRect,
70  const ossimIpt& tileSize,
71  ossim_uint32 tilesToWrite,
72  bool jp2) = 0;
73 
84  virtual bool writeTile(ossimImageData& srcTile) = 0;
85 
90  virtual void finish() = 0;
91 
97  virtual void setAlphaChannelFlag( bool flag ) = 0;
98 
107  virtual void setLevels(ossim_int32 levels) = 0;
108 
117  virtual bool setProperty(ossimRefPtr<ossimProperty> property) = 0;
118 
131  virtual void setQualityType(ossimKakaduCompressionQuality type) = 0;
132 
133 
134 
135 };
136 
137 #endif /* End of "#ifndef ossimKakaduCompressorInterface_HEADER" */
unsigned int ossim_uint32
ossimScalarType
#define OSSIM_DLL
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32