142 lines
2.6 KiB
C++
142 lines
2.6 KiB
C++
#include "stdafx.h"
|
|
#include "PQXSDlg.h"
|
|
#include "AecDbX3dGroup.h"
|
|
#include "AecDbX3dPart.h"
|
|
#include "AecDbObjXDataMap.h"
|
|
|
|
IMPLEMENT_DYNAMIC(CPQXSDlg, CDialog)
|
|
|
|
CPQXSDlg::CPQXSDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CPQXSDlg::IDD, pParent)
|
|
, m_nPlan(0)
|
|
, m_nPartRetain(0)
|
|
{
|
|
|
|
}
|
|
|
|
CPQXSDlg::~CPQXSDlg()
|
|
{
|
|
}
|
|
|
|
void CPQXSDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Radio(pDX, IDC_RADIO1, m_nPlan);
|
|
DDX_Radio(pDX, IDC_RADIO4, m_nPartRetain);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CPQXSDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CPQXSDlg::OnBnClickedOk)
|
|
ON_BN_CLICKED(IDC_RADIO1, &CPQXSDlg::OnBnClickedRadio1)
|
|
ON_BN_CLICKED(IDC_RADIO2, &CPQXSDlg::OnBnClickedRadio2)
|
|
ON_BN_CLICKED(IDC_RADIO3, &CPQXSDlg::OnBnClickedRadio3)
|
|
END_MESSAGE_MAP()
|
|
|
|
void CPQXSDlg::OnBnClickedOk()
|
|
{
|
|
UpdateData();
|
|
OnOK();
|
|
}
|
|
|
|
BOOL CPQXSDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
UpdateData(FALSE);
|
|
return TRUE;
|
|
}
|
|
|
|
int CPQXSDlg::GetX3dPart(AecDbX3dPart*& pGroup)
|
|
{
|
|
if (pGroup != NULL)
|
|
{
|
|
pGroup->RemoveAll3dSolidRec();
|
|
}
|
|
else
|
|
{
|
|
pGroup = new AecDbX3dPart;
|
|
}
|
|
|
|
AcGePoint3d ptOrg;
|
|
ptOrg.set(0,0,0);
|
|
|
|
pGroup->SetOrgPoint( ptOrg );
|
|
pGroup->SetAxis(X,AcGeVector3d::kXAxis);
|
|
pGroup->SetAxis(Y,AcGeVector3d::kYAxis);
|
|
pGroup->SetAxis(Z,AcGeVector3d::kZAxis);
|
|
|
|
pGroup->GetSpecialtyData()->SetAt(_T("m_nPlan"),m_nPlan);
|
|
pGroup->GetSpecialtyData()->SetAt(_T("Dir"),0);
|
|
pGroup->GetSpecialtyData()->SetAt(_T("m_nPartRetain"),m_nPartRetain);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
int CPQXSDlg::GetX3dSolidRecs(AecDbX3dGroup*& pGroup)
|
|
{
|
|
if (pGroup != NULL)
|
|
{
|
|
pGroup->RemoveAll3dSolidRec();
|
|
}
|
|
else
|
|
{
|
|
pGroup = new AecDbX3dGroup;
|
|
}
|
|
|
|
AcGePoint3d ptOrg;
|
|
ptOrg.set(0,0,0);
|
|
|
|
pGroup->SetOrgPoint( ptOrg );
|
|
pGroup->SetAxis(X,AcGeVector3d::kXAxis);
|
|
pGroup->SetAxis(Y,AcGeVector3d::kYAxis);
|
|
pGroup->SetAxis(Z,AcGeVector3d::kZAxis);
|
|
|
|
pGroup->GetSpecialtyData()->SetAt(_T("m_nPlan"),m_nPlan);
|
|
pGroup->GetSpecialtyData()->SetAt(_T("Dir"),0);
|
|
pGroup->GetSpecialtyData()->SetAt(_T("m_nPartRetain"),m_nPartRetain);
|
|
|
|
return TRUE;
|
|
}
|
|
void CPQXSDlg::OnBnClickedRadio1()
|
|
{
|
|
UpdateData();
|
|
ChangePartText();
|
|
}
|
|
|
|
void CPQXSDlg::OnBnClickedRadio2()
|
|
{
|
|
UpdateData();
|
|
ChangePartText();
|
|
}
|
|
|
|
void CPQXSDlg::OnBnClickedRadio3()
|
|
{
|
|
UpdateData();
|
|
ChangePartText();
|
|
}
|
|
|
|
void CPQXSDlg::ChangePartText()
|
|
{
|
|
switch(m_nPlan)
|
|
{
|
|
case 0:
|
|
{
|
|
GetDlgItem(IDC_RADIO4)->SetWindowText(_T("前部"));
|
|
GetDlgItem(IDC_RADIO5)->SetWindowText(_T("后部"));
|
|
break;
|
|
}
|
|
case 1:
|
|
{
|
|
GetDlgItem(IDC_RADIO4)->SetWindowText(_T("左侧"));
|
|
GetDlgItem(IDC_RADIO5)->SetWindowText(_T("右侧"));
|
|
break;
|
|
}
|
|
case 2:
|
|
{
|
|
GetDlgItem(IDC_RADIO4)->SetWindowText(_T("上部"));
|
|
GetDlgItem(IDC_RADIO5)->SetWindowText(_T("下部"));
|
|
break;
|
|
}
|
|
default:
|
|
break;
|
|
}
|
|
} |