123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- #include "stdafx.h"
- #include "OTSImageScanParam.h"
- #include <XMLSerialization.h>
- namespace OTSIMGPROC
- {
- // 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_nImageResolution == a_oSource.m_nImageResolution));
-
- }
- // detractor
- COTSImageScanParam::~COTSImageScanParam()
- {
- Cleanup();
- }
- // COTSStageData member functions
- // serialization
- void COTSImageScanParam::Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode)
- {
- xmls::xString xnStopMode;
- xmls::xInt xnStopParamMeasTime;
- xmls::xInt xnStopParamFields;
- xmls::xInt xnStopParamParticles;
- xmls::xString xnSatrtImageMode;
- xmls::xString xnScanImageSpeed;
- xmls::xString xnImageResolution;
- 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("ImageResolution", &xnImageResolution);
-
- if (isStoring)
- {
- /*xnStopMode = std::to_string((int)m_nStopMode);
- xnStopParamMeasTime = m_nStopParamMeasTime;
- xnStopParamFields = m_nStopParamFields;
- xnStopParamParticles = m_nStopParamParticles;
- xnSatrtImageMode = (int)m_nSatrtImageMode;
- xnScanImageSpeed = (int)m_nScanImageSpeed;
- xnImagePixelSize = (int)m_nImagePixelSize;
-
- slo.Serialize(true, classDoc, rootNode);*/
- }
- else
- {
- slo.Serialize(false, classDoc, rootNode);
- m_nStopMode = (OTS_MEASURE_STOP_MODE)stoi(xmls::SplitString(xnStopMode.value(),":")[0]);
- m_nStopParamMeasTime = xnStopParamMeasTime.value();
- m_nStopParamFields = xnStopParamFields.value();
- m_nSatrtImageMode = (OTS_GET_IMAGE_MODE)stoi(xmls::SplitString(xnSatrtImageMode.value(),":")[0]);
- m_nScanImageSpeed = (OTS_THREE_TIES_OPTIONS)stoi(xmls::SplitString(xnScanImageSpeed.value(),":")[0]);
- m_nImageResolution = (OTS_ImageResolution_OPTIONS)stoi(xmls::SplitString(xnImageResolution.value(), ":")[0]);
- std::string reso = xmls::SplitString(xnImageResolution.value(), ":")[1];
- m_ImageResolutionWidth = stoi(xmls::SplitString(reso, "_")[1]);
- m_ImageResolutionHeight = stoi(xmls::SplitString(reso, "_")[2]);
- }
- }
- // 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_nImageResolution = DEFAULE_IMAGE_SIZE;
-
-
- }
- // 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_nImageResolution = a_oSource.m_nImageResolution;
- m_nScanImageSpeed = a_oSource.m_nScanImageSpeed;
-
- }
- }
|