Files
envi-code/SourceCode/Code2026/PipelineCmd/ParshallFlumeDlg.cpp
T

219 lines
4.8 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#include "stdafx.h"
2026-09-28 15:28:50 +08:00
#include "ParshallFlumeDlg.h"
#include "CoreTools.h"
#include "PipelineTools.h"
#include "aecdbrivergroove.h"
IMPLEMENT_DYNAMIC(CParshallFlumeDlg, CDialog)
CParshallFlumeDlg::CParshallFlumeDlg(CWnd* pParent /*=nullptr*/)
: CDialog(IDD_DLG_PARSHALL, pParent)
, m_iCheckHold(0)
, m_dD(0)
, m_dN(0)
, m_dK(0)
, m_dX(0)
, m_dL(0)
, m_dj(0)
, m_dB1(0)
, m_dB2(0)
, m_db(0)
, m_dT(0)
, m_dL1(0)
, m_dL2(0)
, m_dD1(0)
, m_dD2(0)
, m_dh(0)
, m_dLa(0)
{
GET_CACHE(CParshallFlumeDlg, %d%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f
, &m_iCheckHold
, &m_dD
, &m_dN
, &m_dK
, &m_dX
, &m_dL
, &m_dj
, &m_dB1
, &m_dB2
, &m_db
, &m_dT
, &m_dL1
, &m_dL2
, &m_dD1
, &m_dD2
, &m_dh
, &m_dLa );
}
CParshallFlumeDlg::~CParshallFlumeDlg()
{
}
void CParshallFlumeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Check(pDX, IDC_CHECK1, m_iCheckHold);
DDX_Text(pDX, IDC_EDIT1, m_dD);
DDV_MinMaxDouble(pDX, m_dD, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT2, m_dN);
DDV_MinMaxDouble(pDX, m_dN, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT3, m_dK);
DDV_MinMaxDouble(pDX, m_dK, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT4, m_dX);
DDV_MinMaxDouble(pDX, m_dX, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT9, m_dL);
DDV_MinMaxDouble(pDX, m_dL, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT10, m_dj);
DDV_MinMaxDouble(pDX, m_dj, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT7, m_dB1);
DDV_MinMaxDouble(pDX, m_dB1, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT11, m_dB2);
DDV_MinMaxDouble(pDX, m_dB2, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT12, m_db);
DDV_MinMaxDouble(pDX, m_db, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT8, m_dT);
DDV_MinMaxDouble(pDX, m_dT, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT5, m_dL1);
DDV_MinMaxDouble(pDX, m_dL1, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT6, m_dL2);
DDV_MinMaxDouble(pDX, m_dL2, 0.001, 99999999);
DDX_Text(pDX, IDC_EDIT13, m_dD1);
DDX_Text(pDX, IDC_EDIT14, m_dD2);
DDX_Text(pDX, IDC_EDIT15, m_dh);
DDX_Text(pDX, IDC_EDIT16, m_dLa);
}
BOOL CParshallFlumeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
UpdateData(FALSE);
eanbleWindow();
CenterWindow();
CoreTools::showPictureDlg(FilePath::GetSysDir() + _T("\\Parshall-flume.bmp"), this);
return TRUE;
}
BEGIN_MESSAGE_MAP(CParshallFlumeDlg, CDialog)
ON_BN_CLICKED(IDOK, &CParshallFlumeDlg::OnBnClickedOk)
ON_BN_CLICKED(IDC_CHECK1, &CParshallFlumeDlg::OnBnClickedCheck1)
ON_WM_PAINT()
ON_BN_CLICKED(IDOK2, &CParshallFlumeDlg::OnBnClickedOk2)
END_MESSAGE_MAP()
void CParshallFlumeDlg::OnBnClickedOk()
{
UpdateData(TRUE);
SET_CACHE(CParshallFlumeDlg
, %d%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f
, m_iCheckHold
, m_dD
, m_dN
, m_dK
, m_dX
, m_dL
, m_dj
, m_dB1
, m_dB2
, m_db
, m_dT
, m_dL1
, m_dL2
, m_dD1
, m_dD2
, m_dh
, m_dLa );
CDialog::OnOK();
}
void CParshallFlumeDlg::start()
{
CAcModuleResourceOverride myResources;
CParshallFlumeDlg dlg;
if (dlg.DoModal() != IDOK) return;
double dEl(1.);
ads_point adspt1, adspt2;
2026-10-04 00:04:20 +08:00
if (acedGetPoint(NULL, _T("\n选择起点:"), adspt1) != RTNORM) return;
if (acedGetPoint(adspt1, _T("\n选择终点:"), adspt2) != RTNORM) return;
if (acedGetReal(_T("\n输入标高(米)<1>:"), &dEl) == RTCAN) return;
2026-09-28 15:28:50 +08:00
AcGePoint3d ptS(asPnt3d(adspt1)), ptE(asPnt3d(adspt2));
ptS.z = ptE.z = dEl * 1000;
CoreTools::UCS2WCS(ptS, ptS);
CoreTools::UCS2WCS(ptE, ptE);
AecDbRiverGroove *pGroove = new AecDbRiverGroove;
pGroove->SetD(dlg.m_dD);
pGroove->SetN(dlg.m_dN);
pGroove->SetK(dlg.m_dK);
pGroove->SetL1(dlg.m_dL1);
pGroove->SetL(dlg.m_dL);
pGroove->SetL2(dlg.m_dL2);
pGroove->SetT(dlg.m_dT);
pGroove->Setj(dlg.m_dj);
pGroove->Setb(dlg.m_db);
pGroove->SetB1(dlg.m_dB1);
pGroove->SetB2(dlg.m_dB2);
pGroove->SetX(dlg.m_dX);
if (dlg.m_iCheckHold)
{
pGroove->SetLa(dlg.m_dLa);
pGroove->Seth(dlg.m_dh);
pGroove->SetD1(dlg.m_dD1);
pGroove->SetD2(dlg.m_dD2);
}
else
{
pGroove->SetLa(.0);
pGroove->Seth(.0);
pGroove->SetD1(.0);
pGroove->SetD2(.0);
}
pGroove->SetBaseCurve(ptS, ptE);
pGroove->SetSection1(dlg.m_dD, dlg.m_dB1, 1);
CoreTools::AddToModelSpace(pGroove);
}
void CParshallFlumeDlg::OnBnClickedCheck1()
{
m_iCheckHold = !m_iCheckHold;
eanbleWindow();
}
void CParshallFlumeDlg::eanbleWindow()
{
CWnd *pWnd = GetDlgItem(IDC_EDIT13);
if (pWnd) pWnd->EnableWindow(m_iCheckHold);
pWnd = GetDlgItem(IDC_EDIT14);
if (pWnd) pWnd->EnableWindow(m_iCheckHold);
pWnd = GetDlgItem(IDC_EDIT15);
if (pWnd) pWnd->EnableWindow(m_iCheckHold);
pWnd = GetDlgItem(IDC_EDIT16);
if (pWnd) pWnd->EnableWindow(m_iCheckHold);
}
void CParshallFlumeDlg::OnPaint()
{
CPaintDC dc(this);
}
void CParshallFlumeDlg::OnBnClickedOk2()
{
CoreTools::showPictureDlg(FilePath::GetSysDir() + _T("\\Parshall-flume.bmp"), this);
}
BOOL CParshallFlumeDlg::DestroyWindow()
{
CoreTools::hidePictureDlg();
return CDialog::DestroyWindow();
}