// setDataSave.cpp : 実装ファイル // #include "stdafx.h" #include "SLKinect.h" #include "SetDataSave.h" // CSetDataSave ダイアログ IMPLEMENT_DYNAMIC(CSetDataSave, CDialog) CSetDataSave::CSetDataSave(NiSDK_Lib lib, CParameterSet prm, BOOL tmpl, CWnd* pParent /*=NULL*/) : CDialog(CSetDataSave::IDD, pParent) { param = prm; sdk_lib = lib; tmpl_fl = tmpl; orgCBox = NULL; oniCBox = NULL; bvhCBox = NULL; posCBox = NULL; rotCBox = NULL; qutCBox = NULL; } void CSetDataSave::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CSetDataSave, CDialog) ON_BN_CLICKED(IDC_RADIO_SAVE_ORG, &CSetDataSave::OnBnClickedRadioSaveOrg) ON_BN_CLICKED(IDC_RADIO_SAVE_ONI, &CSetDataSave::OnBnClickedRadioSaveOni) ON_BN_CLICKED(IDC_RADIO_SAVE_BVH, &CSetDataSave::OnBnClickedRadioSaveBvh) END_MESSAGE_MAP() // CSetDataSave メッセージ ハンドラ BOOL CSetDataSave::OnInitDialog() { CDialog::OnInitDialog(); orgCBox = (CButton*)GetDlgItem(IDC_RADIO_SAVE_ORG); oniCBox = (CButton*)GetDlgItem(IDC_RADIO_SAVE_ONI); bvhCBox = (CButton*)GetDlgItem(IDC_RADIO_SAVE_BVH); posCBox = (CButton*)GetDlgItem(IDC_CHECK_DATA_POSITION); rotCBox = (CButton*)GetDlgItem(IDC_CHECK_DATA_MATRIX); qutCBox = (CButton*)GetDlgItem(IDC_CHECK_DATA_QUATERNION); if (param.savePosMode) posCBox->SetCheck(1); else posCBox->SetCheck(0); if (param.saveRotMode) rotCBox->SetCheck(1); else rotCBox->SetCheck(0); if (param.saveQutMode) qutCBox->SetCheck(1); else qutCBox->SetCheck(0); if (param.saveDataMode==FileDataBVH) { OnBnClickedRadioSaveBvh(); } else if (param.saveDataMode==FileDataONI) { OnBnClickedRadioSaveOni(); } else { OnBnClickedRadioSaveOrg(); } // if (!tmpl_fl) { if (param.saveDataMode==FileDataBVH) OnBnClickedRadioSaveOni(); bvhCBox->EnableWindow(FALSE); } if (sdk_lib==NiSDK_Kinect) { if (param.saveDataMode==FileDataONI) OnBnClickedRadioSaveOrg(); oniCBox->EnableWindow(FALSE); rotCBox->SetCheck(0); rotCBox->EnableWindow(FALSE); } return TRUE; } void CSetDataSave::OnOK() { if (bvhCBox->GetCheck()) param.saveDataMode = FileDataBVH; else if (oniCBox->GetCheck()) param.saveDataMode = FileDataONI; else param.saveDataMode = FileDataORG; if (posCBox->GetCheck()) param.savePosMode = TRUE; else param.savePosMode = FALSE; if (rotCBox->GetCheck()) param.saveRotMode = TRUE; else param.saveRotMode = FALSE; if (qutCBox->GetCheck()) param.saveQutMode = TRUE; else param.saveQutMode = FALSE; if (param.saveDataMode==FileDataORG && !param.savePosMode && !param.saveRotMode && !param.saveQutMode) return; CDialog::OnOK(); } void CSetDataSave::OnBnClickedRadioSaveOrg() { orgCBox->SetCheck(1); oniCBox->SetCheck(0); bvhCBox->SetCheck(0); posCBox->EnableWindow(TRUE); rotCBox->EnableWindow(TRUE); qutCBox->EnableWindow(TRUE); } void CSetDataSave::OnBnClickedRadioSaveBvh() { orgCBox->SetCheck(0); oniCBox->SetCheck(0); bvhCBox->SetCheck(1); posCBox->EnableWindow(FALSE); rotCBox->EnableWindow(FALSE); qutCBox->EnableWindow(FALSE); } void CSetDataSave::OnBnClickedRadioSaveOni() { orgCBox->SetCheck(0); oniCBox->SetCheck(1); bvhCBox->SetCheck(0); posCBox->EnableWindow(FALSE); rotCBox->EnableWindow(FALSE); qutCBox->EnableWindow(FALSE); }