#include "stdafx.h" #include "OTSImageScanParam.h" namespace OTSMODEL { // constructor COTSImageScanParam::COTSImageScanParam() { Init(); } // copy constructor COTSImageScanParam::COTSImageScanParam(const COTSImageScanParam& a_oSource) { // can't copy itself if (&a_oSource == this) { return; } // copy data over Duplicate(a_oSource); } // copy constructor COTSImageScanParam::COTSImageScanParam(COTSImageScanParam* a_poSource) { // input check ASSERT(a_poSource); if (!a_poSource) { return; } // can't copy itself if (a_poSource == this) { return; } // copy data over Duplicate(*a_poSource); } // =operator COTSImageScanParam& COTSImageScanParam::operator=(const COTSImageScanParam& a_oSource) { // cleanup Cleanup(); // copy the class data over Duplicate(a_oSource); // return class return *this; } // ==operator BOOL COTSImageScanParam::operator==(const COTSImageScanParam& a_oSource) { // return test result return((m_nStopMode == a_oSource.m_nStopMode) && (m_nStopParamMeasTime == a_oSource.m_nStopParamMeasTime) && (m_nStopParamFields == a_oSource.m_nStopParamFields) && (m_nStopParamParticles == a_oSource.m_nStopParamParticles) && (m_nSatrtImageMode == a_oSource.m_nSatrtImageMode) && (m_nImagePixelSize == a_oSource.m_nImagePixelSize) && (m_bShowStopMode == a_oSource.m_bShowStopMode) && (m_bShowMeasTime == a_oSource.m_bShowMeasTime) && (m_bShowParamFields == a_oSource.m_bShowParamFields) && (m_bShowParticles == a_oSource.m_bShowParticles) && (m_bShowStartImageMode == a_oSource.m_bShowStartImageMode) && (m_bShowImageSpeed == a_oSource.m_bShowImageSpeed) && (m_bShowPixelSize == a_oSource.m_bShowPixelSize)); } // detractor COTSImageScanParam::~COTSImageScanParam() { Cleanup(); } // COTSStageData member functions // serialization void COTSImageScanParam::Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode) { xmls::xInt xnStopMode; xmls::xInt xnStopParamMeasTime; xmls::xInt xnStopParamFields; xmls::xInt xnStopParamParticles; xmls::xInt xnSatrtImageMode; xmls::xInt xnScanImageSpeed; xmls::xInt xnImagePixelSize; xmls::xBool xbShowStopMode; xmls::xBool xbShowMeasTime; xmls::xBool xbShowParamFields; xmls::xBool xbShowParticles; xmls::xBool xbShowStartImageMode; xmls::xBool xbShowImageSpeed; xmls::xBool xbShowPixelSize; xmls::Slo slo; slo.Register("StopMode", &xnStopMode); slo.Register("StopParamMeasTime", &xnStopParamMeasTime); slo.Register("StopParamFields", &xnStopParamFields); slo.Register("StopParamParticles", &xnStopParamParticles); slo.Register("SatrtImageMode", &xnSatrtImageMode); slo.Register("ScanImageSpeed", &xnScanImageSpeed); slo.Register("ImagePixelSize", &xnImagePixelSize); slo.Register("ShowStopMode", &xbShowStopMode); slo.Register("ShowMeasTime", &xbShowMeasTime); slo.Register("ShowParamFields", &xbShowParamFields); slo.Register("ShowParticles", &xbShowParticles); slo.Register("ShowStartImageMode", &xbShowStartImageMode); slo.Register("ShowImageSpeed", &xbShowImageSpeed); slo.Register("ShowPixelSize", &xbShowPixelSize); if (isStoring) { xnStopMode = (int)m_nStopMode; xnStopParamMeasTime = m_nStopParamMeasTime; xnStopParamFields = m_nStopParamFields; xnStopParamParticles = m_nStopParamParticles; xnSatrtImageMode = (int)m_nSatrtImageMode; xnScanImageSpeed = (int)m_nScanImageSpeed; xnImagePixelSize = (int)m_nImagePixelSize; xbShowStopMode = m_bShowStopMode; xbShowMeasTime = m_bShowMeasTime; xbShowParamFields = m_bShowParamFields; xbShowParticles = m_bShowParticles; xbShowStartImageMode = m_bShowStartImageMode; xbShowImageSpeed = m_bShowImageSpeed; xbShowPixelSize = m_bShowPixelSize; slo.Serialize(true, classDoc, rootNode); } else { slo.Serialize(false, classDoc, rootNode); m_nStopMode = (OTS_MEASURE_STOP_MODE)xnStopMode.value(); m_nStopParamMeasTime = xnStopParamMeasTime.value(); m_nStopParamFields = xnStopParamFields.value(); m_nSatrtImageMode = (OTS_GET_IMAGE_MODE)xnSatrtImageMode.value(); m_nScanImageSpeed = (OTS_THREE_TIES_OPTIONS)xnScanImageSpeed.value(); m_nImagePixelSize = (OTS_FIVE_TIES_OPTIONS)xnImagePixelSize.value(); m_bShowStopMode = xbShowStopMode.value(); m_bShowMeasTime = xbShowMeasTime.value(); m_bShowParamFields = xbShowParamFields.value(); m_bShowParticles = xbShowParticles.value(); m_bShowStartImageMode = xbShowStartImageMode.value(); m_bShowImageSpeed = xbShowImageSpeed.value(); m_bShowPixelSize = xbShowPixelSize.value(); } } // cleanup void COTSImageScanParam::Cleanup() { // nothing needs to be done at the moment } // initialization void COTSImageScanParam::Init() { m_nStopMode = DEFUALT_MEASURE_STOP_MODE; //测量终止方式 m_nStopParamMeasTime = DEFUALT_PARAM_TIME; //测量时间 m_nStopParamFields = DEFUALT_PARAM_FIELD; //帧图数 m_nStopParamParticles = DEFUALT_PARAM_PARTICLE; //夹杂物数 m_nSatrtImageMode = DEFAULT_IMAGEMODE; //取图方式 m_nScanImageSpeed = DEFAULE_SCAN_SPEED; m_nImagePixelSize = DEFAULE_IMAGE_SIZE; m_bShowStopMode = TRUE; m_bShowMeasTime = TRUE; m_bShowParamFields = TRUE; m_bShowParticles = TRUE; m_bShowStartImageMode = TRUE; m_bShowImageSpeed = TRUE; m_bShowPixelSize = TRUE; } // duplication void COTSImageScanParam::Duplicate(const COTSImageScanParam& a_oSource) { // initialization Init(); // copy data over m_nStopMode = a_oSource.m_nStopMode; m_nStopParamMeasTime = a_oSource.m_nStopParamMeasTime; m_nStopParamFields = a_oSource.m_nStopParamFields; m_nStopParamParticles = a_oSource.m_nStopParamParticles; m_nSatrtImageMode = a_oSource.m_nSatrtImageMode; m_nImagePixelSize = a_oSource.m_nImagePixelSize; m_nScanImageSpeed = a_oSource.m_nScanImageSpeed; m_bShowStopMode = a_oSource.m_bShowStopMode; m_bShowMeasTime = a_oSource.m_bShowMeasTime; m_bShowParamFields = a_oSource.m_bShowParamFields; m_bShowParticles = a_oSource.m_bShowParticles; m_bShowStartImageMode = a_oSource.m_bShowStartImageMode; m_bShowImageSpeed = a_oSource.m_bShowImageSpeed; m_bShowPixelSize = a_oSource.m_bShowPixelSize; } }