RasterProcessTool/LAMPSARProcessProgram/ToolBox/SimulationSAR/SARSimulationTaskSetting.h

109 lines
3.7 KiB
C
Raw Normal View History

#pragma once
/*****************************************************************//**
* \file SARSimulationTaskSetting.h
* \brief SAR<EFBFBD><EFBFBD><EFBFBD>ǻز<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
*
* \author 30453
* \date October 2024
*********************************************************************/
#include "BaseConstVariable.h"
#include "BaseTool.h"
#include "SARSatelliteSimulationAbstractCls.h"
#include "SatelliteOribtModel.h"
#include "LogInfoCls.h"
#include <QString>
#include <vector>
#include <memory>
class SARSimulationTaskSetting:public AbstractSARSatelliteModel
{
public: // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
virtual SatelliteOribtNode getSatelliteOribtNode(double& timeFromStartTime, bool& antAzAngleFlag) override;// <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD>ڵ㣬
virtual ErrorCode getSatelliteOribtNode(double& timeFromStartTime, SatelliteOribtNode& node, bool& antAzAngleFlag) override; // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
virtual void setSatelliteOribtModel( std::shared_ptr < AbstractSatelliteOribtModel> model) override; // <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>ģ<EFBFBD><C4A3>
virtual ErrorCode getSatelliteAntDirectNormal(SatelliteOribtNode& Rs, Vector3D& Rt, SatelliteAntDirect& antNode); // <20><><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>ͼ<EFBFBD>е<EFBFBD>λ<EFBFBD><CEBB>
private:
std::shared_ptr <AbstractSatelliteOribtModel> OribtModel; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
public:// Ӱ<><D3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
virtual void setSARImageStartTime(long double imageStartTime) override;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼʱ<CABC><CAB1>
virtual void setSARImageEndTime(long double imageEndTime) override; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
virtual double getSARImageStartTime() override;
virtual double getSARImageEndTime() override;
virtual double getNearRange() override; // <20><>б<EFBFBD><D0B1> -- <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
virtual void setNearRange(double NearRange) override;
virtual double getFarRange() override; // <20><>Զб<D4B6><D0B1>
virtual void setFarRange(double FarRange) override;
virtual bool getIsRightLook() override; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
virtual void setIsRightLook(bool isR) override;
private:
double imageStartTime;
double imageEndTime;
double NearRange;
double FarRange;
bool isR;
public: // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void setCenterFreq(double Freq) override; // <20><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
virtual double getCenterFreq() override;
virtual void setCenterLamda(double Lamda) override; // <20><><EFBFBD><EFBFBD>
virtual double getCenterLamda() override;
virtual void setBandWidth(double bandwidth) override; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
virtual double getBandWidth() override;
virtual POLARTYPEENUM getPolarType();// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void setPolarType(POLARTYPEENUM type);
virtual double getCenterLookAngle() override;
virtual void setCenterLookAngle(double angle) override;
private:
double centerLookAngle;
double centerFreq;
double centerLamda;
double bandWidth;
POLARTYPEENUM polarType;
public: // <20><><EFBFBD><EFBFBD>PRF<52><46>FS
virtual void setPRF(double prf) override; // <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
virtual double getPRF() override;
2025-01-06 11:56:45 +00:00
virtual void setRefphaseRange(double refRange);
virtual double getRefphaseRange();
private:
double PRF;
2025-01-06 11:56:45 +00:00
double refPhaseRange;
double pt;
double Gri;
public:// <20><><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>ͼ
virtual void setTransformRadiationPattern(std::shared_ptr<AbstractRadiationPattern> radiationPanttern); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B7BD>ͼ
virtual void setReceiveRadiationPattern(std::shared_ptr<AbstractRadiationPattern> radiationPanttern); // V <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><D5B7><EFBFBD>ͼ
virtual std::shared_ptr<AbstractRadiationPattern> getTransformRadiationPattern();// H <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B7BD>ͼ
virtual std::shared_ptr<AbstractRadiationPattern> getReceiveRadiationPattern();// V <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B7BD>ͼ
private: // <20><><EFBFBD><EFBFBD>
std::shared_ptr<AbstractRadiationPattern> TransformRadiationPattern; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B7BD>ͼ
std::shared_ptr<AbstractRadiationPattern> ReceiveRadiationPattern; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><D5B7><EFBFBD>ͼ
public:
virtual double getPt() override;
virtual double getGri() override;
virtual void setPt(double Pt) override;
virtual void setGri(double gri) override;
};
std::shared_ptr<AbstractSARSatelliteModel> ReadSimulationSettingsXML(QString xmlPath);