/usr/include/ossim/base/ossimLagrangeInterpolator.h is in libossim-dev 1.8.16-4ubuntu1.
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 | //**************************************************************************************************
// OSSIM -- Open Source Software Image Map
//
// LICENSE: See top level LICENSE.txt file.
//
// AUTHOR: Oscar Kramer, GeoEye Inc.
//
// DESCRIPTION: Contains Lagrange Interpolator class
//
// $Id$
//**************************************************************************************************
#ifndef LagrangeInterp_HEADER
#define LagrangeInterp_HEADER
#include <iostream>
#include <vector>
#include <ossim/matrix/newmat.h>
#include <ossim/base/ossimReferenced.h>
//******************************************************************************
// CLASS: ossimLagrangeInterpolator
//******************************************************************************
class ossimLagrangeInterpolator : public ossimReferenced
{
friend std::ostream& operator<<(std::ostream&, const ossimLagrangeInterpolator&);
friend std::istream& operator>>(std::istream&, ossimLagrangeInterpolator&);
public:
ossimLagrangeInterpolator() : theNumElements(0) {}
ossimLagrangeInterpolator(std::istream&);
ossimLagrangeInterpolator(const std::vector<double>& t_array,
const std::vector<NEWMAT::ColumnVector>& data_array);
~ossimLagrangeInterpolator();
void addData(const double& t, const NEWMAT::ColumnVector& data);
bool interpolate(const double& t, NEWMAT::ColumnVector& result) const;
private:
std::vector<double> theTeeArray;
std::vector<NEWMAT::ColumnVector> theDataArray;
std::vector<double> theNormalizer;
ossim_uint32 theNumElements;
};
#endif
|