OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
L3ShapeSMI.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_SMI_H
9 #define L3SHAPE_SMI_H
10 
11 #include <L3Shape.h>
12 
13 namespace l3 {
14 
15 class L3ShapeSMI : public L3Shape {
16 protected:
17  int32_t totalCols;
18  double north_, south_, east_, west_;
19 
20 public:
21  L3ShapeSMI(int32_t numRows, int32_t numCols,
22  double north, double south,
23  double east, double west);
24  virtual ~L3ShapeSMI();
25  void constrainRowCol(int32_t &row, int32_t &col) const;
26 
27  virtual int64_t getBaseBin(int32_t row) const;
28  virtual int32_t getNumCols(int32_t row) const;
29 
30  virtual int32_t bin2row(int64_t bin);
31  virtual void bin2rowcol(int64_t bin, int32_t &row, int32_t &col);
32  virtual int64_t rowcol2bin(int32_t row, int32_t col) const;
33  virtual void rowcol2latlon(int32_t row, int32_t col,
34  double &lat, double &lon) const;
35  virtual int32_t lat2row(double lat) const;
36  virtual double row2lat(int32_t row) const;
37  virtual void latlon2rowcol(double lat, double lon,
38  int32_t &row, int32_t &col) const;
39  virtual int64_t latlon2bin(double lat, double lon) const;
40  virtual void rowcol2bounds(int32_t row, int32_t col,
41  double &north, double &south,
42  double &east, double &west) const;
43 };
44 
45 }
46 
47 #endif /* L3SHAPE_SMI_H */
double north_
Definition: L3ShapeSMI.h:18
double south_
Definition: L3ShapeSMI.h:18
virtual int64_t rowcol2bin(int32_t row, int32_t col) const
Definition: L3ShapeSMI.cpp:112
float * lat
virtual void rowcol2latlon(int32_t row, int32_t col, double &lat, double &lon) const
Definition: L3ShapeSMI.cpp:124
int32_t totalCols
Definition: L3ShapeSMI.h:17
virtual int64_t latlon2bin(double lat, double lon) const
Definition: L3ShapeSMI.cpp:190
virtual void rowcol2bounds(int32_t row, int32_t col, double &north, double &south, double &east, double &west) const
Definition: L3ShapeSMI.cpp:206
virtual int32_t lat2row(double lat) const
Definition: L3ShapeSMI.cpp:136
L3ShapeSMI(int32_t numRows, int32_t numCols, double north, double south, double east, double west)
Definition: L3ShapeSMI.cpp:12
virtual int32_t bin2row(int64_t bin)
Definition: L3ShapeSMI.cpp:77
virtual void bin2rowcol(int64_t bin, int32_t &row, int32_t &col)
Definition: L3ShapeSMI.cpp:91
double east_
Definition: L3ShapeSMI.h:18
virtual int32_t getNumCols(int32_t row) const
Definition: L3ShapeSMI.cpp:68
float * lon
virtual void latlon2rowcol(double lat, double lon, int32_t &row, int32_t &col) const
Definition: L3ShapeSMI.cpp:167
Definition: L3File.cpp:10
void constrainRowCol(int32_t &row, int32_t &col) const
Definition: L3ShapeSMI.cpp:36
virtual int64_t getBaseBin(int32_t row) const
Definition: L3ShapeSMI.cpp:58
virtual double row2lat(int32_t row) const
Definition: L3ShapeSMI.cpp:155
double west_
Definition: L3ShapeSMI.h:18
virtual ~L3ShapeSMI()
Definition: L3ShapeSMI.cpp:28