96 lines
2.3 KiB
C++
96 lines
2.3 KiB
C++
#include "stdafx.h"
|
|
#include "dbpool.h"
|
|
#include "PoolEditDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
int EditNewPool(AcDbObjectId id)
|
|
{
|
|
if (id.isNull())
|
|
return 0;
|
|
|
|
CTemporaryResourceOverride vTemp;
|
|
CPoolEditDlg dlg;
|
|
OPENOBJ_BEGIN(id, AcDb::kForRead, TDbPool, pEquip);
|
|
if(pEquip){
|
|
dlg.m_nLen = pEquip->GetPoolLength();
|
|
dlg.m_nWidth = pEquip->GetPoolWidth();
|
|
dlg.m_dEleUp = pEquip->GetTopBanEle();
|
|
dlg.m_dEleDown = pEquip->GetBottomBanEle();
|
|
dlg.m_dUpEle = pEquip->GetGroundEle();
|
|
dlg.m_dDrop = pEquip->GetSpare();
|
|
if(dlg.m_dDrop < 0.01)
|
|
dlg.m_dDrop = 0.1;
|
|
}
|
|
OPENOBJ_END();
|
|
if(dlg.DoModal() != IDOK)
|
|
return 1;
|
|
|
|
XPoint ptLoc; // cet 2012.10.25 add
|
|
OPENOBJ_BEGIN(id, AcDb::kForWrite, TDbPool, pEquip);
|
|
if(pEquip){
|
|
pEquip->SetPoolLength(dlg.m_nLen);
|
|
pEquip->SetPoolWidth(dlg.m_nWidth);
|
|
pEquip->SetTopBanEle(dlg.m_dEleUp);
|
|
pEquip->SetBottomBanEle(dlg.m_dEleDown);
|
|
pEquip->SetGroundEle(dlg.m_dUpEle);
|
|
|
|
double nAng = pEquip->GetAngle();
|
|
if(dlg.m_bMirror)
|
|
pEquip->SetAngle(nAng +PI);
|
|
|
|
pEquip->SetSpare(dlg.m_dDrop);
|
|
pEquip->UpdataPipeInterface();
|
|
ptLoc = pEquip->GetLocation(); // cet 2012.10.25 add
|
|
}
|
|
OPENOBJ_END();
|
|
|
|
PickSet ss2(SS_FREE);
|
|
RBList rbMaskDim(RTDXF0, _T("ATS_WELLDIM"), NULL);
|
|
XPoint ptUcs = Wcs2Ucs(ptLoc);
|
|
GetPointPickSet(ptUcs, ss2, rbMaskDim, 50);
|
|
UpdateGraphic(ss2);
|
|
return 0;
|
|
}
|
|
|
|
CPoolEditDlg::CPoolEditDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CPoolEditDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CPoolEditDlg)
|
|
m_nLen = 0.0;
|
|
m_nWidth = 0.0;
|
|
m_bMirror = FALSE;
|
|
m_dEleUp = 0.0;
|
|
m_dEleDown = 0.0;
|
|
m_dUpEle = 0.0;
|
|
m_dDrop = 0.0;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
|
|
void CPoolEditDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CPoolEditDlg)
|
|
DDX_Text(pDX, IDC_EDIT_LEN, m_nLen);
|
|
DDX_Text(pDX, IDC_EDIT_WIDTH, m_nWidth);
|
|
DDX_Check(pDX, IDC_CHECK_Y, m_bMirror);
|
|
DDX_Text(pDX, IDC_EDIT_ELEUP, m_dEleUp);
|
|
DDX_Text(pDX, IDC_EDIT_ELEDOWN, m_dEleDown);
|
|
DDX_Text(pDX, IDC_EDIT_ELE, m_dUpEle);
|
|
DDX_Text(pDX, IDC_EDIT_DROP, m_dDrop);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CPoolEditDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CPoolEditDlg)
|
|
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|