/usr/include/ossim/imaging/ossimNitfWriterBase.h is in libossim-dev 1.8.16-3+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | //----------------------------------------------------------------------------
//
// License: LGPL
//
// See LICENSE.txt file in the top level directory for more details.
//
// Author: David Burken
//
// Description: OSSIM nitf writer base class to hold methods common to
// all nitf writers.
//
//----------------------------------------------------------------------------
// $Id: ossimNitfWriterBase.h 2981 2011-10-10 21:14:02Z david.burken $
#ifndef ossimNitfWriterBase_HEADER
#define ossimNitfWriterBase_HEADER
#include <ossim/imaging/ossimImageFileWriter.h>
class ossimFilename;
class ossimImageSourceSequencer;
class ossimMapProjectionInfo;
class ossimNitfFileHeaderV2_X;
class ossimNitfImageHeaderV2_X;
class ossimProjection;
/**
* @brief OSSIM nitf writer base class to hold methods common to
* all nitf writers.
*/
class OSSIM_DLL ossimNitfWriterBase : public ossimImageFileWriter
{
public:
/** @brief default constructor */
ossimNitfWriterBase();
/**
* @brief Constructor that takes filename and input source.
* @param filename The output file name.
* @param inputSource The input source to write to file.
*/
ossimNitfWriterBase(const ossimFilename& filename,
ossimImageSource* inputSource);
/* @brief virtual destructor */
virtual ~ossimNitfWriterBase();
/**
* @brief Set the properties.
* @param property The property to set.
*/
virtual void setProperty(ossimRefPtr<ossimProperty> property);
/**
* @brief Gets a property.
* @param The name of the property to get.
* @return The property if found.
*/
virtual ossimRefPtr<ossimProperty> getProperty(
const ossimString& name)const;
/**
* @param propertyNames Array to populate with property names.
*
* @note The following names are handled:
* enable_rpcb_tag
* enable_blocka_tag
*/
virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
/**
* Saves the state of the writer to kwl with prefix then calls
* base class ossimImageFileWriter::saveState
*
* @param kwl Keyword list to save to.
*
* @param prefix Usually something like: "object2."
* @return true on success, false on failure.
*
* Keywords saved by saveState:
*
* enable_rpcb_tag: true
*
* enable_blocka_tag: true
*/
virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0) const;
/**
* Initializes the state of the writer from kwl with prefix then calls
* base class ossimImageFileWriter::loadState
*
* @param kwl Keyword list to initialize from.
*
* @param prefix Usually something like: "object2."
* @return true on success, false on failure.
*
* Keywords picked up by loadState:
*
* enable_rpcb_tag: true
*
* enable_blocka_tag: true
*/
virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
/**
* Returns a 3-letter extension from the image type descriptor
* (theOutputImageType) that can be used for image file extensions.
*
* @param imageType string representing image type.
*
* @return the 3-letter string extension.
*/
virtual ossimString getExtension() const;
protected:
/**
* @brief Populates tags with geometry info from projection. Will write an
* rpcb tag if theEnableRpcbTagFlag if set to true.
* @param hdr The header to write to.
* @param seq The input connection or image source.
*/
void writeGeometry(ossimNitfImageHeaderV2_X* hdr,
ossimImageSourceSequencer* seq);
/**
* @brief Adds the BLOCKA tag.
*
* @param mapInfo ossimMapProjectionInfo to use to set tag with.
* @param hdr The header to write to.
*
* @note Currently only used with map projected images.
*/
void addBlockaTag(ossimMapProjectionInfo& mapInfo,
ossimNitfImageHeaderV2_X* hdr);
/**
* @brief Adds the RPC00B tag.
*
* @param rect Requested rectangle of image to write.
*
* @param proj The output projection.
*/
void addRpcbTag(const ossimIrect& rect,
ossimProjection* proj,
ossimNitfImageHeaderV2_X* hdr);
/**
* @brief Sets the complexity level of theFileHeader.
*
* @param endPosition This should be the end seek position of the file.
*/
void setComplexityLevel(std::streamoff,
ossimNitfFileHeaderV2_X* hdr);
/**
* @brief Sets file header and image header defaults from config file if
* found in preferences.
*/
virtual void initializeDefaultsFromConfigFile(
ossimNitfFileHeaderV2_X* fileHdr,
ossimNitfImageHeaderV2_X* imgHdr );
/** @brief If true user wants to set RPC00B tag. (DEFAULT = false) */
bool theEnableRpcbTagFlag;
/**
* @brief If true user wants to set BLOCKA tag. (DEFAULT = true)
* Currently only valid for map projected images.
*/
bool theEnableBlockaTagFlag;
private:
TYPE_DATA
};
#endif /* #ifndef ossimKakaduNitfVoid Writer_HEADER */
|