123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #pragma once
- #include "Hole.h"
- namespace OTSDATA {
- class __declspec(dllexport) CStage :public xmls::ISlo
- {
-
- public:
- CStage(); // constructor
- CStage(const CStage&); // copy constructor
- CStage(CStage*); // copy constructor
- CStage& operator=(const CStage&); // =operator
- BOOL operator==(const CStage&); // ==operator
- virtual ~CStage(); // destructor
- // serialization
- void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);
- // stage name
- CString GetName() { return m_strName; }
- void SetName(CString a_strName) { m_strName = a_strName; }
- // boundary
- CDomainPtr GetBoundary() { return m_poBourary; }
- void SetBoundary(CDomainPtr a_poBourary);
- // std
- CDomainPtr GetSTD() { return m_poSTD; }
- void SetSTD(CDomainPtr a_poSTD);
- // sample holes list
- CHolesList& GetHoleList() { return m_listHoles; }
- void SetHoleList(CHolesList& a_plistHoles, BOOL a_bClear = TRUE);
- CHolePtr GetHoleByIndex(int a_nIndex);
- CHolePtr GetHoleByName(CString a_strHoleName);
-
- protected:
- // cleanup
- void Cleanup();
- // initialization
- void Init();
- // duplication
- void Duplicate(const CStage& a_oSource);
- // stage name
- CString m_strName;
- // boundary
- CDomainPtr m_poBourary;
- // std
- CDomainPtr m_poSTD;
- // sample holes list
- CHolesList m_listHoles;
- };
- typedef std::shared_ptr<CStage> CStagePtr;
- typedef std::vector<CStagePtr> CStagesList;
- }
|