This file is indexed.

/usr/include/ossim/base/ossimTieGptSet.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
#ifndef ossimTieGptSet_HEADER
#define ossimTieGptSet_HEADER

#include <iostream>
#include <vector>
#include <ossim/base/ossimXmlNode.h>
#include <ossim/base/ossimTieGpt.h>
#include <ossim/base/ossimFilename.h>
#include <ossim/matrix/newmat.h>

class ossimDpt;

/**
 * storage class for a set of geographic tie points, between master and slave images
 * + GML (OGC) serialization
 *
 * NOTES
 * master points are stored on the ground
 * ground SRS is EPSG:4326 only (WGS84) + height in meters above ellispoid
 *
 * slave points are stored as image positions
 *
 * general ground/image accuracy values are stored
 *
 * TODO :
 */
class OSSIMDLLEXPORT ossimTieGptSet
{
public:

   inline ossimTieGptSet() {}

   inline ossimTieGptSet(const ossimTieGptSet& aSet)
      :
      theTies(aSet.getTiePoints()),
      theMasterPath(aSet.getMasterPath()),
      theSlavePath(aSet.getSlavePath()),
      theImageCov(aSet.getImageCov()),
      theGroundCov(aSet.getGroundCov())
   {}

   inline ~ossimTieGptSet() {}

   const ossimTieGptSet& operator=(const ossimTieGptSet&);

   // accessors   
   inline void  setTiePoints(const vector<ossimRefPtr<ossimTieGpt> >& aTieSet) { theTies = aTieSet; }
   inline const vector<ossimRefPtr<ossimTieGpt> >& getTiePoints()const         { return theTies; }
   inline       vector<ossimRefPtr<ossimTieGpt> >& refTiePoints()              { return theTies; }

   inline void  setMasterPath(const ossimString& aPath) { theMasterPath = aPath; }
   inline const ossimString& getMasterPath()const       { return theMasterPath; }

   inline void  setSlavePath(const ossimString& aPath) { theSlavePath = aPath; }
   inline const ossimString& getSlavePath()const       { return theSlavePath; }

   inline void  setImageCov(const NEWMAT::SymmetricMatrix& aCovMat) { theImageCov = aCovMat; }
   inline const NEWMAT::SymmetricMatrix& getImageCov()const       { return theImageCov; }
   inline       NEWMAT::SymmetricMatrix& refImageCov()            { return theImageCov; }

   inline void  setGroundCov(const NEWMAT::SymmetricMatrix& aCovMat) { theGroundCov = aCovMat; }
   inline const NEWMAT::SymmetricMatrix& getGroundCov()const       { return theGroundCov; }
   inline       NEWMAT::SymmetricMatrix& refGroundCov()            { return theGroundCov; }
  
   void getSlaveMasterPoints(std::vector<ossimDpt>& imv, std::vector<ossimGpt>& gdv)const;

   inline unsigned int size()const { return (unsigned int)theTies.size(); }

   /**
    * operations
    */
   void addTiePoint(ossimRefPtr<ossimTieGpt> aTiePt);
   void clearTiePoints();

   void getGroundBoundaries(ossimGpt& gBoundInf, ossimGpt& gBoundSup)const;

   /**
    * text output : header + tab separated tie points
    */
   std::ostream& printTab(std::ostream& os) const;

   /**
    * GML features (XML) serialization
    */
   ossimRefPtr<ossimXmlNode> exportAsGmlNode(ossimString aGmlVersion="2.1.2")const;
   bool importFromGmlNode(ossimRefPtr<ossimXmlNode> aGmlNode, ossimString aGmlVersion="2.1.2");
   
  /**
   * Public data members
   */
   static const char* TIEPTSET_TAG;

protected:
   /**
    * Protected data members
    */
   std::vector<ossimRefPtr<ossimTieGpt> > theTies;      //store by reference so derived classes can be used
   ossimString                       theMasterPath; //!full or relative path to master dataset
   ossimString                       theSlavePath; //!full or relative path to slave dataset
   NEWMAT::SymmetricMatrix           theImageCov;  //! image error covariance matrix
   NEWMAT::SymmetricMatrix           theGroundCov; //! ground error covariance matrix

   /**
    * Protected methods
    */
   ossimString symMatrixToText(const NEWMAT::SymmetricMatrix& sym, 
                               const ossimString& el_sep=" ",
                               const ossimString& row_sep=";")const;

   NEWMAT::SymmetricMatrix textToSymMatrix(const ossimString& text,
                               unsigned int dim,
                               const ossimString& seps=" ;\t\r\n")const; //list of possible elements or row separators

};

#endif /* #ifndef ossimTieGptSet_HEADER */