OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022

#include <L3Shape.h>

Inheritance diagram for L3Shape:
[legend]

Public Member Functions

 L3Shape (int32_t numRows)
 
virtual ~L3Shape ()
 
virtual int32_t getNumRows () const
 
virtual int64_t getNumBins () const
 
virtual void constrainRow (int32_t &row) const
 
virtual void constrainRowCol (int32_t &row, int32_t &col) const =0
 
virtual int64_t getBaseBin (int32_t row) const =0
 
virtual int32_t getNumCols (int32_t row) const =0
 
virtual int32_t bin2row (int64_t bin)=0
 
virtual void bin2rowcol (int64_t bin, int32_t &row, int32_t &col)=0
 
virtual int64_t rowcol2bin (int32_t row, int32_t col) const =0
 
virtual void rowcol2latlon (int32_t row, int32_t col, double &lat, double &lon) const =0
 
virtual void rowcol2latlon (int32_t row, int32_t col, float &lat, float &lon) const
 
virtual void bin2latlon (int64_t bin, double &lat, double &lon)
 
virtual void bin2latlon (int64_t bin, float &lat, float &lon)
 
virtual int32_t lat2row (double lat) const =0
 
virtual double row2lat (int32_t row) const =0
 
virtual void latlon2rowcol (double lat, double lon, int32_t &row, int32_t &col) const =0
 
virtual int64_t latlon2bin (double lat, double lon) const =0
 
virtual void rowcol2bounds (int32_t row, int32_t col, double &north, double &south, double &east, double &west) const =0
 
virtual void rowcol2bounds (int32_t row, int32_t col, float &north, float &south, float &east, float &west) const
 
virtual void bin2bounds (int64_t bin, double &north, double &south, double &east, double &west)
 
virtual void bin2bounds (int64_t bin, float &north, float &south, float &east, float &west)
 

Protected Attributes

int64_t totalBins
 
int32_t totalRows
 
double seamLon
 

Detailed Description

Definition at line 18 of file L3Shape.h.

Constructor & Destructor Documentation

◆ L3Shape()

L3Shape ( int32_t  numRows)

constructor for a integerized sine shaped l3 bin file

Parameters
numRowsnumber of rows in the bin file

Definition at line 39 of file L3Shape.cpp.

◆ ~L3Shape()

~L3Shape ( )
virtual

destructor that frees the memory for this class

Definition at line 48 of file L3Shape.cpp.

Member Function Documentation

◆ bin2bounds() [1/2]

void bin2bounds ( int64_t  bin,
double &  north,
double &  south,
double &  east,
double &  west 
)
virtual

get the boundaries of the bin number

Parameters
binto look up
northextent of bin
southextent of bin
eastextent of bin
westextent of bin

Definition at line 148 of file L3Shape.cpp.

◆ bin2bounds() [2/2]

void bin2bounds ( int64_t  bin,
float &  north,
float &  south,
float &  east,
float &  west 
)
virtual

get the boundaries of the bin number

Parameters
binto look up
northextent of bin
southextent of bin
eastextent of bin
westextent of bin

Definition at line 164 of file L3Shape.cpp.

◆ bin2latlon() [1/2]

void bin2latlon ( int64_t  bin,
double &  lat,
double &  lon 
)
virtual

get the center lat/lon for the given bin number

Parameters
binto look up
latcenter lat
loncenter lon

Definition at line 99 of file L3Shape.cpp.

◆ bin2latlon() [2/2]

void bin2latlon ( int64_t  bin,
float &  lat,
float &  lon 
)
virtual

get the center lat/lon for the given bin number

Parameters
binto look up
latcenter lat
loncenter lon

Definition at line 112 of file L3Shape.cpp.

◆ bin2row()

virtual int32_t bin2row ( int64_t  bin)
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ bin2rowcol()

virtual void bin2rowcol ( int64_t  bin,
int32_t &  row,
int32_t &  col 
)
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ constrainRow()

void constrainRow ( int32_t &  row) const
virtual

keep the row within 0 to number of rows

Parameters
rowto change if necessary

Definition at line 71 of file L3Shape.cpp.

◆ constrainRowCol()

virtual void constrainRowCol ( int32_t &  row,
int32_t &  col 
) const
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ getBaseBin()

virtual int64_t getBaseBin ( int32_t  row) const
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ getNumBins()

int64_t getNumBins ( ) const
virtual

get the total number of bins in this shape

Returns
number of rows

Definition at line 63 of file L3Shape.cpp.

◆ getNumCols()

virtual int32_t getNumCols ( int32_t  row) const
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ getNumRows()

int32_t getNumRows ( ) const
virtual

get the number of rows in this shape

Returns
number of rows

Definition at line 55 of file L3Shape.cpp.

◆ lat2row()

virtual int32_t lat2row ( double  lat) const
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ latlon2bin()

virtual int64_t latlon2bin ( double  lat,
double  lon 
) const
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ latlon2rowcol()

virtual void latlon2rowcol ( double  lat,
double  lon,
int32_t &  row,
int32_t &  col 
) const
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ row2lat()

virtual double row2lat ( int32_t  row) const
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ rowcol2bin()

virtual int64_t rowcol2bin ( int32_t  row,
int32_t  col 
) const
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ rowcol2bounds() [1/2]

virtual void rowcol2bounds ( int32_t  row,
int32_t  col,
double &  north,
double &  south,
double &  east,
double &  west 
) const
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ rowcol2bounds() [2/2]

void rowcol2bounds ( int32_t  row,
int32_t  col,
float &  north,
float &  south,
float &  east,
float &  west 
) const
virtual

get the boundaries of the bin at row/col

Parameters
rowof bin
colof bin
northextent of bin
southextent of bin
eastextent of bin
westextent of bin

Definition at line 128 of file L3Shape.cpp.

◆ rowcol2latlon() [1/2]

virtual void rowcol2latlon ( int32_t  row,
int32_t  col,
double &  lat,
double &  lon 
) const
pure virtual

Implemented in L3ShapeIsine, and L3ShapeSMI.

◆ rowcol2latlon() [2/2]

void rowcol2latlon ( int32_t  row,
int32_t  col,
float &  lat,
float &  lon 
) const
virtual

get the center lat/lon for the given row/col

Parameters
rowof bin
colof bin
latcenter lat
loncenter lon

Definition at line 85 of file L3Shape.cpp.

Member Data Documentation

◆ seamLon

double seamLon
protected

Definition at line 22 of file L3Shape.h.

◆ totalBins

int64_t totalBins
protected

Definition at line 20 of file L3Shape.h.

◆ totalRows

int32_t totalRows
protected

Definition at line 21 of file L3Shape.h.


The documentation for this class was generated from the following files:
  • /gfs-oceanweb/web/ocssw/ocssw_src/oel_hdf4/libbin/L3Shape.h
  • /gfs-oceanweb/web/ocssw/ocssw_src/oel_hdf4/libbin/L3Shape.cpp