OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
ossimOpjWriterFactory Class Reference

Factory for OpenJPEG image writer. More...

#include <ossimOpjWriterFactory.h>

Inheritance diagram for ossimOpjWriterFactory:
ossimImageWriterFactoryBase ossimObjectFactory ossimObject ossimReferenced

Public Member Functions

virtual ~ossimOpjWriterFactory ()
 virtual destructor More...
 
virtual ossimImageFileWritercreateWriterFromExtension (const ossimString &fileExtension) const
 Creates a writer from extension like "jp2". More...
 
virtual ossimImageFileWritercreateWriter (const ossimKeywordlist &kwl, const char *prefix=0) const
 Create that takes a keyword list and prefix. More...
 
virtual ossimImageFileWritercreateWriter (const ossimString &typeName) const
 createWriter that takes a class name (ossimOpjWriter) More...
 
virtual ossimObjectcreateObject (const ossimKeywordlist &kwl, const char *prefix=0) const
 Creates and object given a keyword list. More...
 
virtual ossimObjectcreateObject (const ossimString &typeName) const
 createObject that takes a class name (ossimOpjWriter) More...
 
virtual void getExtensions (std::vector< ossimString > &extList) const
 Adds "jp2" to list. More...
 
virtual void getTypeNameList (std::vector< ossimString > &typeList) const
 Adds "ossimOpjWriter" to list. More...
 
virtual void getImageTypeList (std::vector< ossimString > &imageTypeList) const
 Adds "ossim_opj_jp2", "ossim_opj_geojp2", and "ossim_opj_gmljp2" to writer list. More...
 
virtual void getImageFileWritersBySuffix (ossimImageWriterFactoryBase::ImageFileWriterList &result, const ossimString &ext) const
 Adds an ossimOpjJp2Writer instance to writer list. More...
 
virtual void getImageFileWritersByMimeType (ossimImageWriterFactoryBase::ImageFileWriterList &result, const ossimString &mimeType) const
 
- Public Member Functions inherited from ossimImageWriterFactoryBase
virtual ~ossimImageWriterFactoryBase ()
 
- Public Member Functions inherited from ossimObjectFactory
virtual ~ossimObjectFactory ()
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual ossimString getClassName () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 
virtual std::ostream & print (std::ostream &out) const
 Generic print method. More...
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 

Static Public Member Functions

static ossimOpjWriterFactoryinstance ()
 static method to return instance (the only one) of this class. More...
 

Protected Member Functions

 ossimOpjWriterFactory ()
 hidden from use default constructor More...
 
 ossimOpjWriterFactory (const ossimOpjWriterFactory &)
 hidden from use copy constructor More...
 
void operator= (const ossimOpjWriterFactory &)
 hidden from use copy constructor More...
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Static Protected Attributes

static ossimOpjWriterFactorytheInstance = NULL
 static instance of this class More...
 

Additional Inherited Members

- Public Types inherited from ossimImageWriterFactoryBase
typedef std::vector< ossimRefPtr< ossimImageFileWriter > > ImageFileWriterList
 

Detailed Description

Factory for OpenJPEG image writer.

Definition at line 20 of file ossimOpjWriterFactory.h.

Constructor & Destructor Documentation

◆ ~ossimOpjWriterFactory()

ossimOpjWriterFactory::~ossimOpjWriterFactory ( )
virtual

virtual destructor

Definition at line 22 of file ossimOpjWriterFactory.cpp.

References theInstance.

23 {
24  theInstance = 0;
25 }
static ossimOpjWriterFactory * theInstance
static instance of this class

◆ ossimOpjWriterFactory() [1/2]

ossimOpjWriterFactory::ossimOpjWriterFactory ( )
protected

hidden from use default constructor

Definition at line 143 of file ossimOpjWriterFactory.cpp.

Referenced by instance().

143 {}

◆ ossimOpjWriterFactory() [2/2]

ossimOpjWriterFactory::ossimOpjWriterFactory ( const ossimOpjWriterFactory )
protected

hidden from use copy constructor

Definition at line 145 of file ossimOpjWriterFactory.cpp.

145 {}

Member Function Documentation

◆ createObject() [1/2]

ossimObject * ossimOpjWriterFactory::createObject ( const ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

Creates and object given a keyword list.

Parameters
kwlThe keyword list.
prefixthe keyword list prefix.
Returns
pointer to image writer on success, NULL on failure.

Implements ossimObjectFactory.

Definition at line 86 of file ossimOpjWriterFactory.cpp.

References createWriter().

88 {
89  return createWriter(kwl, prefix);
90 }
virtual ossimImageFileWriter * createWriter(const ossimKeywordlist &kwl, const char *prefix=0) const
Create that takes a keyword list and prefix.

◆ createObject() [2/2]

ossimObject * ossimOpjWriterFactory::createObject ( const ossimString typeName) const
virtual

createObject that takes a class name (ossimOpjWriter)

Parameters
typeNameShould be "ossimOpjReader".
Returns
pointer to image writer on success, NULL on failure.

Implements ossimObjectFactory.

Definition at line 92 of file ossimOpjWriterFactory.cpp.

References createWriter().

94 {
95  return createWriter(typeName);
96 }
virtual ossimImageFileWriter * createWriter(const ossimKeywordlist &kwl, const char *prefix=0) const
Create that takes a keyword list and prefix.

◆ createWriter() [1/2]

ossimImageFileWriter * ossimOpjWriterFactory::createWriter ( const ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

Create that takes a keyword list and prefix.

Parameters
kwlThe keyword list.
prefixthe keyword list prefix.
Returns
pointer to image handler on success, NULL on failure.

Implements ossimImageWriterFactoryBase.

Definition at line 47 of file ossimOpjWriterFactory.cpp.

References ossimKeywordlist::find(), ossimImageFileWriter::loadState(), ossimRefPtr< T >::release(), ossimKeywordNames::TYPE_KW, and ossimRefPtr< T >::valid().

Referenced by createObject().

49 {
51  const char* type = kwl.find(prefix, ossimKeywordNames::TYPE_KW);
52  if (type)
53  {
54  writer = createWriter(ossimString(type));
55  if (writer.valid())
56  {
57  if (writer->loadState(kwl, prefix) == false)
58  {
59  writer = 0;
60  }
61  }
62  }
63  return writer.release();
64 }
bool valid() const
Definition: ossimRefPtr.h:75
const char * find(const char *key) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
static const char * TYPE_KW
virtual ossimImageFileWriter * createWriter(const ossimKeywordlist &kwl, const char *prefix=0) const
Create that takes a keyword list and prefix.
T * release()
Definition: ossimRefPtr.h:93

◆ createWriter() [2/2]

ossimImageFileWriter * ossimOpjWriterFactory::createWriter ( const ossimString typeName) const
virtual

createWriter that takes a class name (ossimOpjWriter)

Parameters
kwlThe keyword list.
prefixthe keyword list prefix.
Returns
pointer to image writer on success, NULL on failure.

Implements ossimImageWriterFactoryBase.

Definition at line 66 of file ossimOpjWriterFactory.cpp.

References ossimImageFileWriter::hasImageType(), and ossimRefPtr< T >::release().

68 {
70  if (typeName == "ossimOpjJp2Writer")
71  {
72  writer = new ossimOpjJp2Writer;
73  }
74  else
75  {
76  // See if the type name is supported by the writer.
77  writer = new ossimOpjJp2Writer(typeName);
78  if ( writer->hasImageType(typeName) == false )
79  {
80  writer = 0;
81  }
82  }
83  return writer.release();
84 }
T * release()
Definition: ossimRefPtr.h:93
virtual bool hasImageType(const ossimString &imageType) const
bool hasImageType(const ossimString& imageType) const

◆ createWriterFromExtension()

ossimImageFileWriter * ossimOpjWriterFactory::createWriterFromExtension ( const ossimString fileExtension) const
virtual

Creates a writer from extension like "jp2".

Parameters
fileExtensione.g. "jpg"

Definition at line 36 of file ossimOpjWriterFactory.cpp.

38 {
39  ossimOpjJp2Writer* writer = 0;
40  if ( (fileExtension == "jp2") || (fileExtension == "JP2") || (fileExtension == "j2k"))
41  {
42  writer = new ossimOpjJp2Writer();
43  }
44  return writer;
45 }

◆ getExtensions()

void ossimOpjWriterFactory::getExtensions ( std::vector< ossimString > &  extList) const
virtual

Adds "jp2" to list.

Parameters
extListList to add to.

Implements ossimImageWriterFactoryBase.

Definition at line 98 of file ossimOpjWriterFactory.cpp.

100 {
101  result.push_back("jp2");
102  result.push_back("j2k");
103 }

◆ getImageFileWritersByMimeType()

void ossimOpjWriterFactory::getImageFileWritersByMimeType ( ossimImageWriterFactoryBase::ImageFileWriterList result,
const ossimString mimeType 
) const
virtual

Reimplemented from ossimImageWriterFactoryBase.

Definition at line 133 of file ossimOpjWriterFactory.cpp.

136 {
137  if ( (mimeType == "image/jp2") || (mimeType == "image/j2k") )
138  {
139  result.push_back( new ossimOpjJp2Writer() );
140  }
141 }

◆ getImageFileWritersBySuffix()

void ossimOpjWriterFactory::getImageFileWritersBySuffix ( ossimImageWriterFactoryBase::ImageFileWriterList result,
const ossimString ext 
) const
virtual

Adds an ossimOpjJp2Writer instance to writer list.

Parameters
resultList to append to.
extfile extension should be either "jp2" or "j2k"

Reimplemented from ossimImageWriterFactoryBase.

Definition at line 122 of file ossimOpjWriterFactory.cpp.

References ossimString::downcase(), and ossimString::push_back().

125 {
126  ossimString testExt = ext.downcase();
127  if ( (testExt == "jp2") || (testExt == "j2k") )
128  {
129  result.push_back(new ossimOpjJp2Writer);
130  }
131 }
void push_back(char c)
Equivalent to insert(end(), c).
Definition: ossimString.h:905
static ossimString downcase(const ossimString &aString)
Definition: ossimString.cpp:48

◆ getImageTypeList()

void ossimOpjWriterFactory::getImageTypeList ( std::vector< ossimString > &  imageTypeList) const
virtual

Adds "ossim_opj_jp2", "ossim_opj_geojp2", and "ossim_opj_gmljp2" to writer list.

Parameters
imageTypeListList to append to.

Implements ossimImageWriterFactoryBase.

Definition at line 110 of file ossimOpjWriterFactory.cpp.

111 {
112  // include both geotiff and gmljp2 headers
113  imageTypeList.push_back( ossimString("ossim_opj_jp2") );
114 
115  // include only a geotiff header
116  imageTypeList.push_back( ossimString("ossim_opj_geojp2") );
117 
118  // include only a gmljp2 header
119  imageTypeList.push_back( ossimString("ossim_opj_gmljp2") );
120 }

◆ getTypeNameList()

void ossimOpjWriterFactory::getTypeNameList ( std::vector< ossimString > &  typeList) const
virtual

Adds "ossimOpjWriter" to list.

Parameters
typeListList to add to.

Implements ossimObjectFactory.

Definition at line 105 of file ossimOpjWriterFactory.cpp.

106 {
107  typeList.push_back(ossimString("ossimOpjJp2Writer"));
108 }

◆ instance()

ossimOpjWriterFactory * ossimOpjWriterFactory::instance ( )
static

static method to return instance (the only one) of this class.

Returns
pointer to instance of this class.

Definition at line 27 of file ossimOpjWriterFactory.cpp.

References ossimOpjWriterFactory(), and theInstance.

Referenced by ossimSharedLibraryFinalize(), and ossimSharedLibraryInitialize().

28 {
29  if(!theInstance)
30  {
32  }
33  return theInstance;
34 }
static ossimOpjWriterFactory * theInstance
static instance of this class
ossimOpjWriterFactory()
hidden from use default constructor

◆ operator=()

void ossimOpjWriterFactory::operator= ( const ossimOpjWriterFactory )
protected

hidden from use copy constructor

Definition at line 147 of file ossimOpjWriterFactory.cpp.

147 {}

Member Data Documentation

◆ theInstance

ossimOpjWriterFactory * ossimOpjWriterFactory::theInstance = NULL
staticprotected

static instance of this class

Definition at line 115 of file ossimOpjWriterFactory.h.

Referenced by instance(), and ~ossimOpjWriterFactory().


The documentation for this class was generated from the following files: