www.pudn.com > Digihelper.rar > ddtokjDlg.cpp


// ddtokjDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "Digihelper.h" 
#include "ddtokjDlg.h" 
#include "math.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CddtokjDlg dialog 
 
 
CddtokjDlg::CddtokjDlg(CWnd* pParent /*=NULL*/) 
	: CDialog(CddtokjDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CddtokjDlg) 
	m_ddtokjb = 0.0; 
	m_ddtokjh = 0.0; 
	m_outxp = 0.0; 
	m_ddtokjl = 0.0; 
	m_outyp = 0.0; 
	m_outzp = 0.0; 
	//}}AFX_DATA_INIT 
} 
 
 
void CddtokjDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CddtokjDlg) 
	DDX_Text(pDX, IDC_ddtokjb, m_ddtokjb); 
	DDX_Text(pDX, IDC_ddtokjh, m_ddtokjh); 
	DDX_Text(pDX, IDC_outxp, m_outxp); 
	DDX_Text(pDX, IDC_ddtokjl, m_ddtokjl); 
	DDX_Text(pDX, IDC_outyp, m_outyp); 
	DDX_Text(pDX, IDC_outzp, m_outzp); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CddtokjDlg, CDialog) 
	//{{AFX_MSG_MAP(CddtokjDlg) 
	ON_COMMAND(ID_MENUITEM32774, OnMenuitem32774) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CddtokjDlg message handlers 
 
void CddtokjDlg::OnMenuitem32774()  
{ 
	// TODO: Add your command handler code here 
    CddtokjDlg dlg; 
	dlg.DoModal(); 
} 
 
void CddtokjDlg::OnOK()  
{ 
	// TODO: Add extra validation here 
	UpdateData(TRUE); 
	double e2,n; 
	e2=(6378137*6378137-6356726*6356726)/(6378137*6378137); 
	n=6378137/(sqrt(1-e2*sin(m_ddtokjb)*e2*sin(m_ddtokjb))); 
	m_outxp=(n+m_ddtokjh)*cos(m_ddtokjb)*cos(m_ddtokjl); 
	m_outyp=(n+m_ddtokjh)*cos(m_ddtokjb)*sin(m_ddtokjl); 
	m_outzp=(n*(1-e2)+m_ddtokjh)*sin(m_ddtokjb); 
	 
	 
	UpdateData(FALSE); 
}