USGS

Isis 3.0 Application Source Code Reference

Home

CnetRefByEmission.h

Go to the documentation of this file.
00001 #ifndef _CnetRefByEmission_h_
00002 #define _CnetRefByEmission_h_
00003 
00004 #include "ControlNetValidMeasure.h"
00005 
00006 /**
00007  * @file
00008  * $Revision: 1.5 $
00009  * $Date: 2010/06/23 22:29:14 $
00010  *
00011  *   Unless noted otherwise, the portions of Isis written by the USGS are
00012  *   public domain. See individual third-party library and package descriptions
00013  *   for intellectual property information, user agreements, and related
00014  *   information.
00015  *
00016  *   Although Isis has been used by the USGS, no warranty, expressed or
00017  *   implied, is made by the USGS as to the accuracy and functioning of such
00018  *   software and related material nor shall the fact of distribution
00019  *   constitute any such warranty, and no responsibility is assumed by the
00020  *   USGS in connection therewith.
00021  *
00022  *   For additional information, launch
00023  *   $ISISROOT/doc//documents/Disclaimers/Disclaimers.html
00024  *   in a browser or see the Privacy & Disclaimers page on the Isis website,
00025  *   http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on
00026  *   http://www.usgs.gov/privacy.html.
00027  */
00028 
00029 namespace Isis {
00030   class Pvl;
00031   class ControlNet;
00032 
00033   /**
00034    * @brief Find a Reference in Control Point with the least Emission Angle
00035    *
00036    * This class is used find a Reference in Control Point with the least Emission Angle
00037    * after it has passed all the validity test for Dn, Emission & Incidence Angles
00038    * and Resolution. Processes the entire points in the Control Network
00039    *
00040    * @ingroup ControlNetwork
00041    *
00042    * @author 2010-06-10 Sharmila Prasad
00043    *
00044    * @see ControlNetValidMeasure, CnetRefByIncidence, CnetRefByResolution
00045    *
00046    * @author 2010-06-10 Sharmila Prasad
00047    *
00048    * @internal
00049    *   @history 2010-06-10 Sharmila Prasad - Original version
00050    *   @history 2010-06-21 Sharmila Prasad - Remove references to UniversalGroundMap and Cubes
00051    *                                         use CubeManager instead
00052    *   @history 2010-06-23 Sharmila Prasad - Use ControlNetValidMeasure's Validate Standard
00053    *                                         Options & Std Options Pixels/Meters from Edge
00054    *   @history 2010-09-16 Sharmila Prasad - Renamed CnetValidMeasure to ControlNetValidMeasure
00055    *   @history 2010-10-06 Sharmila Prasad - Modified to incorporate Binary Control Network
00056    *   @history 2010-10-15 Sharmila Prasad - Use single copy of Control Net in FindCnetRef()
00057    *   @history 2010-10-22 Sharmila Prasad - Reset apriori for source==Reference
00058    *   @history 2010-12-29 Sharmila Prasad - Modified for new ControlNet API's
00059    *                                         (UpdatePoint, UpdateMeasure)
00060    *   @history 2011-01-19 Christopher Austin - Altered to compile with the new
00061    *                                            Control redesign.
00062    *   @history 2011-02-24 Sharmila Prasad - Fixed segmentation fault
00063    *   @history 2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types
00064    *                                            Ground ------> Fixed
00065    *                                            Tie----------> Free
00066    */
00067   class CnetRefByEmission : public ControlNetValidMeasure {
00068     public:
00069       //! Constructor
00070       CnetRefByEmission(Pvl *pPvlDef, QString msSerialNumfile);
00071       virtual ~CnetRefByEmission() {};
00072 
00073       //! Get the Log updated by this object
00074       virtual Pvl &GetLogPvl(void) {
00075         return mPvlLog;
00076       };
00077 
00078       //! Given Control Net, find the reference based on Emission Angle
00079       virtual void FindCnetRef(ControlNet &pNewNet);
00080   };
00081 };
00082 #endif
00083