Files
envi-code/SourceCode/Code2026/Dimension/SetDataSourceDlg.h
T
2026-09-28 15:28:50 +08:00

104 lines
3.0 KiB
C++

#pragma once
#include "Resource.h"
#include <iostream>
#include <map>
#include "PickEntSet.h"
class CSetDataSourceDlg : public CDialog
{
public:
CSetDataSourceDlg(CWnd* pParent = NULL);
//{{AFX_DATA(CSetDataSourceDlg)
enum { IDD = IDD_SETDATAFOUNTAINDLG };
CComboBox m_comDataSouceType;
int m_nDataSourceType;
int m_nLandForm;
//}}AFX_DATA
//{{AFX_VIRTUAL(CSetDataSourceDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
public:
//得到选择的数据源类型索引
int GetDataSourceType();
void SetSelEntity(Entity ent);
// 获取有效数据源 cet 2010.4.14 add
void GetPickSet(PickSet &ssAll);
// 设置外部参照实体 cet 2011.12.2 add
void SetExternalBlk(Entity &ent);
// 设置实体是否为外部参照 cet 2011.12.2 add
void SetExternalBlk(bool bExternalBlk);
// 设置外部参照转换矩阵 cet 2011.12.2 add
void SetExnternalBlkMat(const AcGeMatrix3d &mat);
protected:
//{{AFX_MSG(CSetDataSourceDlg)
virtual BOOL OnInitDialog();
virtual void OnOK();
afx_msg void OnBtnAddDelDataSource();
afx_msg void OnSelchangeCombodatasourcetype();
afx_msg void OnChangeEdtMin();
afx_msg void OnButtonDel();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
//过滤掉不正确的数据源类型
void FiltrateDataSourceType(Entity ent);
// 获取数据源的最大值和最小值 cet 2010.4.14 add
void GetMinMaxVal(PickSet &ssAll);
// 获取所有数据源 cet 2010.4.14 add
void GetPickSet();
// 过滤无效数据源(包含数值上下限) cet 2010.4.14 add
void FiltrateDataSource(PickSet &ssAll, int nType, bool bCompare = false);
// 过滤无效数据源(不包含数值上下限) cet 2010.4.14 add
void FiltrateDataSource(int nType);
// 是否为数值型字符串 cet 2010.4.14 add
bool IsValidNumber(const CString strText);
// 数值是否在有效范围内 cet 2010.4.14 add
bool IsValidNumber(double dVal);
//cet 2010.4.15 add
void ChangeDataSoureColor(std::map<AcDbObjectId,Adesk::UInt16> &mapOriginColor,
Entity &ent,
Adesk::UInt16 nColor);
// 恢复数据源颜色 cet 2010.4.15 add
void RecoverDataSoureColor(std::map<AcDbObjectId,
Adesk::UInt16> &mapOriginColor,
Entity &ent);
// cet 2010.4.15 add
void UpDateEdt();
// 清除扩张数据"Del" 为1的数据源 cet 2010.4.15 add
void CleanDataSource(PickSet &ssAll);
// 从外部参照获取数据 cet 2011.12.2 add
void GetEntFromExternalBlk(PickSet &ss);
private:
BOOL m_bEnable;
Entity m_ent;
CString m_sDataTypeText;
LPCTSTR m_sDataType1;
LPCTSTR m_sDataType2;
LPCTSTR m_sDataType3;
LPCTSTR m_sDataType4;
LPCTSTR m_sDataType5;
LPCTSTR m_sDataType6;
double m_dMinVal; // 标高最小值 cet 2010.4.14 add
double m_dMaxVal; // 标高最大值 cet 2010.4.14 add
PickSet m_ssAllCur; // 处理后有效数据源集合 cet 2010.4.14 add
PickSet m_ssAllOrigin; // 原始有效数据源集合 cet 2010.4.14 add
bool m_bChange; // cet 2010.4.15
bool m_bExternalBlock;// 是否为外部参照 cet 2011.12.2 add
Entity m_entExternalBlk;// 外部参照实体 cet 2011.12.2 add
AcGeMatrix3d m_mat; // 外部参照转换矩阵 cet 2011.12.2 add
};