| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 | #pragma once#include "SEMStageData.h"#include "Stage.h"#include "SEMStageData.h"#include "OTSSample.h"#include "OTSFieldData.h"#include "SEMDataGnr.h"namespace OTSMODEL {	using namespace OTSDATA;	// sample measure result file mark	const int SMPL_MSR_RESULT_FILE_MARK = 'S' + 'M' + 'P' + 'L' + 'M' + 'S' + 'R' + 'R' + 'E' + 'S' + 'U' + 'L' + 'T';	// sample measure result file version	const CString SMPL_MSR_RESULT_FILE_VERSION = _T("1.1.1");	// sample measure result file extension	const CString SMPL_MSR_RESULT_FILE_EXT = _T(".rst");	const CString SMPL_MSR_RESULT_FILE_FILTER = _T("Sample Measure Result Files (*.rst)|*.rst||");	// fields file sub-directory string	const CString SMPL_MSR_RESULT_FIELDS_FILE_SUBFOLDER = _T("FIELD_FILES");	// BSE file name	const CString SMPL_MSR_RESULT_FIELDS_BSE = _T("Field");	// search x-ray file name	const CString SMPL_MSR_RESULT_SEARCH_X_RAY_FILE = _T("SearchXray.db");	// analysis x-ray file name	const CString SMPL_MSR_RESULT_ANALYSIS_X_RAY_FILE = _T("Inclusion.db");	// Inclusion file name	const CString SMPL_MSR_RESULT_INCLUSION_FILE = _T("Inclusion.db");	class __declspec(dllexport) CSmplMsrResultFile :public xmls::ISlo	{	public:		// constructor		CSmplMsrResultFile();												// constructor		CSmplMsrResultFile(const CSmplMsrResultFile&);						// copy constructor		CSmplMsrResultFile(CSmplMsrResultFile*);							// copy constructor		CSmplMsrResultFile& operator=(const CSmplMsrResultFile&);			// =operator		BOOL operator==(const CSmplMsrResultFile&);							// ==operator		virtual ~CSmplMsrResultFile();										// destructor									// serialization		void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);		// file version string		CString GetFileVersion() { return m_strFileVersion; }		void SetFileVersion(CString a_strFileVersion) { m_strFileVersion = a_strFileVersion; }		// SEM sample stage		CSEMStageDataPtr GetSEMStageData() { return m_pSEMStageData; }		void SetSEMStageData(CSEMStageDataPtr a_pSEMStageData);		// sample stage		CStagePtr GetStage() { return m_pStage; }		void SetStage(CStagePtr a_pStage);		// SEM condition		CSEMDataGnrPtr GetSEMStage() { return m_pSEMData; }		void SetSEMStage(CSEMDataGnrPtr a_pSEMData);		// sample setting		COTSSamplePtr GetSample() { return m_pSample; }		void SetSample(COTSSamplePtr a_pSample);		// switch		bool GetSwitch() { return m_bSwitch; }		void SetSwitch(bool a_bSwitch) { m_bSwitch = a_bSwitch; }		// fields		COTSFieldDataList& GetFieldData() { return m_listFieldData; }		void SetFieldData(COTSFieldDataList& a_listFieldData);		COTSParticleList GetAllParticles();		bool GetSTDMapedParticleList(std::map<std::string, COTSParticleList>* mapSameSTDPartList);	protected:		// cleanup		void Cleanup();		// initialization		void Init();		// duplication 		void Duplicate(const CSmplMsrResultFile& a_oSource);		// file version string		CString m_strFileVersion;		// SEM sample stage		CSEMStageDataPtr m_pSEMStageData;		// sample stage		CStagePtr m_pStage;			CSEMDataGnrPtr m_pSEMData;		// sample setting		COTSSamplePtr m_pSample;		// switch		BOOL m_bSwitch;		// fields		COTSFieldDataList m_listFieldData;	};	typedef std::shared_ptr<CSmplMsrResultFile> __declspec(dllexport) CSmplMsrResultFilePtr;	typedef std::vector<CSmplMsrResultFilePtr> __declspec(dllexport) CSmplMsrResultFileList;}
 |