Files
envi-code/SourceCode/Code2026/tg_shs/shs_public/CheckPipeMultDim.h
T
2026-09-28 15:28:50 +08:00

46 lines
1.2 KiB
C++

#pragma once
#include "resource.h"
#include "afxcmn.h"
class CCheckPipeMultDim : public CDialog
{
DECLARE_DYNAMIC(CCheckPipeMultDim)
public:
CCheckPipeMultDim(CWnd* pParent = NULL);
virtual ~CCheckPipeMultDim();
enum { IDD = IDD_CHECK_PIPEMULTDIM };
// 检查到的错误多管标注
void SetCheckDim(std::vector<AcDbObjectId> &vecDim);
protected:
virtual void DoDataExchange(CDataExchange* pDX);
DECLARE_MESSAGE_MAP()
public:
virtual BOOL OnInitDialog();
afx_msg void OnNMDblclkListDim(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnBnClickedOk();
afx_msg void OnBnClickedBtnSinginRepair();
afx_msg void OnBnClickedBtnAllRepair();
private:
// 初始化CListCtrl
void InitListCtrl();
// 更新CListCtrl
void UpdateListCtrl();
// 显示标注
void ShowDim(const AcDbObjectId &id);
// 修复标注
bool RepairDim(const AcDbObjectId &id);
// 获得所有管线
void GetAllPipes(std::vector<AcDbObjectId> &vecPipe);
// 获得当前图纸所有管线信息
void GetPipeData();
private:
CListCtrl m_lstCtrlDim;
// 检查到的错误多管标注
std::vector<AcDbObjectId> m_vecDim;
// 是否已修复
std::map<AcDbObjectId, bool> m_mapDim;
// 当前图纸所有管线信息
std::map<AcDbObjectId, TGGeCurveSegment> m_mapPipe;
};