#pragma once #include "XMLSerialization.h" namespace OTSMODEL { using namespace OTSDATA; // report param file mark const int RPT_PARAM_FILE_MARK = 'R' + 'P' + 'T' + 'P' + 'A' + 'R' + 'A' + 'M'; // report param file version const CString RPT_PARAM_FILE_VERSION = _T("1.1.1"); // report param file extension const CString RPT_PARAM_FILE_EXT = _T(".rpf"); const CString RPT_PARAM_FILE_FILTER = _T("Report param Files (*.rpf)|*.rpf||"); class __declspec(dllexport) CRptParamFile : public xmls::ISlo { public: CRptParamFile(); // constructor CRptParamFile(const CRptParamFile&); // copy constructor CRptParamFile(CRptParamFile*); // copy constructor CRptParamFile& operator=(const CRptParamFile&); // =operator BOOL operator==(const CRptParamFile&); // ==operator virtual ~CRptParamFile(); // destructor // serialization void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // file version CString GetVersion() { return m_strVersion; } void SetVersion(CString a_strVersion) { m_strVersion = a_strVersion; } // particle size level file folder CString GetSizeFileFolder() { return m_strSizeFileFolder; } void SetSizeFileFolder(CString a_strSizeFileFolder) { m_strSizeFileFolder = a_strSizeFileFolder; } // triangulation template file folder CString GetTrigTempFileFolder() { return m_strTrigTempFileFolder; } void SetTrigTempFileFolder(CString a_strTrigTempFileFolder) { m_strTrigTempFileFolder = a_strTrigTempFileFolder; } // report template file folder CString GetRptTempFileFolder() { return m_strRptTempFileFolder; } void SetRptTempFileFolder(CString a_strRptTempFileFolder) { m_strRptTempFileFolder = a_strRptTempFileFolder; } // report template file path CString GetRptTempFilePath() { return m_strRptTempFilePath; } void SetRptTempFilePath(CString a_strRptTempFilePath) { m_strRptTempFilePath = a_strRptTempFilePath; } // particle STD analysis file folder CString GetSTDFileFolder() { return m_strSTDFileFolder; } void SetSTDFileFolder(CString a_strSTDFileFolder) { m_strSTDFileFolder = a_strSTDFileFolder; } // scaling factor double GetScale() { return m_dScale; } void SetScal(double a_dScale) { m_dScale = a_dScale; } //show elements col name CString GetElementsColName() { return m_strElementsColName; } void SetElementsColName(CString a_strElementsColName) {m_strElementsColName = a_strElementsColName;} //default computed column name CString GetDefaultComputedColName() { return m_strDefaultComputedColName; } void SetDefaultComputedColName(CString a_strDefaultComputedColName) { m_strDefaultComputedColName = a_strDefaultComputedColName; } protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CRptParamFile& a_oSource); // file version CString m_strVersion; // particle size level file folder CString m_strSizeFileFolder; // triangulation template file folder CString m_strTrigTempFileFolder; // report template file folder CString m_strRptTempFileFolder; // report template file CString m_strRptTempFilePath; // particle STD analysis file folder CString m_strSTDFileFolder; // scaling factor double m_dScale; // show element list list CString m_strElementsColName; //default computed column name CString m_strDefaultComputedColName; }; typedef std::shared_ptr __declspec(dllexport) CRptParamFilePtr; }