92 lines
2.7 KiB
C++
92 lines
2.7 KiB
C++
#if !defined(AFX_CALCFEEDPUBLICKDLG_H__07E9BE31_733D_4FDB_BAFD_7997F62E55B1__INCLUDED_)
|
|
#define AFX_CALCFEEDPUBLICKDLG_H__07E9BE31_733D_4FDB_BAFD_7997F62E55B1__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "resource.h"
|
|
#include "WDGRID.h"
|
|
#include "map"
|
|
|
|
class CFeedPublickGrid: public WDGrid
|
|
{
|
|
protected:
|
|
virtual void OnCellComboString(WDGridCell&cell,CComboBox&combo);//准备下拉列表内容
|
|
virtual bool OnModified(WDGridCell&cell,CString &text);//单元内容将改变为text,返回值代表是否确定
|
|
public:
|
|
CFeedPublickGrid();
|
|
};
|
|
|
|
class CCalcFeedPublickDlg : public CDialog
|
|
{
|
|
|
|
public:
|
|
DECLARE_DYNAMIC(CCalcFeedPublickDlg)
|
|
CCalcFeedPublickDlg(CWnd* pParent = NULL); // standard constructor
|
|
~CCalcFeedPublickDlg();
|
|
public:
|
|
void SetObjectID(AcDbObjectId id);
|
|
void SetListAll(SSearchPipeList *pListAll);
|
|
//{{AFX_DATA(CCalcFeedPublickDlg)
|
|
enum { IDD = IDD_CALC_FEEDPUBLIC };
|
|
CButton m_searchPipe;
|
|
CFeedPublickGrid m_publicGrid;
|
|
double m_dAlpha;
|
|
int m_iArch;
|
|
CString m_csDn;
|
|
CString m_csLost;
|
|
//}}AFX_DATA
|
|
|
|
|
|
//{{AFX_VIRTUAL(CCalcFeedPublickDlg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX);
|
|
//}}AFX_VIRTUAL
|
|
|
|
protected:
|
|
|
|
//{{AFX_MSG(CCalcFeedPublickDlg)
|
|
virtual void OnOK();
|
|
afx_msg void OnSelchangeComboArchtype();
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnBookbtn();
|
|
afx_msg void OnRecaculate();
|
|
afx_msg void OnSearchbtn();
|
|
afx_msg void OnButtonSetting();
|
|
afx_msg void OnButtonSheet();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
private:
|
|
void DoDimFeedPipeDn(SSearchPipeList *pListAll, double nA, int iMode);
|
|
//得到最不利节点
|
|
SSearchPipeList *GetFeedDisadvantageNode(SSearchPipeList *pListAll, SSearchPipeList *pDisadvantage);
|
|
void DoCalcFeedWaterLost(SSearchPipeList *pDisadvantage, double &dAllLostRet);
|
|
|
|
void ImportFeedCalcWord(DList<SSearchPipeList> &lstNode,
|
|
const TCHAR* szArch, double nA);
|
|
void GetPipeVIByDn(double nQ, AcDbObjectId id, int iDn, double &nLost, double &nI, double &nSpeed);
|
|
SSearchPipeList *GetNextExportNode2(SSearchPipeList *pListAll, SSearchPipeList *pDisadvantage,std::map<CString,int> mapLable);
|
|
|
|
//计算 nMode = 0 初算 1 复算
|
|
void CacluatePipe(int nMode);
|
|
//显示数据到表中
|
|
void UpdatePublicGrid(DList<SSearchPipeList> &lstNode,BOOL bShowRe = TRUE);
|
|
//修改管径
|
|
void UpdatePipeRadius();
|
|
void ResetList(SSearchPipeList *pListAll);
|
|
private:
|
|
CString m_csArch; //建筑类型
|
|
AcDbObjectIdArray m_arId;
|
|
SSearchPipeList *m_pListAll;
|
|
DList<SSearchPipeList> m_listNode;
|
|
|
|
CBitmap m_bitSearchPipe;
|
|
public:
|
|
AcDbObjectId m_id;
|
|
};
|
|
|
|
|
|
#endif // !defined(AFX_CALCFEEDPUBLICKDLG_H__07E9BE31_733D_4FDB_BAFD_7997F62E55B1__INCLUDED_)
|