130 lines
2.9 KiB
C++
130 lines
2.9 KiB
C++
#pragma once
|
|
|
|
#include "resource.h"
|
|
#include "afxwin.h"
|
|
#include "GsPreviewCtrl.h"
|
|
#include "afxcmn.h"
|
|
#include "EarThwormDef.h"
|
|
|
|
class AecDbX3dGroup;
|
|
class AecDbObjXDataMap;
|
|
class CGLBJDlg : public CDialog
|
|
{
|
|
DECLARE_DYNAMIC(CGLBJDlg)
|
|
|
|
public:
|
|
CGLBJDlg(CWnd* pParent = NULL);
|
|
virtual ~CGLBJDlg();
|
|
|
|
enum { IDD = IDD_GLBJ_DLG };
|
|
|
|
void SetCrossSectionScr(LPCTSTR psz,double dLen){ m_sCrossSectionScr = psz; m_dLen = dLen;}
|
|
int GetX3dSolidRecs(AecDbX3dGroup*& group);
|
|
int GetX3dSolidRecs(AecDbX3dGroup*& pGroup,const AcGePoint3d& ptFr,const AcGeVector3d& vtDir);
|
|
|
|
//sh
|
|
int GetX3dSolidRecsShEw(AecDbX3dGroup*& group);
|
|
int GetX3dSolidRecsShEw(AecDbX3dGroup*& pGroup,const AcGePoint3d& ptFr,const AcGeVector3d& vtDir);
|
|
|
|
void SetReloadGLBJ(AecDbObjXDataMap* pXDataMap);
|
|
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX);
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
public:
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnBnClickedCheck1();
|
|
afx_msg void OnBnClickedOk();
|
|
afx_msg LRESULT OnViewLButtonDown(WPARAM wp,LPARAM lp);
|
|
afx_msg void OnBnClickedButton2();
|
|
afx_msg void OnCbnSelchangeCombo1();
|
|
afx_msg void OnBnClickedButton1();
|
|
afx_msg void OnBnClickedButton11();
|
|
|
|
void ShowEarthWorm();
|
|
void HitEarthWorm(int idxRoom);
|
|
void ReloadFromXDataMap();
|
|
void AddRecordPreview(int nPos,int idxRoom);
|
|
void AdjustWindowsNoAddRec(CRect& rcA);
|
|
|
|
//sh
|
|
void ShowShEarthWorm();
|
|
void ShowAddtion();
|
|
|
|
void ShowRoomName();
|
|
void ExtractRegionRooms();
|
|
void FormatAddtionScr();
|
|
void ShowEwSection();
|
|
void ExtrAddtionToMap( );
|
|
STSection* GetShEwSection() const;
|
|
|
|
void HitShEarthWorm(int idxRoom);
|
|
LRESULT OnViewShEwLButtonDown(WPARAM wp, LPARAM lp);
|
|
|
|
public:
|
|
|
|
double m_dCurRoomW;
|
|
double m_dWAdd;
|
|
double m_dOpenL;
|
|
double m_dB;
|
|
double m_dAngle;
|
|
double m_dA2;
|
|
BOOL m_bAllRoom;
|
|
int m_idxRoom;
|
|
CString m_sCrossSectionScr;
|
|
int m_nPos;
|
|
double m_dLen;
|
|
|
|
protected:
|
|
|
|
AcArray<GLBJRecord> m_arRecord;
|
|
AecDbObjXDataMap* m_pGLBJXDataMap;
|
|
public:
|
|
|
|
bool m_bIsAddRec;
|
|
CGsPreviewCtrl m_wndViewCtrl;
|
|
AcDbPolyline* m_pRectCell;
|
|
CEdit m_wndEditL;
|
|
CEdit m_wndEditB;
|
|
CEdit m_wndEditA;
|
|
CButton m_wndBtOk;
|
|
CButton m_wndBtAdd;
|
|
CComboBox m_wndCombo;
|
|
CButton m_wndBtUpdate;
|
|
CEdit m_wndEditA2;
|
|
CMapStringToPtr m_mapPosRoom2Pl;
|
|
CListCtrl m_wndRecordList;
|
|
CImageList m_ImageList;
|
|
afx_msg void OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult);
|
|
CButton m_wndDelRecBt;
|
|
afx_msg void OnBnClickedButton3();
|
|
CStatic m_wndStaticSP;
|
|
CButton m_wndBtCan;
|
|
double m_dZOff;
|
|
double m_dTAdd;
|
|
|
|
protected://sh
|
|
|
|
// 缓存,出图用
|
|
AcDbVoidPtrArray m_arDrawBuffer;
|
|
//附属脚本如支架
|
|
CMapStringToString m_mapAddtion;
|
|
//所有的舱室
|
|
AcDbVoidPtrArray m_arRegionRooms;
|
|
// 舱体类型
|
|
std::vector<CString> m_roomTypes;
|
|
CMapStringToPtr m_mapIndexToDbText;
|
|
//点击的舱室
|
|
AcDbEntity* m_pRegionRoom;
|
|
// 当前所选的截面描述
|
|
STSection m_curSection;
|
|
CString m_sAddtionScr;
|
|
//舱室名称和偏移
|
|
CMapStringToString m_mapIndexToName;
|
|
public:
|
|
double m_dHoleH;
|
|
double m_dH;
|
|
CEdit m_wndH5;
|
|
};
|