#pragma once #include "PartSTDData.h" #include "PartSizeFile.h" #include "TriTempFile.h" namespace OTSMODEL { // report project file mark const int REPORT_PROJRCT_FILE_MARK = 'R' + 'E' + 'P' + 'O' + 'R' + 'T' + 'P' + 'R' + 'O' + 'J' + 'E' + 'C' + 'T'; // report project file version const CString REPORT_PROJRCT_FILE_VERSION = _T("1.1.1"); // report project file file extension const CString REPORT_PROJRCT_FILE_EXT = _T(".rpt"); const CString REPORT_PROJRCT_FILE_FILTER = _T("Report Project Files (*.rpt)|*.rpt||"); class __declspec(dllexport) CReportProjFile : public xmls::ISlo { public: // constructor CReportProjFile(); // constructor CReportProjFile(const CReportProjFile&); // copy constructor CReportProjFile(CReportProjFile*); // copy constructor CReportProjFile& operator=(const CReportProjFile&); // =operator BOOL operator==(const CReportProjFile&); // ==operator virtual ~CReportProjFile(); // destructor // serialization void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // version string CString GetFileVersion() { return m_strVersion; } // version string void SetFileVersion(CString csFileVer) { m_strVersion = csFileVer; } // particle STD data CPartSTDDataPtr GetPartSTDData() { return m_pPartSTDData; } void SetPartSTDData(CPartSTDDataPtr a_pPartSTDData); // triangle template file CTriTempFilePtr GetTriTemp() { return m_pTriTemp; } void SetTriTemp(CTriTempFilePtr a_pTriTemp); // scale factor double GetScale() { return m_dScale; } void SetScale(double a_dScale) { m_dScale = a_dScale; } // sample measure result file pathname strings std::vector GetSmplMsrResultFilePathNames() { return m_listSmplMsrResultFilePathNames; } void SetSmplMsrResultFilePathNames(std::vector a_listSmplMsrResultFilePathNames); protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CReportProjFile& a_oSource); // version string CString m_strVersion; // particle STD data CPartSTDDataPtr m_pPartSTDData; //// particle size level file folder //CString m_strSizeFileFolder; //// particle size file //CPartSizeFilePtr m_pPartSize; // triangle template file CTriTempFilePtr m_pTriTemp; // scale factor double m_dScale; // sample measure result file pathname strings std::vector m_listSmplMsrResultFilePathNames; }; typedef std::shared_ptr __declspec(dllexport) CReportProjFilePtr; }