109 lines
3.7 KiB
C
109 lines
3.7 KiB
C
|
#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;
|
|||
|
virtual void setRefphaseRange(double refRange);
|
|||
|
virtual double getRefphaseRange();
|
|||
|
private:
|
|||
|
double PRF;
|
|||
|
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);
|
|||
|
|