This file is indexed.

/usr/include/ossim/projection/ossimAdjMapModel.h is in libossim-dev 2.2.2-1.

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
//----------------------------------------------------------------------------
// Copyright (c) 2005, Oscar Kramer, all rights reserved.
//
// License:  MIT
// 
// See LICENSE.txt file in the top level directory for more details.
//
// Author:  Oscar Kramer
//
// Description:
// 
// Special "sensor model" that provides a conventional map projection but
// with additional capability for adjusting the map x,y coordinates with
// offset, scale, and rotation transform.  Funtions to control notifications,
// information and error output.
//
//----------------------------------------------------------------------------
// $Id: ossimAdjMapModel.h 15766 2009-10-20 12:37:09Z gpotts $
#ifndef ossimAdjMapModel_HEADER
#define ossimAdjMapModel_HEADER

#include <ossim/matrix/newmat.h>
#include <ossim/projection/ossimSensorModel.h>
#include <ossim/base/ossimFilename.h>
#include <ossim/base/ossimDpt.h>
#include <ossim/base/ossimRefPtr.h>

using namespace NEWMAT;

class ossimMapProjection;

//----------------------------------------------------------------------------
//  CLASS DESCRIPTION: ossimAdjMapModel
//! Special "sensor model" that provides a conventional map projection but with
//  additional
//! capability for adjusting the map x,y coordinates with offset, scale, and
//  rotation transform.
//----------------------------------------------------------------------------
class OSSIMDLLEXPORT ossimAdjMapModel : public ossimSensorModel
{
public:
   //! Constructs to uninitialized state (needed by factory).
   ossimAdjMapModel();

   //! Constructs with map projection and image rectangle size.
   ossimAdjMapModel(ossimMapProjection* map_proj, const ossimIpt& image_size);

   //! Copy constructor
   ossimAdjMapModel(const ossimAdjMapModel& copy_this);

   //! Constructs given geom KWL.
   ossimAdjMapModel(const ossimKeywordlist& kwl, const char* prefix);

   //! Constructs given geom filename.
   ossimAdjMapModel(const ossimFilename& geom_filename);

   //! Initializes base class data members after map model established.
   //  Returns TRUE if all's well.
   bool initializeFromMap();

   //! Returns pointer to a new instance, copy of this.
   virtual ossimObject* dup() const;
   
   //! Extends base-class implementation. Dumps contents of object to ostream.
   virtual std::ostream& print(std::ostream& out) const;
   
   //! Fulfills ossimObject base-class pure virtuals. Loads and saves geometry
   //! KWL files. Returns true if successful.
   virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0) const;
   
   virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
   
   //! Writes a template of geom keywords processed by loadState and saveState
   //  to output stream.
   static void writeGeomTemplate(ostream& os);
   
   //! Overrides base class pure virtual.
   virtual void lineSampleHeightToWorld(const ossimDpt& image_point,
                                        const double&   heightEllipsoid,
                                        ossimGpt&       worldPoint) const;
   
   //! Overrides base class virtual.
   virtual void lineSampleToWorld(const ossimDpt& image_point,
                                  ossimGpt&       worldPoint) const;
   
   //! Rigorous inverse transform implented, overrides base-class' iterative
   //  solution.
   virtual void worldToLineSample(const ossimGpt& world_point,
                                  ossimDpt&       image_point) const;
      
   //! Following a change to the adjustable parameter set, this virtual is
   //  called to permit 
   //! instances to compute derived quantities after parameter change.
   virtual void updateModel();

   //! Initializes adjustable parameters to their default values.
   //! Overrides ossimAdjustableParameterInterface virtual method.
   virtual void initAdjustableParameters();

   //! Fetches the GSD from the internal map projection.
   virtual ossimDpt 	getMetersPerPixel () const;

   //! Enumeration for adjustable parameter positions in theAdjParams vector
   enum AdjParamIndex
   {
      OFFSET_X = 0,         // meters
      OFFSET_Y,             // meters
      ROTATION,             // degrees CCW
      SCALE_X,              // ratio
      SCALE_Y,              // ratio
      NUM_ADJ_PARAMS // not an index
   };

   /*!
    * ossimOptimizableProjection
    */
   inline virtual bool useForward()const {return true;} //!ground to image faster (you don't need DEM)

private:
   //! Destructor only deletes the map projection.
   virtual ~ossimAdjMapModel();
   
   //! This is the vector of UNNORMALIZED, BIASED parameters as used in the
   //! model. The collection of normalized, 0-biased, parameters used in
   //! registration are found in the
   //! ossimAdjustableParameterInterface and related classes.
   //!  The quantities here are computed given the base class quantities.
   ColumnVector                    theAdjParams;

   ossimRefPtr<ossimMapProjection> theMapProjection;
   double                          theCosTheta;
   double                          theSinTheta;

TYPE_DATA
};

#endif /* End of "#ifndef ossimAdjMapModel_HEADER" */