void CSetPropertyDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSetPropertyDlg)
	// Handle edit control
	DDX_Control(pDX, IDC_EDSENSORNUM, m_ctrlSensorNum);
	DDX_Control(pDX, IDC_EDDIAMETER, m_ctrlDiameter);
	DDX_Control(pDX, IDC_EDANGLE, m_ctrlAngle);
	DDX_Control(pDX, IDC_EDRADIATION, m_ctrlRadiationCone);
	DDX_Control(pDX, IDC_EDTIMESTEP, m_ctrlTimeStep);
	DDX_Control(pDX, IDC_EDMINDISTANCE, m_ctrlMinDistance);
	DDX_Control(pDX, IDC_EDMAXDISTANCE, m_ctrlMaxDistance);
	DDX_Control(pDX, IDC_EDGAUSSMEAN, m_ctrlMeanGauss);
	DDX_Control(pDX, IDC_EDGAUSSDEV, m_ctrlDevGauss);
	DDX_Control(pDX, IDC_EDSONARRATE, m_ctrlSonarRate);

	// Handle spin control
	DDX_Control(pDX, IDC_SPINDIAMETER, m_spinDiameter);
	DDX_Control(pDX, IDC_SPINSENSORNUM, m_spinSensorNum);
	DDX_Control(pDX, IDC_SPINANGLE, m_spinAngle);
	DDX_Control(pDX, IDC_SPINTIMESTEP, m_spinTimeStep);
	DDX_Control(pDX, IDC_SPINRADIATION, m_spinRadiationCone);
	DDX_Control(pDX, IDC_SPINMINDISTANCE, m_spinMinDistance);
	DDX_Control(pDX, IDC_SPINMAXDISTANCE, m_spinMaxDistance);
	DDX_Control(pDX, IDC_SPINSONARRATE, m_spinSonarRate);

	DDX_Control(pDX, IDC_SPINGAUSSMEAN, m_spinMeanGauss);
	DDX_Control(pDX, IDC_SPINGAUSSDEV, m_spinDevGauss);

	DDX_Control(pDX, IDC_CB_ROBOTINDEX, m_cbRobotIndex);

	DDX_Control(pDX, IDCOLORPICKER, m_clrRobot);

	COLORREF ThrowAwayColor;
	DDX_ColorButton(pDX, IDCOLORPICKER, ThrowAwayColor);

	//}}AFX_DATA_MAP
}
void COptionsMaterial::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	DDX_Control( pDX, IDC_LANGUAGES, m_Languages );
	DDX_Control(pDX, IDC_BAR_COLOR_BTN, m_btnClrBars);
	DDX_Control(pDX, IDC_PLATE_COLOR_BTN, m_btnClrPlate);
	DDX_Control(pDX, IDC_BORDER_COLOR_BTN, m_btnClrBorder);
	DDX_Control(pDX, IDC_BACKGROUND_COLOR_BTN, m_btnClrBackground);
	DDX_Control(pDX, IDC_NODE_COLOR_BTN, m_btnClrNodes);
	DDX_Control(pDX, IDC_SOLIDS_COLOR_BTN, m_btnClrSolids);
	DDX_Control(pDX, IDC_DUPES_COLOR_BTN, m_btnClrDupes);
	DDX_Control(pDX, IDC_X_COLOR_BTN, m_btnClrBoundX);
	DDX_Control(pDX, IDC_Y_COLOR_BTN, m_btnClrBoundY);
	DDX_Control(pDX, IDC_Z_COLOR_BTN, m_btnClrBoundZ);
	DDX_Control(pDX, IDC_UX_COLOR_BTN, m_btnClrBoundUX);
	DDX_Control(pDX, IDC_UY_COLOR_BTN, m_btnClrBoundUY);
	DDX_Control(pDX, IDC_UZ_COLOR_BTN, m_btnClrBoundUZ);
	DDX_Control(pDX, IDC_LINE_WIDTH_EDIT, m_edtLineWidth);
	DDX_Control(pDX, IDC_LINE_WIDTH_SPIN, m_btnLineWidthSpin);
	DDX_Control(pDX, IDC_NODE_SIZE_EDIT, m_edtNodeSize);
	DDX_Control(pDX, IDC_NODE_SIZE_SPIN, m_btnNodeSizeSpin);

	DDX_Control(pDX, IDC_WALL_COLOR_BTN, m_btnClrWall);
	DDX_Control(pDX, IDC_SLAB_COLOR_BTN, m_btnClrSlab);
	DDX_Control(pDX, IDC_COLUMN_COLOR_BTN, m_btnClrColumn);
	DDX_Control(pDX, IDC_BEAM_COLOR_BTN, m_btnClrBeam);
	DDX_Control(pDX, IDC_ROOF_COLOR_BTN, m_btnClrRoof);

	if( pDX->m_bSaveAndValidate )
	{
		DDX_ColorButton(pDX, IDC_BAR_COLOR_BTN,			m_ViewOptions.BarColor);
		DDX_ColorButton(pDX, IDC_PLATE_COLOR_BTN,		m_ViewOptions.PlateColor);
		DDX_ColorButton(pDX, IDC_BORDER_COLOR_BTN,		m_ViewOptions.EdgeColor);
		DDX_ColorButton(pDX, IDC_BACKGROUND_COLOR_BTN,	m_ViewOptions.BackgroundColor);
		DDX_ColorButton(pDX, IDC_NODE_COLOR_BTN,		m_ViewOptions.NodeColor);
		DDX_ColorButton(pDX, IDC_SOLIDS_COLOR_BTN,		m_ViewOptions.SolidColor);
		DDX_ColorButton(pDX, IDC_DUPES_COLOR_BTN,		m_ViewOptions.DupeColor);
		DDX_ColorButton(pDX, IDC_X_COLOR_BTN,			m_ViewOptions.BoundsColor[0]);
		DDX_ColorButton(pDX, IDC_Y_COLOR_BTN,			m_ViewOptions.BoundsColor[1]);
		DDX_ColorButton(pDX, IDC_Z_COLOR_BTN,			m_ViewOptions.BoundsColor[2]);
		DDX_ColorButton(pDX, IDC_UX_COLOR_BTN,			m_ViewOptions.BoundsColor[3]);
		DDX_ColorButton(pDX, IDC_UY_COLOR_BTN,			m_ViewOptions.BoundsColor[4]);
		DDX_ColorButton(pDX, IDC_UZ_COLOR_BTN,			m_ViewOptions.BoundsColor[5]);

		DDX_ColorButton(pDX, IDC_WALL_COLOR_BTN,		m_ViewOptions.WallColor);
		DDX_ColorButton(pDX, IDC_SLAB_COLOR_BTN,		m_ViewOptions.SlabColor);
		DDX_ColorButton(pDX, IDC_COLUMN_COLOR_BTN,		m_ViewOptions.ColumnColor);
		DDX_ColorButton(pDX, IDC_BEAM_COLOR_BTN,		m_ViewOptions.BeamColor);
		DDX_ColorButton(pDX, IDC_ROOF_COLOR_BTN,		m_ViewOptions.RoofColor);

		m_ViewOptions.NodeSize	  = m_btnNodeSizeSpin.GetPos();
		m_ViewOptions.LineWidth   = m_btnLineWidthSpin.GetPos();

		m_ViewOptions.OGL10		  = m_btnCheckOGL10.GetCheck() !=0 ;
		m_ViewOptions.SoftOGL	  = m_btnCheckHardwAccel.GetCheck() ==0 ;
		m_ViewOptions.bLineSmooth = m_btnCheckLineSmooth.GetCheck() !=0 ;
		m_ViewOptions.bRemoveDupPlanes = m_btnCheckRemoveDupPlanes.GetCheck() !=0;
		m_ViewOptions.bDrawOptimize = m_btnCheckDrawOptimize.GetCheck() != 0;
		m_ViewOptions.bShowUsedNodes = m_btnShowUsedNodes.GetCheck() != 0;
		m_ViewOptions.bQualityTransp = m_btnQualityTransp.GetCheck() != 0;
		if( m_Languages.GetCurSel() >= 0 )
			m_nLangID = int(m_Languages.GetItemData( m_Languages.GetCurSel() ));

	}
	DDX_Control(pDX, IDC_CHECK_OGL10, m_btnCheckOGL10);
	DDX_Control(pDX, IDC_CHECK_HARDWARE_ACC, m_btnCheckHardwAccel);
	DDX_Control(pDX, IDC_CHECK_LINE_SMOOTH, m_btnCheckLineSmooth);
	DDX_Control(pDX, IDC_CHECK_DELETE_INNER_PLATES, m_btnCheckRemoveDupPlanes);
	DDX_Control(pDX, IDC_CHECK_DRAW_OPTIMIZE, m_btnCheckDrawOptimize);
	DDX_Control(pDX, IDC_CHECK_SHOW_USED_NODES, m_btnShowUsedNodes);
	DDX_Control(pDX, IDC_CHECK_QUALITY_TRANSP, m_btnQualityTransp);

}