#pragma once #include "resource.h" #include "GsPreviewCtrl.h" #include "AecDbObjXDataMap.h" #include "EarThwormDef.h" class AecDbX3dPart; class AecDbX3dGroup; class CTJPDDlg : public CDialog { DECLARE_DYNAMIC(CTJPDDlg) public: CTJPDDlg(CWnd* pParent = NULL); virtual ~CTJPDDlg(); enum { IDD = IDD_TJPD_DLG }; void SetCrossSectionScr(LPCTSTR psz){ m_sCrossSectionScr = psz; } int GetX3dSolidRecs( AecDbX3dGroup*& pGroup); int GetX3dPart( AecDbX3dPart*& pPart); int GetX3dSolidRecsShEw( AecDbX3dGroup*& pGroup); int GetX3dPartShEw( AecDbX3dPart*& pPart); protected: virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); afx_msg void OnBnClickedOk(); afx_msg LRESULT OnViewLButtonDown(WPARAM wp,LPARAM lp); afx_msg void OnBnClickedButton1(); DECLARE_MESSAGE_MAP() protected: void ShowEarthWorm(); //sh void ShowShEarthWorm(); void ShowAddtion(); void ShowRoomName(); void ExtractRegionRooms(); void FormatAddtionScr(); void ShowEwSection(); void ExtrAddtionToMap( ); STSection* GetShEwSection() const; void HitEarthWorm(int idxRoom); void HitShEarthWorm(int idxRoom); LRESULT OnViewShEwLButtonDown(WPARAM wp, LPARAM lp); public: double m_dH; double m_dW; double m_dL; double m_dX; BOOL m_bIsUp; int m_idxRoom; CString m_sCrossSectionScr; public: CGsPreviewCtrl m_wndViewCtrl; AcDbPolyline* m_pRectCell; double m_dAngle; double m_dW1; double m_dH1; AecDbObjXDataMap m_mapBimData; protected://sh // 缓存,出图用 AcDbVoidPtrArray m_arDrawBuffer; //附属脚本如支架 CMapStringToString m_mapAddtion; //所有的舱室 AcDbVoidPtrArray m_arRegionRooms; // 舱体类型 std::vector m_roomTypes; CMapStringToPtr m_mapIndexToDbText; //点击的舱室 AcDbEntity* m_pRegionRoom; // 当前所选的截面描述 STSection m_curSection; CString m_sAddtionScr; //舱室名称和偏移 CMapStringToString m_mapIndexToName; };