Skip to content
Snippets Groups Projects
Select Git revision
  • aaafa013c19ae42f8fb4f51e3d6bb57ff0552da2
  • main default protected
  • oleg-alexandrov-patch-1
  • radtan
  • 2.0
  • Kelvinrr-patch-1
  • acpaquette-patch-1
  • gxp_testing
  • 2.0.2
  • 2.0.1
  • 2.0.0
  • 1.7.0
  • 1.6.0
  • 1.5.2
  • 1.5.1
  • 1.5.0
  • 1.4.1
  • 1.4.0
  • 1.3.1
  • 1.3.0
  • 1.2.0
  • 1.1.1
  • 1.1.0
  • 1.0.0
24 results

UsgsAstroLsSensorModel.h

Blame
  • UsgsAstroLsSensorModel.h 44.73 KiB
    //----------------------------------------------------------------------------
    //
    //                                UNCLASSIFIED
    //
    // Copyright © 1989-2017 BAE Systems Information and Electronic Systems Integration Inc.
    //                            ALL RIGHTS RESERVED
    // Use of this software product is governed by the terms of a license
    // agreement. The license agreement is found in the installation directory.
    //
    //             For support, please visit http://www.baesystems.com/gxp
    //
    //  Description:
    //    The Astro Line Scanner sensor model implements the CSM 3.0.3 API.
    //    Since it supports a sensor used on non-Earth bodies (Moon, Mars), the
    //    ellipsoid is made settable based on the support data.  This ellipsoid
    //    is reported using the methods in the SettableEllipsoid class from which
    //    this model inherits.
    //
    //  Revision History:
    //  Date        Name         Description
    //  ----------- ------------ -----------------------------------------------
    //  13-Nov-2015 BAE Systems  Initial Implementation
    //  16-OCT-2017 BAE Systems  Update for CSM 3.0.3
    //
    //-----------------------------------------------------------------------------
    
    #ifndef __USGS_ASTRO_LINE_SCANNER_SENSORMODEL_H
    #define __USGS_ASTRO_LINE_SCANNER_SENSORMODEL_H
    
    #include <RasterGM.h>
    #include <SettableEllipsoid.h>
    #include <CorrelationModel.h>
    
    class UsgsAstroLsSensorModel : public csm::RasterGM, virtual public csm::SettableEllipsoid
    {
    public:
    
       // Initializes the class from state data as formatted
       // in a string by the toString() method
       void setState(const std::string &state);
    
    
        virtual void replaceModelState(const std::string& argState);
        //> This method attempts to initialize the current model with the state
        //  given by argState.  The argState argument can be a string previously
        //  retrieved from the getModelState method.
        //
        //  If argState contains a valid state for the current model,
        //  the internal state of the model is updated.
        //
        //  If the model cannot be updated to the given state, a csm::Error is
        //  thrown and the internal state of the model is undefined.
        //
        //  If the argument state string is empty, the model remains unchanged.
        //<
    
    
       // This method checks to see if the model name is recognized
       // in the input state string.
       static std::string getModelNameFromModelState(
          const std::string& model_state);
    
      std::string constructStateFromIsd(const std::string imageSupportData, csm::WarningList *list) const;
    
       // State data elements;
       std::string  m_imageIdentifier;                // 1
       std::string  m_sensorType;                     // 2
       int          m_totalLines;                     // 3
       int          m_totalSamples;                   // 4
       double       m_offsetLines;                    // 5