You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.0 KiB
C

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<2F><>: CEllipsoidItem
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
// <09><>ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ж<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
//
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2008-6-18
//
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include "ConversionParameter.h"
#include "afxtempl.h"
namespace NProjectionParameterFile
{
class AFX_EXT_CLASS CEllipsoidItem
{
public:
CEllipsoidItem(void);
~CEllipsoidItem(void);
public:
int ReadIni(CString strName, CString strIniFile);
void WriteIni(CString strIniFile);
void operator=(CEllipsoidItem& item);
bool operator==(CEllipsoidItem& item);
void Init();
double a; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double f; //<2F><>ƽ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>
CString append;
CString date;
CString name;
//CString token;
double b(void); //<2F><><EFBFBD>ö̰<C3B6><CCB0><EFBFBD>
static double GetF(double aa, double bb); //<2F><><EFBFBD>ݳ<EFBFBD><DDB3>̰<EFBFBD><CCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>f
};
class AFX_EXT_CLASS CConversionItem : public CConversionParameter
{
public:
CConversionItem();
void operator=(CConversionItem& item);
CString m_strName;
CString m_strComment;
CString m_strInEllipsoidName;
CString m_strOutEllipsoidName;
void Init(void);
};
class AFX_EXT_CLASS CEllipsoidFile
{
public:
CEllipsoidFile(void);
~CEllipsoidFile(void);
int Read(LPCTSTR lpszFileName);
void Write(LPCTSTR lpszFileName);
CString Find(double a, double b, CString strIncludeContent); //<2F><><EFBFBD>ݳ<EFBFBD><DDB3>̰<EFBFBD><CCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
POSITION FindFlat(double a, double f, CString strIncludeContent); //<2F><><EFBFBD>ݳ<EFBFBD><DDB3>̰<EFBFBD><CCB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
POSITION FindEquation(LPCTSTR lpszName); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ
CEllipsoidItem& GetEllipsoidAt(POSITION pos);
CEllipsoidItem FindSimilarAt(LPCTSTR lpszName); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>ͬ
//POSITION FindToken(LPCTSTR lpszName); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ
//int ReadSurferEllipsoidFile(LPCTSTR lpszFileName);
//int ReadSurferDatumFile(LPCTSTR lpszFileName);
public:
CList<CEllipsoidItem, CEllipsoidItem> m_listEllipsoid;
CList<CConversionItem, CConversionItem> m_listConversion;
protected:
BOOL WriteEllipsoid(LPCTSTR lpszFileName);
void WriteConversionItem(LPCTSTR lpszFileName);
};
};
using namespace NProjectionParameterFile;