#pragma once #include "domain.h" namespace OTSDATA { const int __declspec(dllexport) HOLE_ITEM_NUMBER = 6; class __declspec(dllexport) CHole : public CDomain { /*protected: DECLARE_SERIAL(CHole)*/ public: CHole(); // constructor CHole(CString a_strName, DOMAIN_SHAPE a_nShape, CRect a_rectRegion); // constructor CHole(const CHole&); // copy constructor CHole(CHole*); // copy constructor CHole& operator=(const CHole&); // =operator BOOL operator==(const CHole&); // ==operator virtual ~CHole(); // destructor // serialization //void Serialize(CArchive& ar); virtual void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // hole name CString GetName() { return m_strName; } void SetName(CString a_strName) { m_strName = a_strName; } //void Deserialize(Slo * classItem, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CHole& a_oSource); private: // hole name CString m_strName; }; typedef std::shared_ptr __declspec(dllexport) CHolePtr; typedef std::vector __declspec(dllexport) CHolesList; }