DLTDlg.h
上传用户:szacenet
上传日期:2022-06-20
资源大小:317k
文件大小:3k
源码类别:

图形图象

开发平台:

Visual C++

  1. // DLTDlg.h : header file
  2. //
  3. #if !defined(AFX_DLTDLG_H__9CB279D4_5971_4748_969F_517F3E8CFD51__INCLUDED_)
  4. #define AFX_DLTDLG_H__9CB279D4_5971_4748_969F_517F3E8CFD51__INCLUDED_
  5. #if _MSC_VER > 1000
  6. #pragma once
  7. #endif // _MSC_VER > 1000
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CDLTDlg dialog
  10. struct PRSPoint
  11. {
  12. int ID;//点号
  13. double x1;//左相片像点坐标
  14. double y1;
  15. double x2;//右相片像点坐标
  16. double y2;
  17. double X;//对应地面点坐标
  18. double Y;
  19. double Z;
  20. double m;//单点中误差
  21. };
  22. struct PixPoint
  23. {
  24. int ID;
  25. double x;//相片像点坐标
  26. double y;
  27. };
  28. struct GeodeticPoint
  29. {
  30. int ID;
  31. double x;//大地坐标
  32. double y;
  33. double z;
  34. };
  35. class CDLTDlg : public CDialog
  36. {
  37. // Construction
  38. public:
  39. CDLTDlg(CWnd* pParent = NULL); // standard constructor
  40. vector<PixPoint> m_LeftPoints;//存储zuo相片像点坐标
  41. vector<PixPoint> m_RightPoints;//存储you相片像点坐标
  42. vector<GeodeticPoint> m_CtrlPoints;
  43. double *pLeftLi;//左li系数精确值,k
  44. double *pRightLi;//右li系数精确值,k
  45. double * pLOrient;//左片定向元素
  46. double * pROrient;//you 片定向元素
  47. CString strResultFileName;
  48. //打开文件存储data到容器 返回文件名
  49. CString CDLTDlg::OpenFileStore(vector<PixPoint> * Container );
  50. CString CDLTDlg::OpenFileStore(vector<GeodeticPoint> * Container );
  51. //计算x0,和y0以及li系数的精确值
  52.     int CalOrtAndLiFactors(vector<PixPoint> PixContner,vector<GeodeticPoint> CtrlContner,double *li,double *pElems,double *pTrueLi);
  53. //计算li系数的近似值
  54. bool CalApproximateLiFactors(vector<PixPoint> PixContner,vector<GeodeticPoint> CtrlContner,double *pPara);
  55. //计算待定点的XYZ和精度
  56. void CalXYZAndPrecision(vector<PixPoint> LPixContner,vector<PixPoint> RPixContner,double *pLLinar,double *pRLinar,double *pLi1,double *pLi2);
  57. // Dialog Data
  58. //{{AFX_DATA(CDLTDlg)
  59. enum { IDD = IDD_DLT_DIALOG };
  60. //}}AFX_DATA
  61. // ClassWizard generated virtual function overrides
  62. //{{AFX_VIRTUAL(CDLTDlg)
  63. protected:
  64. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  65. //}}AFX_VIRTUAL
  66. // Implementation
  67. protected:
  68. HICON m_hIcon;
  69.      
  70. // Generated message map functions
  71. //{{AFX_MSG(CDLTDlg)
  72. virtual BOOL OnInitDialog();
  73. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  74. afx_msg void OnPaint();
  75. afx_msg HCURSOR OnQueryDragIcon();
  76. virtual void OnOK();
  77. afx_msg void OnButnCtrl();
  78. afx_msg void OnButnLeft();
  79. afx_msg void OnButnRight();
  80. //}}AFX_MSG
  81. DECLARE_MESSAGE_MAP()
  82. };
  83. //{{AFX_INSERT_LOCATION}}
  84. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  85. #endif // !defined(AFX_DLTDLG_H__9CB279D4_5971_4748_969F_517F3E8CFD51__INCLUDED_)