This file is indexed.

/usr/include/ossim/base/ossimAxes.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
//*******************************************************************
//
// License:  See top level LICENSE.txt file.
//
// Author: Garrett Potts
//
// Description:
//
// Contains class declaration for ossimAxes.  This will allow you to
// define three orthogonal ossimAxes and an origin in 3-D space.  This
// information will be used to allow you to place points relative
// to the defined axes.
//*******************************************************************
//  $Id: ossimAxes.h 9968 2006-11-29 14:01:53Z gpotts $

#ifndef ossimAxes_HEADER
#define ossimAxes_HEADER
#include <iostream>
#include <iomanip>
using namespace std;
#include <ossim/base/ossimMatrix3x3.h>
#include <ossim/base/ossimMatrix4x4.h>
class OSSIMDLLEXPORT ossimAxes
{
public:

   friend inline ostream& operator <<(ostream &out, const ossimAxes &axes);
   
   /*!
    * Default constructor is at position 0, 0, 0 with unit axes
    * 
    */
   ossimAxes(const ossimColumnVector3d &origin=ossimColumnVector3d(0,0,0),
             const ossimColumnVector3d &xAxis=ossimColumnVector3d(1,0,0),
             const ossimColumnVector3d &yAxis=ossimColumnVector3d(0,1,0),
             const ossimColumnVector3d &zAxis=ossimColumnVector3d(0,0,1))
      :
         theOrigin(origin),
         theXAxis(xAxis),
         theYAxis(yAxis),
         theZAxis(zAxis)
      {}

   ossimColumnVector3d projectPoint(const ossimColumnVector3d &pt)
      {
         return ossimColumnVector3d(theXAxis.dot(pt),
                                    theYAxis.dot(pt),
                                    theZAxis.dot(pt));
      }

   ossimColumnVector3d pointRelative(const ossimColumnVector3d& pt)
      {
         return projectPoint(pt - theOrigin);
      }
   
   void rotateAxes(const ossimMatrix3x3& m)
      {
         theXAxis = m*theXAxis;
         theYAxis = m*theYAxis;
         theZAxis = m*theZAxis;
      }
   void rotateAxes(const ossimMatrix4x4& m)
      {
         theXAxis = m.rotateOnly(theXAxis);
         theYAxis = m.rotateOnly(theYAxis);
         theZAxis = m.rotateOnly(theZAxis);
      }
   void transformOrigin(const ossimMatrix3x3& m)
      {
         theOrigin = m*theOrigin;
      }
   void transformOrigin(const ossimMatrix4x4& m)
      {
         theOrigin = m*theOrigin;
      }
   const ossimColumnVector3d& origin()const{return theOrigin;}
   const ossimColumnVector3d& xAxis()const{return theXAxis;}
   const ossimColumnVector3d& yAxis()const{return theYAxis;}
   const ossimColumnVector3d& zAxis()const{return theZAxis;}
   
private:
   ossimColumnVector3d theOrigin; // Is the origin of this axes
   ossimColumnVector3d theXAxis;  // Is the direction of the x axis
   ossimColumnVector3d theYAxis;  // Is the direction of the y axis
   ossimColumnVector3d theZAxis;  // Is the direction of the z axis
};

inline ostream& operator <<(ostream &out, const ossimAxes &axes)
{
   return out << "position: " << axes.theOrigin << endl
              << "x axis  : " << axes.theXAxis  << endl
              << "Y axis  : " << axes.theYAxis  << endl
              << "z axis  : " << axes.theZAxis;
}

#endif