| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- /**************************************************************************************************
- 版本所有(C), 2020-2022, 北京普达迪泰
- ***************************************************************************************************
- 文 件 名: EnvelopeDlg.cpp
- 功能描述: 静态测量-包络比对
- 版 本 号: 1.00初版
- 作 者: HYF
- 生成日期; 2021-12-20
- 最近修改:
- 函数列表:
- 修改历史:
- 1.日 期 :2021-12-20
- 作 者 : HYF
- 修改内容 : 创建文件
- **************************************************************************************************/
- #include "pch.h"
- #include "Dms.h"
- #include "EnvelopeDlg.h"
- #include "afxdialogex.h"
- #include "DmsDoc.h"
- #include "EquipDataPointManager.h"
- #include "CppSQLite3.h"
- // EnvelopeDlg 对话框
- IMPLEMENT_DYNAMIC(EnvelopeDlg, CDialogEx)
- EnvelopeDlg::EnvelopeDlg(CWnd* pParent /*=nullptr*/)
- : CDialogEx(IDD_DLG_ENVELOPE, pParent)
- {
- }
- EnvelopeDlg::EnvelopeDlg(CWnd* pParent, DWORD iTaskId)
- : CDialogEx(IDD_DLG_ENVELOPE, pParent)
- , m_taskId(iTaskId)
- {
- }
- EnvelopeDlg::~EnvelopeDlg()
- {
- }
- void EnvelopeDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialogEx::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_STATIC_ENVELOPE_MAX, m_Static_Envelop_Max);
- DDX_Control(pDX, IDC_STATIC_ENVELOPE_POINT, m_Static_Envelope_point);
- DDX_Control(pDX, IDC_PIC, m_ImageStatic);
- DDX_Control(pDX, IDC_STATIC_MAX_RADIUS, m_Label_Max_Radius);
- DDX_Control(pDX, IDC_STATIC_MAX_POINT, m_Label_Max_Point);
- DDX_Control(pDX, IDC_STATIC_ENVELOPE_XYZ, m_Label_Point_XYZ);
- }
- // 获取文档对象
- CDmsDoc *EnvelopeDlg::GetDocument()
- {
- CFrameWnd *pFrm = (CFrameWnd *)(AfxGetApp()->m_pMainWnd);
- ASSERT(pFrm);
- CView *pView = pFrm->GetActiveView();
- CDmsDoc *pDoc = (CDmsDoc *)(pView->GetDocument());
- ASSERT(pDoc->IsKindOf(RUNTIME_CLASS(CDmsDoc)));
- return pDoc;
- }
- BEGIN_MESSAGE_MAP(EnvelopeDlg, CDialogEx)
-
- ON_BN_CLICKED(IDOK, &EnvelopeDlg::OnBnClickedOk)
- END_MESSAGE_MAP()
- // EnvelopeDlg 消息处理程序
- BOOL EnvelopeDlg::OnInitDialog()
- {
- CDialogEx::OnInitDialog();
- //创建图标
- HICON icon;
- //加载图标
- icon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
- SetIcon(icon, true);
- SetIcon(icon, false);
- CDialogEx::SetBackgroundColor(RGB(0xff, 0xff, 0xff));
- // POINT数据访问入口
- EquipDataPointManager *pPointManager = GetDocument()->GetEquipDataPointManager();
- ASSERT(pPointManager != NULL);
- DOUBLE dValue = 0.0;
- DOUBLE tValue = 0.0;
- DOUBLE x = 0, y = 0;
- CString szPointTitle;
- CString szPointInfo;
- CString szMaxRadius;
- CppSQLite3Query q = pPointManager->Query(m_taskId);
- while (!q.eof()) {
- x = q.getFloatField("point_a_x");
- y = q.getFloatField("point_a_y");
- tValue = CS::EnvelopeValue(x, y);
- if (dValue < tValue)
- {
- dValue = tValue;
- szPointTitle.Format("%s" ,q.getStringField("point_title"));
- DOUBLE z = q.getFloatField("point_a_z");
- szPointInfo.Format("( %.3f, %.3f, %.3f)", x, y, z);
-
- }
- q.nextRow();
- }
- q.finalize();
- //显示包络示意图
- m_ImageStatic.SetImage(_T("envelope.png"));
- m_Label_Max_Radius.SetWindowText(_T("最大包络半径"));
- szMaxRadius.Format("%.3f", dValue);
- m_Static_Envelop_Max.SetFontBold(FALSE);
- m_Static_Envelop_Max.SetFontSize(12);
- m_Static_Envelop_Max.SetWindowText(szMaxRadius);
- m_Label_Max_Point.SetWindowText(_T("最大外包络点"));
- m_Static_Envelope_point.SetFontBold(FALSE);
- m_Static_Envelope_point.SetFontSize(12);
- m_Static_Envelope_point.SetWindowText(szPointTitle);
- m_Label_Point_XYZ.SetWindowTextA(szPointInfo);
- return TRUE;
- }
- /**************************************************************************************************
- 函 数 名 :OnBnClickedOk
- 功能描述 :消息处理-确认关闭
- 输入参数 :略
- 输出参数 :略
- 返 回 值 :略
- **************************************************************************************************/
- void EnvelopeDlg::OnBnClickedOk()
- {
- CDialogEx::OnOK();
- }
|