/usr/include/ossim/parallel/ossimOrthoIgen.h is in libossim-dev 1.7.21-4.
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 | // $Id: ossimOrthoIgen.h 14021 2009-02-06 02:08:19Z gpotts $
#ifndef ossimOrthoIgen_HEADER
#define ossimOrthoIgen_HEADER
#include <ossim/base/ossimObject.h>
#include <ossim/base/ossimArgumentParser.h>
#include <ossim/base/ossimApplicationUsage.h>
#include <ossim/base/ossimRefPtr.h>
#include <ossim/base/ossimDpt.h>
#include <ossim/base/ossimFilename.h>
#include <map>
class ossimConnectableObject;
class OSSIM_DLL ossimOrthoIgen : public ossimReferenced
{
public:
enum ossimOrthoIgenProjectionType
{
OSSIM_UNKNOWN_PROJECTION = 0,
OSSIM_UTM_PROJECTION,
OSSIM_GEO_PROJECTION,
OSSIM_INPUT_PROJECTION,
OSSIM_EXTERNAL_PROJECTION
};
enum OriginType
{
OSSIM_CENTER_ORIGIN = 0,
OSSIM_UPPER_LEFT_ORIGIN = 1
};
class ossimOrthoIgenFilename
{
public:
ossimOrthoIgenFilename()
:theFilename(""),
theEntry(-1)
{}
ossimOrthoIgenFilename(const ossimFilename& file, bool decodeEntry);
ossimOrthoIgenFilename(const ossimFilename& file, ossim_int32 entryNumber)
:theFilename(file),
theEntry(entryNumber)
{
}
void setFilenameWithDecoding(const ossimFilename& file);
void setFilenameAndEntry(const ossimFilename& file,
ossim_int32 entry)
{
theFilename = file;
theEntry = entry;
}
ossimFilename theFilename;
ossim_int32 theEntry;
};
typedef std::map<ossimString,ossimString> PropertyMap;
ossimOrthoIgen();
/**
* Will add command line arguments to initialize this object from a command line application
*
* <pre>
* Command Line Arguments:
*
* -t or --thumbnail Takes an integer argument that is used to set both width
* and height.
* example: -t 1024 will produce an image that is 1024x1024
* --meters Takes a double precision argument that is used for meters per pixel
* override.
* example: --meters 5 will create a 5 meter product.
* --slave-buffers Takes an integer as an argument that specifies the number of slave tile buffers per
* slave node. The slave nodes are suppose to be asynch send. It will
* not wait for the send to finish. It will got to the next buffer and check to
* see if it's been sent and if not it will then wait for the buffer to be free.
* example: --slave-buffers 10 will create 10 buffers per slave node.
* --chain-template Takes a file name that is a kewyord list that is used as a template for every
* input file.
* example:
*
* @param argumentParser Argument parser object to add command line options to
*
*/
void addArguments(ossimArgumentParser& argumentParser);
void initialize(ossimArgumentParser& argumentParser);
void addFiles(ossimArgumentParser& argumentParser,
bool withDecoding,
ossim_uint32 startIdx = 1);
void clearFilenameList();
void addFile(const ossimFilename& file, bool withDecoding=false);
bool execute();
void setDefaultValues();
void setCombinerType(const ossimString& combinerName);
void setProjectionName(const ossimString& proj);
void setResamplerType(const ossimString& resamplerType);
void setCutCenter(const ossimDpt& dpt,
ossimUnitType unit = OSSIM_DEGREES);
void setCutDxDy(const ossimDpt& dpt,
ossimUnitType unit = OSSIM_METERS);
void setMetersPerPixel(const ossimDpt& mpp);
void setThumbnailResolution(const ossimIpt& res);
void setThumbnailFlag(bool flag);
bool setupIgenKwl(ossimKeywordlist& kwl);
protected:
ossimString theThumbnailRes;
bool theThumbnailFlag;
ossimUnitType theDeltaPerPixelUnit;
ossimDpt theDeltaPerPixelOverride;
ossimOrthoIgenProjectionType theProjectionType;
ossimString theProjectionName;
ossim_float64 theGeographicOriginOfLatitude;
ossimString theCombinerType;
ossimString theResamplerType;
ossimFilename theTemplateView;
ossimFilename theTilingTemplate;
ossimFilename theTilingFilename;
ossimFilename theChainTemplate;
ossimFilename theCombinerTemplate;
ossimFilename theAnnotationTemplate;
ossimFilename theWriterTemplate;
ossimString theSlaveBuffers;
ossimOrthoIgen::OriginType theCutOriginType;
ossimDpt theCutOrigin;
ossimDpt theCutDxDy;
ossimUnitType theCutOriginUnit;
ossimUnitType theCutDxDyUnit;
ossim_float64 theLowPercentClip;
ossim_float64 theHighPercentClip;
bool theUseAutoMinMaxFlag;
bool theScaleToEightBitFlag;
PropertyMap theWriterProperties;
std::vector<ossimOrthoIgenFilename> theFilenames;
bool setupTiling(ossimKeywordlist& kwl);
ossimRefPtr<ossimConnectableObject> setupCutter(ossimKeywordlist& kwl,
ossimConnectableObject* input);
bool setupWriter(ossimKeywordlist& kwl,
ossimConnectableObject* input);
bool setupView(ossimKeywordlist& kwl);
/**
* Sets up any annotation from --annotate option.
*
* @param kwl Main keyword list to save to.
*
* @param input Input connection of the annotation filter.
*
* @note This must be called after "setupView" as it needs a projection.
*/
ossimRefPtr<ossimConnectableObject> setupAnnotation(
ossimKeywordlist& kwl,
ossimConnectableObject* input) const;
};
#endif
|