Due to the lapse in federal government funding, NASA is not updating this website. We sincerely regret this inconvenience.
NASA Logo
Ocean Color Science Software

ocssw V2022
L3ShapeIsine.h
Go to the documentation of this file.
1 /*
2  * File: L3BinShape.h
3  * Author: dshea
4  *
5  * Created on July 21, 2015, 8:45 AM
6  */
7 
8 #ifndef L3SHAPE_ISINE_H
9 #define L3SHAPE_ISINE_H
10 
11 #include <stdint.h>
12 #include "L3Shape.h"
13 
14 namespace l3 {
15 
16 class L3ShapeIsine : public L3Shape {
17 protected:
18  int32_t *numBin; // number of bins in each row
19  int64_t *baseBin; // 1st bin of each row
20  double *latBin; // center latitude of each row
21 
22  int32_t oldRow; // row that was found on last search
23 
24 public:
25  L3ShapeIsine(int32_t numRows);
26  virtual ~L3ShapeIsine();
27 
28  virtual void constrainRowCol(int32_t &row, int32_t &col) const;
29  virtual int64_t getBaseBin(int32_t row) const;
30  virtual int32_t getNumCols(int32_t row) const;
31 
32  virtual int32_t bin2row(int64_t bin);
33  virtual void bin2rowcol(int64_t bin, int32_t &row, int32_t &col);
34  virtual int64_t rowcol2bin(int32_t row, int32_t col) const;
35  virtual void rowcol2latlon(int32_t row, int32_t col,
36  double &lat, double &lon) const;
37  virtual int32_t lat2row(double lat) const;
38  virtual double row2lat(int32_t row) const;
39  virtual void latlon2rowcol(double lat, double lon,
40  int32_t &row, int32_t &col) const;
41  virtual int64_t latlon2bin(double lat, double lon) const;
42  virtual void rowcol2bounds(int32_t row, int32_t col,
43  double &north, double &south,
44  double &east, double &west) const;
45 };
46 
47 }
48 
49 #endif /* L3SHAPE_ISINE_H */
virtual void bin2rowcol(int64_t bin, int32_t &row, int32_t &col)
virtual void constrainRowCol(int32_t &row, int32_t &col) const
virtual ~L3ShapeIsine()
virtual int64_t latlon2bin(double lat, double lon) const
virtual int64_t rowcol2bin(int32_t row, int32_t col) const
virtual double row2lat(int32_t row) const
int32_t * numBin
Definition: L3ShapeIsine.h:18
virtual void rowcol2bounds(int32_t row, int32_t col, double &north, double &south, double &east, double &west) const
L3ShapeIsine(int32_t numRows)
virtual void latlon2rowcol(double lat, double lon, int32_t &row, int32_t &col) const
virtual int32_t bin2row(int64_t bin)
virtual int64_t getBaseBin(int32_t row) const
virtual void rowcol2latlon(int32_t row, int32_t col, double &lat, double &lon) const
virtual int32_t getNumCols(int32_t row) const
int64_t * baseBin
Definition: L3ShapeIsine.h:19
Definition: L3File.cpp:10
virtual int32_t lat2row(double lat) const