This file is indexed.

/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