Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

161 lines
4.7 KiB
C++

// WaterTankOverfallDlg.cpp : implementation file
//
#include "stdafx.h"
#include <dbWaterTank.h>
#include "WaterTankOverfallDlg.h"
#include "twt_pump.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CWaterTankOverfallDlg dialog
//***************************************************************************************************
// 进水管
//***************************************************************************************************
void WaterInPipe()
{
Entity ent;
RBList rbMask(RTDXF0, _T("ATS_WATERTANK"),NULL);
if(SelectEntity(_T("\n请选择平面方水箱<退出>:"), ent, rbMask) != RTNORM)
return;
OPENOBJ_BEGIN(ent, AcDb::kForRead, TDbWaterTank, pEquip);
if(pEquip){
if(pEquip->GetShape() != 1)
return;
if(pEquip->GetShowType() != 0)
return;
}
OPENOBJ_END();
XPushVar<int> vOrthoMode(_T("ORTHOMODE"), 1);
XPoint p1, p2, p3;
if(ads_getpoint(NULL, _T("\n请点取进水管位置<退出>:"), p1) != RTNORM)
return;
// p1 = Ucs2Wcs(p1); cet 2011.10.11 del
if(ads_getpoint(p1, _T("\n请点取进水管引出位置<退出>:"), p2) != RTNORM)
return;
// p2 = Ucs2Wcs(p2); cet 2011.10.11 del
if(ads_getpoint(p1, _T("\n请点取第二个进水管位置<退出>:"), p3) != RTNORM)
return;
p1 = Ucs2Wcs(p1); // cet 2011.10.11 add
p2 = Ucs2Wcs(p2); // cet 2011.10.11 add
p3 = Ucs2Wcs(p3);
double nEle(0);
if(ads_getreal(_T("\n请输入进水管标高<退出>:"), &nEle) != RTNORM)
return;
OPENOBJ_BEGIN(ent, AcDb::kForWrite, TDbWaterTank, pEquip);
if(pEquip){
pEquip->SetWaterIn1(p1);
pEquip->SetWaterIn2(p3);
pEquip->SetWaterInFrom(p2);
pEquip->SetWaterInEle(nEle);
}
OPENOBJ_END();
}
//***************************************************************************************************
// 溢流管
//***************************************************************************************************
void OverfallPipe()
{
CTemporaryResourceOverride over;
CWaterTankOverfallDlg dlg;
if(dlg.DoModal() != IDOK)
return;
if(dlg.m_nOverEle < 0.001)
return;
Entity ent;
RBList rbMask(RTDXF0, _T("ATS_WATERTANK"),NULL);
if(SelectEntity(_T("\n请选择平面方水箱<退出>:"), ent, rbMask) != RTNORM)
return;
OPENOBJ_BEGIN(ent, AcDb::kForRead, TDbWaterTank, pEquip);
if(pEquip){
// AcRxObject* pRxobj = TDbWaterTank::desc()->getX(TArchMatchProp::desc());
// return;
if(pEquip->GetShape() != 1)
return;
if(pEquip->GetShowType() != 0)
return;
}
OPENOBJ_END();
XPushVar<int> vOrthoMode(_T("ORTHOMODE"), 1);
XPoint p1, p2;
if(ads_getpoint(NULL, _T("\n请点取溢流管位置<退出>:"), p1) != RTNORM)
return;
// p1 = Ucs2Wcs(p1); cet 2011.10.11 del
if(ads_getpoint(p1, _T("\n请点取溢流管引出位置<退出>:"), p2) != RTNORM)
return;
p1 = Ucs2Wcs(p1); // cet 2011.10.11 add
p2 = Ucs2Wcs(p2);
OPENOBJ_BEGIN(ent, AcDb::kForWrite, TDbWaterTank, pEquip);
if(pEquip){
pEquip->SetOverfallStart(p1);
pEquip->SetOverfallEnd(p2);
pEquip->SetOverfallEle(dlg.m_nOverEle);
pEquip->SetRushEle(dlg.m_nRushEle);
}
OPENOBJ_END();
}
CWaterTankOverfallDlg::CWaterTankOverfallDlg(CWnd* pParent /*=NULL*/)
: CDialog(CWaterTankOverfallDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CWaterTankOverfallDlg)
m_nOverEle = 0.0;
m_nRushEle = 0.0;
//}}AFX_DATA_INIT
}
void CWaterTankOverfallDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CWaterTankOverfallDlg)
DDX_Text(pDX, IDC_EDIT_OVERELE, m_nOverEle);
DDX_Text(pDX, IDC_EDIT_RUSHELE, m_nRushEle);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CWaterTankOverfallDlg, CDialog)
//{{AFX_MSG_MAP(CWaterTankOverfallDlg)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CWaterTankOverfallDlg message handlers
void CWaterTankOverfallDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
OpenSlide();
}
void CWaterTankOverfallDlg::OpenSlide()
{
UpdateData(TRUE);
CWnd *pImageBox = GetDlgItem(IDC_PREVIEW_WATERTANK);
DrawSlide(_T("Twt(watertank)"), pImageBox);
}
BOOL CWaterTankOverfallDlg::OnInitDialog()
{
CDialog::OnInitDialog();
OpenSlide();
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}