USGS

Isis 3.0 Application Source Code Reference

Home

BandGeometry Class Reference

#include <CamTools.h>

List of all members.


Detailed Description

Collect Band geometry.

This produces the geometry and polygon information from an image cube. It has some special processing that accounts for band independant geometrical image cubes. It processes each band and creates unique geometry and ploygon values consider this situation. The resulting polygon is a union of all bands, which is a (usually) slightly better footprint of the acutal footprint for the product.

The other major advantage to this class is the corner latitude/longitude points are based upon the extents of each independant band data as the furthest point from the center of the polygon location (if requested by the user).

Author:
2008-09-10 Kris Becker
History:
2009-02-26 Kris Becker - Removed unconditional computation of polygon even when the user did not request it. Reorganized some keywords to their relevant group locations.

2009-05-29 Kris Becker - Added _pixinx parameter

2009-06-22 Kris Becker - Added hasLimb() method to check for the presence of a planet limb; Added getProjGeometry() method.

2009-08-04 Christopher Austin - fixed ImagePolygon::Create call for the updated sampinc/lineinc implementation

2009-08-12 Kris Becker - Modified so that images that include poles are not converted to 180 domain when projected

2009-08-24 Kris Becker - Added ability to disable use of shape model when creating polygons that contains a limb

Definition at line 130 of file CamTools.h.

Public Member Functions

 BandGeometry ()
 ~BandGeometry ()
void setPixInc (const int pixinc)
int getPixInc () const
void setMaxIncidence (const double maxinc)
void setMaxEmission (const double maxema)
int size () const
bool isPointValid (const double &sample, const double &line, const Camera *camera=0) const
bool isBandIndependent () const
bool hasCenterGeometry () const
bool hasLimb () const
 Check geometry for presence of limb.
void collect (Camera &camera, Cube &cube, bool doGeometry, bool doPolygon)
void generateGeometryKeys (PvlObject &pband)
void generatePolygonKeys (PvlObject &pband)

Classes

struct  GProperties


Constructor & Destructor Documentation

BandGeometry (  )  [inline]

Definition at line 133 of file CamTools.h.

~BandGeometry (  )  [inline]

Definition at line 137 of file CamTools.h.


Member Function Documentation

void setPixInc ( const int  pixinc  )  [inline]

Definition at line 139 of file CamTools.h.

int getPixInc (  )  const [inline]

Definition at line 140 of file CamTools.h.

void setMaxIncidence ( const double  maxinc  )  [inline]

Definition at line 141 of file CamTools.h.

void setMaxEmission ( const double  maxema  )  [inline]

Definition at line 142 of file CamTools.h.

int size (  )  const [inline]

Definition at line 143 of file CamTools.h.

bool isPointValid ( const double &  sample,
const double &  line,
const Camera *  camera = 0 
) const

Definition at line 95 of file CamTools.cpp.

bool isBandIndependent (  )  const [inline]

Definition at line 145 of file CamTools.h.

bool hasCenterGeometry (  )  const

Definition at line 110 of file CamTools.cpp.

bool hasLimb (  )  const

Check geometry for presence of limb.

This method checks corner geometry coordinates for the presence of a planet limb. This is a simple check for validity of the latitude coordinate at each image corner. If any of them are invalid (Nulls), then it is deamed to have a limb in the image.

Note that this check is only valid if the determination of the geometry has been performed. So care should be used as to when this check is made.

Returns:
bool True if one of the corner latitude coordinates is NULL.

Definition at line 133 of file CamTools.cpp.

void collect ( Camera &  camera,
Cube cube,
bool  doGeometry,
bool  doPolygon 
)

Definition at line 155 of file CamTools.cpp.

void generateGeometryKeys ( PvlObject &  pband  ) 

Definition at line 336 of file CamTools.cpp.

void generatePolygonKeys ( PvlObject &  pband  ) 

Definition at line 613 of file CamTools.cpp.


The documentation for this class was generated from the following files: