ReportProjFile.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #pragma once
  2. #include "PartSTDData.h"
  3. #include "PartSizeFile.h"
  4. #include "TriTempFile.h"
  5. namespace OTSMODEL {
  6. // report project file mark
  7. const int REPORT_PROJRCT_FILE_MARK = 'R' + 'E' + 'P' + 'O' + 'R' + 'T' + 'P' + 'R' + 'O' + 'J' + 'E' + 'C' + 'T';
  8. // report project file version
  9. const CString REPORT_PROJRCT_FILE_VERSION = _T("1.1.1");
  10. // report project file file extension
  11. const CString REPORT_PROJRCT_FILE_EXT = _T(".rpt");
  12. const CString REPORT_PROJRCT_FILE_FILTER = _T("Report Project Files (*.rpt)|*.rpt||");
  13. class __declspec(dllexport) CReportProjFile : public xmls::ISlo
  14. {
  15. public:
  16. // constructor
  17. CReportProjFile(); // constructor
  18. CReportProjFile(const CReportProjFile&); // copy constructor
  19. CReportProjFile(CReportProjFile*); // copy constructor
  20. CReportProjFile& operator=(const CReportProjFile&); // =operator
  21. BOOL operator==(const CReportProjFile&); // ==operator
  22. virtual ~CReportProjFile(); // destructor
  23. // serialization
  24. void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
  25. // version string
  26. CString GetFileVersion() { return m_strVersion; }
  27. // version string
  28. void SetFileVersion(CString csFileVer) { m_strVersion = csFileVer; }
  29. // particle STD data
  30. CPartSTDDataPtr GetPartSTDData() { return m_pPartSTDData; }
  31. void SetPartSTDData(CPartSTDDataPtr a_pPartSTDData);
  32. // triangle template file
  33. CTriTempFilePtr GetTriTemp() { return m_pTriTemp; }
  34. void SetTriTemp(CTriTempFilePtr a_pTriTemp);
  35. // scale factor
  36. double GetScale() { return m_dScale; }
  37. void SetScale(double a_dScale) { m_dScale = a_dScale; }
  38. // sample measure result file pathname strings
  39. std::vector<CString> GetSmplMsrResultFilePathNames() { return m_listSmplMsrResultFilePathNames; }
  40. void SetSmplMsrResultFilePathNames(std::vector<CString> a_listSmplMsrResultFilePathNames);
  41. protected:
  42. // cleanup
  43. void Cleanup();
  44. // initialization
  45. void Init();
  46. // duplication
  47. void Duplicate(const CReportProjFile& a_oSource);
  48. // version string
  49. CString m_strVersion;
  50. // particle STD data
  51. CPartSTDDataPtr m_pPartSTDData;
  52. //// particle size level file folder
  53. //CString m_strSizeFileFolder;
  54. //// particle size file
  55. //CPartSizeFilePtr m_pPartSize;
  56. // triangle template file
  57. CTriTempFilePtr m_pTriTemp;
  58. // scale factor
  59. double m_dScale;
  60. // sample measure result file pathname strings
  61. std::vector<CString> m_listSmplMsrResultFilePathNames;
  62. };
  63. typedef std::shared_ptr<CReportProjFile> __declspec(dllexport) CReportProjFilePtr;
  64. }