IPNDlg.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #pragma once
  2. #define PD_PI 3.14159265358979323846
  3. #define PD_R2D 180/PD_PI //弧度转换为角度
  4. #define PD_D2R PD_PI/180 //角度转换为弧度
  5. #define COC 0.0265234
  6. typedef const float CFloat;
  7. // IPNDlg 对话框
  8. class IPNDlg : public CDialogEx
  9. {
  10. DECLARE_DYNAMIC(IPNDlg)
  11. public:
  12. IPNDlg(CWnd* pParent = nullptr); // 标准构造函数
  13. virtual ~IPNDlg();
  14. // 对话框数据
  15. #ifdef AFX_DESIGN_TIME
  16. enum { IDD = IDD_DLG_IPN };
  17. #endif
  18. protected:
  19. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
  20. virtual BOOL OnInitDialog();
  21. DECLARE_MESSAGE_MAP()
  22. public:
  23. float m_PicW;
  24. float m_PicH;
  25. float m_ReqPAD;
  26. float m_MaxRotaAng;
  27. float m_NowRotaAng;
  28. float m_MaxPAD;
  29. CString m_ShootDist;
  30. CString m_DoubLen;
  31. float m_FocalLen;
  32. float m_Pixel;
  33. float m_Distance;
  34. CString m_Range;
  35. float m_MinP;
  36. float m_Rads;
  37. afx_msg void OnBnClickedOkLowLeft();
  38. afx_msg void OnBnClickedOkTopRight();
  39. afx_msg void OnBnClickedOkLowRight();
  40. float CalShootRange(CFloat & length, CFloat & focalLen, CFloat & distance);
  41. float CalDistance(CFloat & length, CFloat & focalLen, CFloat & shootLen);
  42. float CalRotaAngle(CFloat & Rads, CFloat & ShootDist, CFloat & PicAverlapDeg);
  43. float CalEffectivePAD(CFloat & Rads, CFloat & ShootDist, CFloat & RotaAngle);
  44. };